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

From HITEC_HELP
Jump to navigation Jump to search
 
(10 intermediate revisions by the same user not shown)
Line 34: Line 34:


* Message: Host -> Servo
* 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
** ZUgK, <Magic Code: 1 byte>, <UID part = 0, 4, 8, 12 bytes> --> OLD: ZGUa
* Message: Servo -> Host
* Message: Servo -> Host
** K, <1 byte, bit 5:0 = maginc>, <UID part = 4 bytes>
** 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


== Long Message ==
== Long Message ==


[[CanServo/Protocol/LongMessage]]
[[CanServo/Protocol/LongMessage]]

Latest revision as of 10:09, 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, <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

Long Message

CanServo/Protocol/LongMessage