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

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


* Message: Host -> Servo
* Message: Host -> Servo
** ZUW1, < UID : 16 byte >, < ADDR : 2 byte >, < DATA : 2 byte >
** 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 >
** 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 >
** 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 >
** ZUx2, < UID : 16 byte >, < ADDR1 : 2 byte >, < DATA1 : 2 byte >, < ADDR2 : 2 byte >, < DATA2 : 2 byte >
** ZUr1, < UID : 16 byte >, < ADDR : 2 byte >
** ZUr1, < UID : 16 byte >, < ADDR : 2 byte >
** ZUr2, < UID : 16 byte >, < ADDR1 : 2 byte >, < ADDR2 : 2 byte >
** ZUr2, < UID : 16 byte >, < ADDR1 : 2 byte >, < ADDR2 : 2 byte >
* NOTE: (2025_06_19) Replace Message (by bug: ZUV1, ZUV2)
** ZUX1 -> ZUx1
** ZUX2 -> ZUx2
** ZUR1 -> ZUr1
** ZUR1 -> ZUr1


* Message : Servo -> Host
* Message : Servo -> Host
** ZUV1, < UID : 16 byte >, < ADDR : 2 byte >, < DATA : 2 byte >
** 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 >
** ZUv2, < UID : 16 byte >, < ADDR1 : 2 byte >, < DATA1 : 2 byte >, < ADDR2 : 2 byte >, < DATA2 : 2 byte >


=== Broadcast UID ===
=== Broadcast UID ===
Line 49: Line 43:
*** 1 = ID ok ( ID1 != 0 and ID2 != 0 )
*** 1 = ID ok ( ID1 != 0 and ID2 != 0 )
*** 2/3 = any
*** 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 ==
== Long Message ==


[[CanServo/Protocol/LongMessage]]
[[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

Long Message

CanServo/Protocol/LongMessage