CanServo/Protocol/V1.3

From HITEC_HELP
Jump to navigation Jump to search

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

Long Message

CanServo/Protocol/LongMessage