Difference between revisions of "CanServo/Protocol/UAVCAN/en"
Jump to navigation
Jump to search
Line 17: | Line 17: | ||
* Write Register | * Write Register | ||
** 0003F20xx AA BB CC DD cc | ** 0003F20xx AA BB CC DD cc | ||
xx = Host Node | *** xx = Host Node | ||
AA = Servo's Actuator ID (ID1) = 0 ~ 127 | *** AA = Servo's Actuator ID (ID1) = 0 ~ 127 | ||
BB = 0x6A (Address of Protocol Register) | *** BB = 0x6A (Address of Protocol Register) | ||
CC = 0(CAN 2.0A), 1(CAN 2.0B), 2(DroneCAN) | *** CC = 0(CAN 2.0A), 1(CAN 2.0B), 2(DroneCAN) | ||
DD = 0 | *** DD = 0 | ||
cc = tail byte of dronecan | *** cc = tail byte of dronecan | ||
ex) 0003F207 02 6A 01 00 Cd | *** ex) 0003F207 02 6A 01 00 Cd |
Revision as of 05:18, 28 March 2023
This is the protocol used when CanServo/MODE/CAN/en = UAVCAN.
- If CanServo/MODE/CAN/en = 2.0A, 2.0B, refer to CanServo/Protocol/Control/en.
Because the UAVCAN v0 protocol is very extensive, it only supports the following messages essential for servo control.
- Node Status
- GetNodeInfo
- Actuator.ArrayCommand
- Actuator.Status
When changing or reading the register value of the servo, it is used in a way that expands the shape of Actuator.ArrayCommand without damaging it.
Return Message is used by modifying the data part of Actuator.Status. This part does not conform to the UAVCAN standard.
- Write Register
- 0003F20xx AA BB CC DD cc
- xx = Host Node
- AA = Servo's Actuator ID (ID1) = 0 ~ 127
- BB = 0x6A (Address of Protocol Register)
- CC = 0(CAN 2.0A), 1(CAN 2.0B), 2(DroneCAN)
- DD = 0
- cc = tail byte of dronecan
- ex) 0003F207 02 6A 01 00 Cd
- 0003F20xx AA BB CC DD cc