Difference between revisions of "CanServo/Protocol/Control"

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


CAN Packet 의 Data 8 byte 에 들어가는 메시지는 구형 3개 신형 8개, 총 11개가 있습니다.
CAN Packet 의 Data 8 byte 에 들어가는 메시지는 구형 3가지 신형 8가지, 총 11가지가 있습니다.
첫 바이트는 메시지의 종류를 나타냅니다.
첫 바이트는 메시지의 종류를 나타냅니다.



Revision as of 21:39, 17 September 2021

CAN Packet 의 Data 8 byte 에 들어가는 메시지는 구형 3가지 신형 8가지, 총 11가지가 있습니다. 첫 바이트는 메시지의 종류를 나타냅니다.

여기서 Target Servo ID 는 Servo 의 CanServo/ID1 의 값과 일치해야 합니다. 만일 0 을 지정하면, 모든 서보가 반응합니다.

구식 포맷:

  • Old Write Command
    • write 1 register
      • 0x96, (target servo id), (address), 2, (data low byte), (data high byte), (chksum)
      • DLC = 7
  • Old Read Command
    • read 1 register
      • 0x96, (target servo id), (address), 0, (chksum)
      • DLC = 5
  • Old Return Message
    • return 1 register
      • 0x69, (servo id), (address), 2, (data low byte), (data high byte), (chksum)
      • DLC = 7
  • Old message's chksum
    • add all bytes before chksum, except first byte

신형 포맷:

  • Write Command
    • write 1 register
      • 'w', (target servo id), (address), (data low byte), (data high byte)
      • DLC = 5
    • write 2 registers
      • 'W', (target servo id), (address 0), (data 0 low byte), (data 0 high byte), (address 1), (data 1 low byte), (data 1 high byte)
      • DLC = 8
  • Read Command
    • read 1 register
      • 'r', (target servo id), (address)
      • DLC = 3
    • read 2 registers
      • 'R', (target servo id), (address 0), (address 1)
      • DLC = 4
  • Write and Read Command
    • write and read: 1 register
      • 'x', (target servo id), (address), (data low byte), (data high byte)
      • DLC = 5
    • write and read: 2 registers
      • 'X', (target servo id), (address 0), (data 0 low byte), (data 0 high byte), (address 1), (data 1 low byte), (data 1 high byte)
      • DLC = 8
  • Return Message : Servo --> Host
    • return 1 register
      • 'v', (servo id), (address), (data low byte), (data high byte)
      • DLC = 5
    • return 2 registers
      • 'V', (servo id), (address 0), (data 0 low byte), (data 0 high byte), (address 1), (data 1 low byte), (data 1 high byte)
      • DLC = 8