Difference between revisions of "CanServo/Protocol/V1.1"
Jump to navigation
Jump to search
(→UID) |
|||
| (4 intermediate revisions by the same user not shown) | |||
| Line 18: | Line 18: | ||
** ZIDS, <UID : 16 byte>, <ID2 : 4 byte>, <ID1 : 1 byte>, <CAN Mode : 1 byte> | ** ZIDS, <UID : 16 byte>, <ID2 : 4 byte>, <ID1 : 1 byte>, <CAN Mode : 1 byte> | ||
** The servo with matching UID sets ID2, ID1, and CAN Mode depending on the length of the message. | ** The servo with matching UID sets ID2, ID1, and CAN Mode depending on the length of the message. | ||
** | |||
* This message is delivered using the MultiPacket method below. | * This message is delivered using the MultiPacket method below. | ||
=== | === UID 2 === | ||
* Message: Host -> Servo | * Message: Host -> Servo | ||
** ZGUu - Get UID | ** ZGUu - Get UID | ||
*** ID2 (4), ID1 (1) | *** ID2 (4), ID1 (1) | ||
* Servo -> Host | |||
** ZUID | |||
=== Write/Read Register's bits by ID or UID === | |||
* Message: Host -> Servo | |||
** ZSuu - Set Register by UID | ** ZSuu - Set Register by UID | ||
*** UID (16), ADDR (1), bit 0.5, bits (0.5), Value (2) | *** UID (16), ADDR (1), bit 0.5, bits (0.5), Value (2) | ||
| Line 33: | Line 40: | ||
** ZSid - Set Register by ID | ** ZSid - Set Register by ID | ||
*** ID2 (4), ID1 (1), ADDR (1), bit 0.5, bits (0.5), Value (2) | *** ID2 (4), ID1 (1), ADDR (1), bit 0.5, bits (0.5), Value (2) | ||
** ZXid - Set/Get Register by | ** ZXid - Set/Get Register by ID | ||
** ZGid - Get Register by ID | ** ZGid - Get Register by ID | ||
*** ID2 (4), ID1 (1), ADDR (1), bit 0.5, bits (0.5) | *** ID2 (4), ID1 (1), ADDR (1), bit 0.5, bits (0.5) | ||
| Line 49: | Line 56: | ||
=== Message === | === Message === | ||
* ZMSG | * ZMSG, id2: 4 byte, id1: 1 byte, level: 1 byte, msg | ||
=== History === | === History === | ||
Latest revision as of 02:05, 20 October 2025
CAN Protocol Ver 1.1
- This protocol needs FW Ver 1.12+
- CAN ID
- 0x7FF : Servo -> Host
- 0x7FE : Host -> Servo
UID
- Message : Servo -> Host
- ZUID, <UID : 16 byte>, <ID2 : 4 byte>, <ID1 : 1 byte>, <CAN Mode : 1 byte>
- This message is sent periodically by the servo if either servo setting ID1 or ID2 is 0.
- 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 : 1 byte>
- The servo with matching UID sets ID2, ID1, and CAN Mode depending on the length of the message.
- This message is delivered using the MultiPacket method below.
UID 2
- Message: Host -> Servo
- ZGUu - Get UID
- ID2 (4), ID1 (1)
- ZGUu - Get UID
- Servo -> Host
- ZUID
Write/Read Register's bits by ID or UID
- Message: Host -> Servo
- ZSuu - Set Register by UID
- UID (16), ADDR (1), bit 0.5, bits (0.5), Value (2)
- ZGuu - Get Register by UID
- UID (16), ADDR (1), bit 0.5, bits (0.5)
- ZXuu - Set/Get Register by UID
- ZSid - Set Register by ID
- ID2 (4), ID1 (1), ADDR (1), bit 0.5, bits (0.5), Value (2)
- ZXid - Set/Get Register by ID
- ZGid - Get Register by ID
- ID2 (4), ID1 (1), ADDR (1), bit 0.5, bits (0.5)
- ZSuu - Set Register by UID
- Mesasge: Servo -> Host
- ZRuu - return register by UID
- UID (16), ADDR (1), bit 0.5, bits (0.5), Value (2)
- ZRid - return register by ID
- ID2 (4), ID1 (1), ADDR (1), bit 0.5, bits (0.5), Value (2)
- ZRuu - return register by UID
File Access
- ZGFL
- ZSDF
- ZFWU
Message
- ZMSG, id2: 4 byte, id1: 1 byte, level: 1 byte, msg
History
2025_06_19
- Replace message by bug in ZRUU, ZRID
- ZSUU -> ZSuu
- ZXUU -> ZXuu
- ZGUU -> ZGuu
- ZRUU -> ZRuu
- ZSID -> ZSid
- ZXID -> ZXid
- ZGID -> ZGid
- ZRID -> ZRid