Difference between revisions of "CanServo/Protocol/UAVCAN/en"

From HITEC_HELP
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.


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