Difference between revisions of "CanServo/Protocol/V1.1"
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
 (→UID)  | 
				|||
| (11 intermediate revisions by the same user not shown) | |||
| Line 2: | Line 2: | ||
* This protocol needs FW Ver 1.12+  | * This protocol needs FW Ver 1.12+  | ||
* CAN ID  | * CAN ID  | ||
| Line 20: | 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  | |||
*** UID (16), ADDR (1), bit 0.5, bits (0.5), Value (2)  | *** 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)  | *** 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)  | *** 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)  | *** ID2 (4), ID1 (1), ADDR (1), bit 0.5, bits (0.5)  | ||
* Mesasge: Servo -> Host  | * Mesasge: Servo -> Host  | ||
**   | ** ZRuu - return 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)  | ||
**   | ** ZRid - return 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)  | ||
| Line 49: | Line 56: | ||
=== Message ===  | === Message ===  | ||
* ZMSG  | * 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  | |||
== Long Message ==  | == Long Message ==  | ||
[[CanServo/Protocol/LongMessage]]  | [[CanServo/Protocol/LongMessage]]  | ||
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