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

From HITEC_HELP
Jump to navigation Jump to search
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Under construction ==
== CAN Protocol Ver 1.1 ==
== CAN Protocol Ver 1.1 ==


* This protocol needs FW Ver 1.12+
* This protocol needs FW Ver 1.12+
* The purpose of this message is to set the servo's ID based on the servo's UID.


* CAN ID
* CAN ID
** 0x7FF : Servo -> Host
** 0x7FF : Servo -> Host
** 0x7FE : Host -> Servo
** 0x7FE : Host -> Servo
=== UID ===


* Message : Servo -> Host
* Message : Servo -> Host
** ZUID, <UID : 16 byte>, <ID2 : 4 byte>, <ID1 : 1 byte>, <CAN Mode : 1 byte>
** ZUID, <UID : 16 byte>, <ID2 : 4 byte>, <ID1 : 1 byte>, <CAN Mode : 1 byte>
** 이 메시지는 서보 설정 ID1, ID2 중에 하나라도 0 이면 서보가 주기적으로 발신합니다.


* Message: Host -> Servo
* Message: Host -> Servo
Line 18: Line 17:
** ZIDS, <UID : 16 byte>, <ID2 : 4 byte>, <ID1 : 1 byte>
** ZIDS, <UID : 16 byte>, <ID2 : 4 byte>, <ID1 : 1 byte>
** ZIDS, <UID : 16 byte>, <ID2 : 4 byte>, <ID1 : 1 byte>, <CAN Mode : 1 byte>
** ZIDS, <UID : 16 byte>, <ID2 : 4 byte>, <ID1 : 1 byte>, <CAN Mode : 1 byte>
** UID 가 일치하는 서보는, 메시지의 길이에 따라, ID2, ID1, CAN Mode 까지 설정합니다.


* This message is delivered using the MultiPacket method below.
* This message is delivered using the MultiPacket method below.


== MultiPacket for Long Message ==
=== Write/Read Register's bits by ID or UID ===
 
* Message: Host -> Servo
** ZGUu - Get UID
*** ID2 (4), ID1 (1)
** ZSUU,ZXUU - Set Register by UID, ( ZXUU -> Set,Get )
*** UID (16), ADDR (1), bit 0.5, bits (0.5), Value (2)
** ZGUU - Get Register by UID
*** UID (16), ADDR (1), bit 0.5, bits (0.5)
** ZSID,ZXID - Set Register by ID ( ZXID -> Set,Get )
*** ID2 (4), ID1 (1), ADDR (1), bit 0.5, bits (0.5), Value (2)
** ZGID - Get Register by ID
*** ID2 (4), ID1 (1), ADDR (1), bit 0.5, bits (0.5)
* Mesasge: Servo -> Host
** ZRUU - return register by UID
*** UID (16), ADDR (1), bit 0.5, bits (0.5), Value (2)
** ZRID - return register by ID
*** ID2 (4), ID1 (1), ADDR (1), bit 0.5, bits (0.5), Value (2)
 
=== File Access ===
* ZGFL
* ZSDF
* ZFWU


[[CanServo/Protocol/MultiPacketsforLongMessage]]
=== Message ===


== FD-CAN ==
* ZMSG


* FD-CAN allows up to 64 bytes to be transmitted, so up to 63 bytes can be extracted at a time.
== Long Message ==


* This approach has not yet been implemented.
[[CanServo/Protocol/LongMessage]]

Latest revision as of 03:23, 25 November 2024

CAN Protocol Ver 1.1

  • This protocol needs FW Ver 1.12+
  • CAN ID
    • 0x7FF : Servo -> Host
    • 0x7FE : Host -> Servo

UID

  • Message : Servo -> Host
    • ZUID, <UID : 16 byte>, <ID2 : 4 byte>, <ID1 : 1 byte>, <CAN Mode : 1 byte>
    • 이 메시지는 서보 설정 ID1, ID2 중에 하나라도 0 이면 서보가 주기적으로 발신합니다.
  • Message: Host -> Servo
    • ZIDS, <UID : 16 byte>, <ID2 : 4 byte>
    • ZIDS, <UID : 16 byte>, <ID2 : 4 byte>, <ID1 : 1 byte>
    • ZIDS, <UID : 16 byte>, <ID2 : 4 byte>, <ID1 : 1 byte>, <CAN Mode : 1 byte>
    • UID 가 일치하는 서보는, 메시지의 길이에 따라, ID2, ID1, CAN Mode 까지 설정합니다.
  • This message is delivered using the MultiPacket method below.

Write/Read Register's bits by ID or UID

  • Message: Host -> Servo
    • ZGUu - Get UID
      • ID2 (4), ID1 (1)
    • ZSUU,ZXUU - Set Register by UID, ( ZXUU -> Set,Get )
      • UID (16), ADDR (1), bit 0.5, bits (0.5), Value (2)
    • ZGUU - Get Register by UID
      • UID (16), ADDR (1), bit 0.5, bits (0.5)
    • ZSID,ZXID - Set Register by ID ( ZXID -> Set,Get )
      • ID2 (4), ID1 (1), ADDR (1), bit 0.5, bits (0.5), Value (2)
    • ZGID - Get Register by ID
      • ID2 (4), ID1 (1), ADDR (1), bit 0.5, bits (0.5)
  • Mesasge: Servo -> Host
    • ZRUU - return register by UID
      • UID (16), ADDR (1), bit 0.5, bits (0.5), Value (2)
    • ZRID - return register by ID
      • ID2 (4), ID1 (1), ADDR (1), bit 0.5, bits (0.5), Value (2)

File Access

  • ZGFL
  • ZSDF
  • ZFWU

Message

  • ZMSG

Long Message

CanServo/Protocol/LongMessage