Difference between revisions of "CanServo/Protocol/V1.3"

From HITEC_HELP
Jump to navigation Jump to search
Line 34: Line 34:


* Message: Host -> Servo
* Message: Host -> Servo
** ZUgK, <1 byte, bit 6:0 = magic, bit 7 = 1(ID=0 only), 0(all) >, <UID part = 0, 4, 8, 12 bytes> --> OLD: ZGUa
** 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 6:0 = maginc, bit 7 = 1(if ID=0), 0(else)>, <UID part = 4 bytes>
** K, <1 byte, bit 5:0 = maginc>, <UID part = 4 bytes>
 
* ID = 0 means: ID1 = 0 or ID2 = 0


== 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>

Long Message

CanServo/Protocol/LongMessage