Difference between revisions of "CanServo/Protocol/V1.3"
Jump to navigation
Jump to search
Line 34: | Line 34: | ||
* Message: Host -> Servo | * Message: Host -> Servo | ||
** ZUgK, <1 byte, bit | ** ZUgK, <1 byte, bit 5:0 = magic, bit 7:6 = 0(ID1=0 or ID2=0), 1(ID1=0, ID2=else), 2(ID1=else, ID2=0), 3(ID ok)>, <UID part = 0, 4, 8, 12 bytes> --> OLD: ZGUa | ||
* Message: Servo -> Host | * Message: Servo -> Host | ||
** K, <1 byte, bit | ** K, <1 byte, bit 5:0 = maginc>, <UID part = 4 bytes> | ||
== Long Message == | == Long Message == | ||
[[CanServo/Protocol/LongMessage]] | [[CanServo/Protocol/LongMessage]] |
Revision as of 06:08, 4 December 2024
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, <1 byte, bit 5:0 = magic, bit 7:6 = 0(ID1=0 or ID2=0), 1(ID1=0, ID2=else), 2(ID1=else, ID2=0), 3(ID ok)>, <UID part = 0, 4, 8, 12 bytes> --> OLD: ZGUa
- Message: Servo -> Host
- K, <1 byte, bit 5:0 = maginc>, <UID part = 4 bytes>