Difference between revisions of "CanServo/Protocol/V1.1"
Jump to navigation
Jump to search
Line 31: | Line 31: | ||
*** bit 5 = Toggle, first packet = 1, toggle bit on each packet | *** bit 5 = Toggle, first packet = 1, toggle bit on each packet | ||
*** bit 4:0 = Seq, 0 ~ 31, inc 1 on each message | *** bit 4:0 = Seq, 0 ~ 31, inc 1 on each message | ||
* Reference: | |||
** [[Code/CRC16]] |
Revision as of 01:39, 10 February 2023
Under construction
CAN Protocol Ver 1.1
- This protocol needs FW Ver 1.12+
- Through this message, you can control the servo based on the UID of the servo.
- Even if the ID1 and ID2 of the servo are 0, the register value of the servo can be changed.
- CAN ID
- 0x7FF : Servo -> Host
- 0x7FE : Host -> Servo
- Message : Servo -> Host
- ZUID, <UID : 16 byte>, <ID2 : 4 byte>, <ID1 : 1 byte>, <CAN Mode>
- Message: Host -> Servo
- ZIDS, <UID : 16 byte>, <ID2 : 4 byte>
- ZIDS, <UID : 16 byte>, <ID2 : 4 byte>, <ID1 : 1 byte>
- ZIDS, <UID : 16 byte>, <ID2 : 4 byte>, <ID1 : 1 byte>, <CAN Mode>
- Since this message is over 8 bytes in length, it is divided into multiple packets and delivered.
- Since the maximum data length of a CAN 2.0 packet is 8 bytes, 7 bytes are cut from the entire message and sent, and information such as order is delivered as the last byte.
- To verify Message delivery error, a 2-byte value calculated by CRC16 is added, and 7 bytes are cut and sent.
- Multi Packet Format
- < Data : max 7 byte, cut from 'Message + CRC16' >, <Check Byte>
- Check Byte
- bit 7 = 1, if first packet
- bit 6 = 1, if last packet
- bit 5 = Toggle, first packet = 1, toggle bit on each packet
- bit 4:0 = Seq, 0 ~ 31, inc 1 on each message
- Reference: