# 3. Cyphal interface
This page is about Cyphal related details such as interface, supported features, registers, configuration and usage examples and software versions. For general information please refer to the 1. General page, for hardware related details including wiring examples please refer to the 2. Hardware page.
# 3.1. Cyphal interface
This node interacts with the following data types:
Common for any node
№ | Type | Message |
---|---|---|
1 | pub | uavcan.node.Heartbeat (opens new window) |
2 | RPC-service | uavcan.node.GetInfo.Response (opens new window) |
3 | RPC-service | uavcan.node.ExecuteCommand (opens new window) |
4 | RPC-service | uavcan.register.List (opens new window) |
5 | RPC-service | uavcan.register.Access (opens new window) |
6 | pub (since hardware v3) | uavcan.node.port.List (opens new window) |
Here ExecuteCommand
supports COMMAND_RESTART=65535
, COMMAND_FACTORY_RESET=65532
and COMMAND_STORE_PERSISTENT_STATES=65530
.
Circuit status service
Like any other RaccoonLab node, this node also supports the Circuit status service
. It uses the following subjects:
№ | Type | Message | Topic name |
---|---|---|---|
1 | pub | uavcan.si.sample.voltage.Scalar.1.0 | crct.5v |
2 | pub | uavcan.si.sample.voltage.Scalar.1.0 | crct.vin |
3 | pub | uavcan.si.sample.temperature.Scalar.1.0 | crct.temp |
Airspeed service
It uses the following subjects:
№ | Type | Message | Topic name |
---|---|---|---|
1 | publisher | uavcan.si.sample.velocity.Scalar.1.0 (opens new window) | aspd.speed (not supported yet) |
2 | publisher | uavcan.si.sample.pressure.Scalar.1.0 (opens new window) | aspd.press |
3 | publisher | uavcan.si.sample.temperature.Scalar.1.0 (opens new window) | aspd.temp |
# 3.2. Cyphal Registers
№ | Register name | Note | Description |
---|---|---|---|
0 | id | reboot required | Node ID |
1 | uavcan.pub.press.id | Port identifier | |
2 | uavcan.pub.press.type | immutable | uavcan.si.sample.pressure.Scalar.1.0 |
3 | uavcan.pub.speed.id | Port identifier | |
4 | uavcan.pub.speed.type | immutable | uavcan.si.sample.velocity.Scalar.1.0 |
5 | uavcan.pub.temp.id | Port identifier | |
6 | uavcan.pub.temp.type | immutable | uavcan.si.sample.temperature.Scalar.1.0 |
7 | uavcan.pub.crct.5v.id | Port identifier | |
8 | uavcan.pub.crct.5v.type | immutable | uavcan.si.sample.voltage.Scalar.1.0 |
9 | uavcan.pub.crct.vin.id | Port identifier | |
10 | uavcan.pub.crct.vin.type | immutable | uavcan.si.sample.voltage.Scalar.1.0 |
11 | uavcan.pub.crct.temp.id | Port identifier | |
12 | uavcan.pub.crct.temp.type | immutable | uavcan.si.sample.temperature.Scalar.1.0 |
13 | name | reboot required | Node custom name |
You can get the list of registers, read and write them using Yakut (opens new window) cli or Yukon (opens new window) gui.
# 3.3. Getting started (bench test)
Before using in the real application, it is necessary to configure the device. Yakut (opens new window) cli and Yukon (opens new window) are recommended.
The simplest connection scheme just for bench testing and configuration is shown below.
1. Configure the environment
Typically you need to:
- Configure all required environment variables
- Compile DSDL based on public regulated data types
- Create SLCAN based on CAN sniffer
Please refer to the Yakut
and Yukon
documentations to understand how to do it.
2. Monitor the node
Let's say, you have a correctly connected Cyphal node to a CAN sniffer.
The node state might be visualized using Yakut
. Run y mon
to see the node. The possible command output is:
Alternatively, you can use Yukon
. An example of the Monitor window is shown below:
3. Ports configuration
Must have ports to be configured are:
- aspd.press,
- aspd.temp.
According to the specification (opens new window) the port IDs should be in the range [0, 6143].
After you assign port IDs, save the parameters and reboot the node, you will see the following:
4. Check the result
You can subscribe to the sensor:
# 3.4. Ardupilot integration
not supported yet
# 3.5. PX4 integration
not supported yet
# 3.6. Software versions
Version | Date | SHA | Link |
---|---|---|---|
v1.4.0 | Jun 19, 2023 | 52df65ce | link (opens new window) |
v1.2 | Feb 23, 2023 | b4e042b | link (opens new window) |
v1.0.2 | Oct 23, 2022 | 53abc8b | link (opens new window) |