UAVCAN: Difference between revisions
No edit summary |
|||
Line 4: | Line 4: | ||
<div class="toclimit-2">__TOC__</div> | <div class="toclimit-2">__TOC__</div> | ||
== Configuration == | |||
The Uavcan related parameters are split into the "normal" and the "Uavcan" parameter sections. The parameters in the normal section are accessible like any other parameter, e.g. via the GUI. The parameters in the Uavcan section are however accessible only by using Uavcan's mechanism for [http://uavcan.org/Specification/6._Application_level_functions/#node-configuration Node configuration]. The two sections are exclusive, that is, a parameter is found in one or the other section, but not in both. The single exception is the {{PARAMNAME|Uavcan Node ID}} parameter, which can be configured by both mechanisms. | |||
=== GUI Parameters === | |||
The parameters in the normal section are found in the {{GUI|Interfaces Tool}} window, which is accessible via the {{GUI|Tools}} menu. | |||
{{PARAMNAME|Uavcan Configuration}}: <br> Set to {{PARAMVALUE|normal}} to activate the Uavcan communication. The STorM32 boards needs to be reset for a change to become active. | |||
{{PARAMNAME|Uavcan Node ID}}: <br> Sets the node ID of the STorM32 controller (default = 71). | |||
=== Uavcan Parameters === | |||
The parameters in the Uavcan section can be accessed e.g. using the [http://uavcan.org/GUI_Tool/Overview/ UAVCAN GUI Tool], and a SLCAN adapter. A uc4h SLCAN adapter provides probably the cheapest solution. | |||
{{PARAMNAME|NodeId}}: <br> Sets the node ID of the STorM32 controller (default = 71). | |||
{{PARAMNAME|NodeStatus Rate}}: <br> Sets the rate with which the [http://uavcan.org/Specification/7._List_of_standard_data_types/#nodestatus uavcan.protocol.NodeStatus] message is emitted (default = 1000). | |||
{{PARAMNAME|GimbalStatus Rate}}: <br> Sets the rate with which the storm32.GimbalStatus message is emitted (default = 500). | |||
== Uavcan Messages == | == Uavcan Messages == | ||
The STorM32 controller supports the basic Uavcan [http://uavcan.org/Specification/7._List_of_standard_data_types/ standard data types], as well as some STorM32 specific data types. | |||
{{COMMENT|It is not claimed that the STorM32 specific data types are the last conclusion of wisdom; they are open for discussion. They may however suggest a skeleton for standard definitions.}} | |||
=== Standard Data Types === | |||
==== NodeStatus (BC 341) ==== | ==== NodeStatus (BC 341) ==== | ||
Line 28: | Line 54: | ||
See [http://uavcan.org/Specification/7._List_of_standard_data_types/#getset uavcan.protocol.param.GetSet]. | See [http://uavcan.org/Specification/7._List_of_standard_data_types/#getset uavcan.protocol.param.GetSet]. | ||
=== STorM32 Data Types === | |||
==== GimbalStatus (BC 8300) ==== | ==== GimbalStatus (BC 8300) ==== | ||
# Gimbal Attitude, angles in radians +-pi, in gimbal frame. | |||
float32 pitch | |||
float32 roll | |||
float32 yaw | |||
==== GimbalControl (BC 8301) ==== | ==== GimbalControl (BC 8301) ==== | ||
# Gimbal Attitude, angles in radians +-pi, in gimbal frame. | |||
float32 pitch | |||
float32 roll | |||
float32 yaw | |||
==== GimbalNodeSpecific (BC 8302) ==== | ==== GimbalNodeSpecific (BC 8302) ==== | ||
# Node Specific | |||
uint8[<=64] payload | |||
==== GimbalNodeSpecificAck (BC 8303) ==== | ==== GimbalNodeSpecificAck (BC 8303) ==== | ||
# Node Specific Ack | |||
uint8 initiator_node_id | |||
uint8[<=64] payload | |||
Revision as of 08:13, 29 July 2017
The information on this page refers to firmware v2.30 and higher.
The STorM32 gimbal controller supports UAVCAN. This allows communicating with the STorM32 board via a CAN bus, very similar to the communication through the serial interfaces or Wifi.
Configuration
The Uavcan related parameters are split into the "normal" and the "Uavcan" parameter sections. The parameters in the normal section are accessible like any other parameter, e.g. via the GUI. The parameters in the Uavcan section are however accessible only by using Uavcan's mechanism for Node configuration. The two sections are exclusive, that is, a parameter is found in one or the other section, but not in both. The single exception is the Uavcan Node ID parameter, which can be configured by both mechanisms.
GUI Parameters
The parameters in the normal section are found in the [GUI:Interfaces Tool] window, which is accessible via the [GUI:Tools] menu.
Uavcan Configuration:
Set to “normal” to activate the Uavcan communication. The STorM32 boards needs to be reset for a change to become active.
Uavcan Node ID:
Sets the node ID of the STorM32 controller (default = 71).
Uavcan Parameters
The parameters in the Uavcan section can be accessed e.g. using the UAVCAN GUI Tool, and a SLCAN adapter. A uc4h SLCAN adapter provides probably the cheapest solution.
NodeId:
Sets the node ID of the STorM32 controller (default = 71).
NodeStatus Rate:
Sets the rate with which the uavcan.protocol.NodeStatus message is emitted (default = 1000).
GimbalStatus Rate:
Sets the rate with which the storm32.GimbalStatus message is emitted (default = 500).
Uavcan Messages
The STorM32 controller supports the basic Uavcan standard data types, as well as some STorM32 specific data types.
Comment: It is not claimed that the STorM32 specific data types are the last conclusion of wisdom; they are open for discussion. They may however suggest a skeleton for standard definitions.
Standard Data Types
NodeStatus (BC 341)
See uavcan.protocol.NodeStatus.
GetNodeInfo (SR 1)
See uavcan.protocol.GetNodeInfo.
RestartNode (SR 5)
See uavcan.protocol.RestartNode.
Param.ExecuteOpCode (SR 10)
See uavcan.protocol.param.ExecuteOpcode.
Param.GetSet (SR 11)
See uavcan.protocol.param.GetSet.
STorM32 Data Types
GimbalStatus (BC 8300)
# Gimbal Attitude, angles in radians +-pi, in gimbal frame. float32 pitch float32 roll float32 yaw
GimbalControl (BC 8301)
# Gimbal Attitude, angles in radians +-pi, in gimbal frame. float32 pitch float32 roll float32 yaw
GimbalNodeSpecific (BC 8302)
# Node Specific uint8[<=64] payload
GimbalNodeSpecificAck (BC 8303)
# Node Specific Ack uint8 initiator_node_id uint8[<=64] payload