Difference between revisions of "CanServo/Protocol/V1.3"
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
Tag: Manual revert  | 
				|||
| (20 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
== CAN Protocol Ver 1.3 ==  | == CAN Protocol Ver 1.3 ==  | ||
*   | * All messages below are sent in long format.  | ||
* CAN ID  | |||
** 0x7FF : Servo -> Host  | |||
** 0x7FE : Host -> Servo  | |||
=== Write/Read Register ===  | === Write/Read Register ===  | ||
* Message: Host -> Servo  | * Message: Host -> Servo  | ||
**   | ** ZUw1, < UID : 16 byte >, < ADDR : 2 byte >, < DATA : 2 byte >  | ||
**   | ** ZUw2, < UID : 16 byte >, < ADDR1 : 2 byte >, < DATA1 : 2 byte >, < ADDR2 : 2 byte >, < DATA2 : 2 byte >  | ||
**   | ** ZUx1, < UID : 16 byte >, < ADDR : 2 byte >, < DATA : 2 byte >  | ||
**   | ** ZUx2, < UID : 16 byte >, < ADDR1 : 2 byte >, < DATA1 : 2 byte >, < ADDR2 : 2 byte >, < DATA2 : 2 byte >  | ||
**   | ** ZUr1, < UID : 16 byte >, < ADDR : 2 byte >  | ||
**   | ** ZUr2, < UID : 16 byte >, < ADDR1 : 2 byte >, < ADDR2 : 2 byte >  | ||
* Message : Servo -> Host  | * Message : Servo -> Host  | ||
**   | ** ZUv1, < UID : 16 byte >, < ADDR : 2 byte >, < DATA : 2 byte >  | ||
**   | ** ZUv2, < UID : 16 byte >, < ADDR1 : 2 byte >, < DATA1 : 2 byte >, < ADDR2 : 2 byte >, < DATA2 : 2 byte >  | ||
=== Broadcast UID ===  | === Broadcast UID ===  | ||
| Line 22: | Line 26: | ||
** ZUAL --> old: ZGUALL  | ** ZUAL --> old: ZGUALL  | ||
** ZUGD, < ID2 : 4 byte >, < ID1 : 1 byte > --> OLD: ZGUD  | ** ZUGD, < ID2 : 4 byte >, < ID1 : 1 byte > --> OLD: ZGUD  | ||
*** ID2 = 0 이면, All  | |||
*** ID1 = 0 이면, All  | |||
* Message: Servo -> Host  | * Message: Servo -> Host  | ||
** ZUVD, < UID : 16 byte >, < ID2 : 4 byte >, < ID1 : 1 byte > --> OLD: ZVUD  | ** ZUVD, < UID : 16 byte >, < ID2 : 4 byte >, < ID1 : 1 byte > --> OLD: ZVUD  | ||
| Line 28: | Line 34: | ||
* Message: Host -> Servo  | * Message: Host -> Servo  | ||
** ZUgK, <  | ** ZUgK, <Magic Code: 1 byte>, <UID part = 0, 4, 8, 12 bytes> --> OLD: ZGUa  | ||
* Message: Servo -> Host  | * Message: Servo -> Host  | ||
** K, <  | ** K, <Magic Code: 1 byte>, <UID part = 4 bytes>  | ||
* Magic Code  | |||
** bit 5:0 = magic key for search  | |||
** bit 7:6 = id type  | |||
*** 0 = ID ng ( ID1 = 0 or ID2 = 0 )  | |||
*** 1 = ID ok ( ID1 != 0 and ID2 != 0 )  | |||
*** 2/3 = any  | |||
=== History ===  | |||
==== 2025_06_19 ====  | |||
* Replace Message by bug: ZUV1, ZUV2  | |||
** ZUW1 -> ZUw1  | |||
** ZUX1 -> ZUx1  | |||
** ZUR1 -> ZUr1  | |||
** ZUV1 -> ZUv1  | |||
** ZUW2 -> ZUw2  | |||
** ZUX2 -> ZUx2  | |||
** ZUR2 -> ZUr2  | |||
** ZUV2 -> ZUv2  | |||
==   | == Long Message ==  | ||
[[CanServo/Protocol/  | [[CanServo/Protocol/LongMessage]]  | ||
Latest revision as of 00:14, 20 June 2025
CAN Protocol Ver 1.3
- All messages below are sent in long format.
 
- CAN ID
- 0x7FF : Servo -> Host
 - 0x7FE : Host -> Servo
 
 
Write/Read Register
- Message: Host -> Servo
- ZUw1, < UID : 16 byte >, < ADDR : 2 byte >, < DATA : 2 byte >
 - ZUw2, < UID : 16 byte >, < ADDR1 : 2 byte >, < DATA1 : 2 byte >, < ADDR2 : 2 byte >, < DATA2 : 2 byte >
 - ZUx1, < UID : 16 byte >, < ADDR : 2 byte >, < DATA : 2 byte >
 - ZUx2, < UID : 16 byte >, < ADDR1 : 2 byte >, < DATA1 : 2 byte >, < ADDR2 : 2 byte >, < DATA2 : 2 byte >
 - ZUr1, < UID : 16 byte >, < ADDR : 2 byte >
 - ZUr2, < UID : 16 byte >, < ADDR1 : 2 byte >, < ADDR2 : 2 byte >
 
 
- Message : Servo -> Host
- ZUv1, < UID : 16 byte >, < ADDR : 2 byte >, < DATA : 2 byte >
 - ZUv2, < UID : 16 byte >, < ADDR1 : 2 byte >, < DATA1 : 2 byte >, < ADDR2 : 2 byte >, < DATA2 : 2 byte >
 
 
Broadcast UID
- Message: Host -> Servo
- ZUAL --> old: ZGUALL
 - ZUGD, < ID2 : 4 byte >, < ID1 : 1 byte > --> OLD: ZGUD
- ID2 = 0 이면, All
 - ID1 = 0 이면, All
 
 
 - Message: Servo -> Host
- ZUVD, < UID : 16 byte >, < ID2 : 4 byte >, < ID1 : 1 byte > --> OLD: ZVUD
 
 
UID search
- Message: Host -> Servo
- ZUgK, <Magic Code: 1 byte>, <UID part = 0, 4, 8, 12 bytes> --> OLD: ZGUa
 
 - Message: Servo -> Host
- K, <Magic Code: 1 byte>, <UID part = 4 bytes>
 
 - Magic Code
- bit 5:0 = magic key for search
 - bit 7:6 = id type
- 0 = ID ng ( ID1 = 0 or ID2 = 0 )
 - 1 = ID ok ( ID1 != 0 and ID2 != 0 )
 - 2/3 = any
 
 
 
History
2025_06_19
- Replace Message by bug: ZUV1, ZUV2
- ZUW1 -> ZUw1
 - ZUX1 -> ZUx1
 - ZUR1 -> ZUr1
 - ZUV1 -> ZUv1
 - ZUW2 -> ZUw2
 - ZUX2 -> ZUx2
 - ZUR2 -> ZUr2
 - ZUV2 -> ZUv2