Difference between revisions of "CanServo/Protocol/0"

From HITEC_HELP
Jump to navigation Jump to search
 
(39 intermediate revisions by the same user not shown)
Line 2: Line 2:
* [[SERVO/PROTOCOL/CAN/V1.0/ENG]] - V1.0 - w/W, r/R, x/X, v/V
* [[SERVO/PROTOCOL/CAN/V1.0/ENG]] - V1.0 - w/W, r/R, x/X, v/V
** Write/Read 1 or 2 register
** Write/Read 1 or 2 register
* 금지 키워드
* Prohibited keywords ( 금지 키워드 )
** ZRU1, ZRU2
** ZRU1, ZRU2
* [[CanServo/Protocol/V1.1]] - V1.1 - ZUID, ZIDS, ZG??, ZR??, ZS??, ZX??, FILE(ZGFL, ZSDF, ZFWU), ZMSG
* [[CanServo/Protocol/V1.1]] - V1.1 - ZUID, ZIDS, ZG??, ZR??, ZS??, ZX??, FILE(ZGFL, ZSDF, ZFWU), ZMSG
Line 21: Line 21:
* [[CanServo/Protocol/V1.6]] - V1.6 - Zc??, Zr??
* [[CanServo/Protocol/V1.6]] - V1.6 - Zc??, Zr??
** Custom CAN / CAN-FD
** Custom CAN / CAN-FD
* [[CanServo/Protocol/V1.7]] - V1.7 - Pot Calibration - ZP??
* [[CanServo/Protocol/V1.8]] - V1.8 - zs? - Address 256이상인 Stream 설정 및 Stream 전용 Message (2026_02_06)
* [[CanServo/Protovol/V1.9]] - V1.9 - ZZ??, PZ 읽기, (2026_02_06)


== Message Types ==
== Message Types ==
Line 28: Line 31:
** [[CanServo/Protocol/LongMessage]] - Tail Byte = Yes - Single/Multi Packet
** [[CanServo/Protocol/LongMessage]] - Tail Byte = Yes - Single/Multi Packet


* 주의: Servo ID2 가 필요 없는 메시지만이 0x7FF, 0x7FE를 통과할 수 있습니다.
* 주의: Servo ID2 가 필요 없거나 포함한 메시지만 0x7FF, 0x7FE를 통과할 수 있습니다.


{| class="wikitable"
{| class="wikitable"
Line 44: Line 47:
| 0x7FF, ID2+5
| 0x7FF, ID2+5
|}
|}
* RR 정의 (2026_01_14)
** 이 날짜 이전 버전은 +2, +3 가 되며, Return + 1 option을 설정하면 꼬임.
** ID2 + 2 = RR MCU 1 Access
** ID2 + 3 = RR MCU 1 Return + 1 option
** ID2 + 6 = RR MCU 2 Access
** ID2 + 7 = RR MCU 2 Return + 1 option


* NOTE: ID2 must aligned by 8.
* NOTE: ID2 must aligned by 8.
Line 101: Line 111:
| -
| -
| Yes
| Yes
|
|
|
|-
| 1.6
|
|
|
|
|
|
|-
| 1.7
|
|
|
|
|
|
|-
| 1.8
|
|
|
|
|
|
|-
| 1.9
|
|
|
|
|
|
|
Line 115: Line 157:


* DATE: 2024_11_25, G491 R1CAN
* DATE: 2024_11_25, G491 R1CAN
== Message Return Rule ==
NOTE: 우선 순위 높은 규칙부터 나열합니다.
* CAN Data Type (CAN, FD, FD/BRS) 유지
* Long 메시지: Long 메시지로 반환
** 0x7FE 수신시 0x7FF 로 반환
** ID2+4 수신시 ID2+5 로 반환
* (여기까지오면, 0 또는 ID2 인 Short 메시지)
** CAN 수신시
*** 반환 메시지 (유동적일 때는 최대) 길이가 8바이트 초과인 경우에는 ID2+5 Long 메시지로 반환
*** ID2 또는 ID2+1, Short 메시지로 반환
** FD 또는 FD/BRS 수신시
*** 반환 메시지 (유동적일 때는 최대) 길이가 63바이트 초과인 경우에는 ID2+5 Long 메시지로 반환
*** ID2 또는 ID2+1, Short 메시지로 반환
** 예외적으로, ID2+5 Long 메시지로 반환하는 경우는 별도 지정


== History ==
== History ==
=== 2026_01_14 ===
* SR33 RR MCU 1/2 Access 기준 변경
** 변경전: ID2 + 2, ID2 + 3
** 변경후: ID2 + 2, ID2 + 6
** 사유: Return +1 option을 설정하면, 실제로는 OR 1 이기 때문에, +3, +3 으로 꼬임
*** 만일 +1 이라고 해도, +3, +4 가 되어, Long Message와 꼬임.


=== 2025_06_19 ===
=== 2025_06_19 ===
Line 125: Line 192:
*** ZRID: ZSID, ZXID, ZGID -> ZRid, ZSid, ZXid, ZGid
*** ZRID: ZSID, ZXID, ZGID -> ZRid, ZSid, ZXid, ZGid
*** ZUV1: ZUW1, ZUX1, ZUR1 -> ZUv1, ZUw1, ZUx1, ZUr1
*** ZUV1: ZUW1, ZUX1, ZUR1 -> ZUv1, ZUw1, ZUx1, ZUr1
*** ZUV2: ZUW1, ZUX2, ZUR2 -> ZUv2, ZUw2, ZUx2, ZUr2
*** ZUV2: ZUW2, ZUX2, ZUR2 -> ZUv2, ZUw2, ZUx2, ZUr2
*** 과거 FW가 반응하지 않도록 메시지 키워드를 모두 변경합니다.
*** 과거 FW가 반응하지 않도록 메시지의 키워드를 변경합니다.
*** [[CanServo/Protocol/V1.1#2025_06_19]]
*** [[CanServo/Protocol/V1.1#2025_06_19]]
*** [[CanServo/Protocol/V1.3#2025_06_19]]
*** [[CanServo/Protocol/V1.3#2025_06_19]]

Latest revision as of 07:21, 6 February 2026

Protocol Sections

Message Types

  • 주의: Servo ID2 가 필요 없거나 포함한 메시지만 0x7FF, 0x7FE를 통과할 수 있습니다.
CAN ID Short Message Long Message
Host -> Servo 0(Broadcast) or ID2 0x7FE, ID2+4
Servo -> Host ID2 or ID2+1 0x7FF, ID2+5
  • RR 정의 (2026_01_14)
    • 이 날짜 이전 버전은 +2, +3 가 되며, Return + 1 option을 설정하면 꼬임.
    • ID2 + 2 = RR MCU 1 Access
    • ID2 + 3 = RR MCU 1 Return + 1 option
    • ID2 + 6 = RR MCU 2 Access
    • ID2 + 7 = RR MCU 2 Return + 1 option
  • NOTE: ID2 must aligned by 8.

Section / platform

Section Short Long ST AT G491 RR
1.0 Yes No Yes Yes Yes Yes
1.1 - Yes Yes Yes
1.2 Yes No Yes
1.3 - Yes 2.3(3) Yes
1.4 Yes Yes 2.3(3) Yes
1.5 - Yes
1.6
1.7
1.8
1.9
ID2+4/5
  • DATE: 2024_11_25, G491 R1CAN

Message Return Rule

NOTE: 우선 순위 높은 규칙부터 나열합니다.

  • CAN Data Type (CAN, FD, FD/BRS) 유지
  • Long 메시지: Long 메시지로 반환
    • 0x7FE 수신시 0x7FF 로 반환
    • ID2+4 수신시 ID2+5 로 반환
  • (여기까지오면, 0 또는 ID2 인 Short 메시지)
    • CAN 수신시
      • 반환 메시지 (유동적일 때는 최대) 길이가 8바이트 초과인 경우에는 ID2+5 Long 메시지로 반환
      • ID2 또는 ID2+1, Short 메시지로 반환
    • FD 또는 FD/BRS 수신시
      • 반환 메시지 (유동적일 때는 최대) 길이가 63바이트 초과인 경우에는 ID2+5 Long 메시지로 반환
      • ID2 또는 ID2+1, Short 메시지로 반환
    • 예외적으로, ID2+5 Long 메시지로 반환하는 경우는 별도 지정

History

2026_01_14

  • SR33 RR MCU 1/2 Access 기준 변경
    • 변경전: ID2 + 2, ID2 + 3
    • 변경후: ID2 + 2, ID2 + 6
    • 사유: Return +1 option을 설정하면, 실제로는 OR 1 이기 때문에, +3, +3 으로 꼬임
      • 만일 +1 이라고 해도, +3, +4 가 되어, Long Message와 꼬임.

2025_06_19

  • (6) Return message has bug
    • (4) Replace message keyword
      • ZRUU: ZSUU, ZXUU, ZGUU -> ZRuu, ZSuu, ZXuu, ZGuu
      • ZRID: ZSID, ZXID, ZGID -> ZRid, ZSid, ZXid, ZGid
      • ZUV1: ZUW1, ZUX1, ZUR1 -> ZUv1, ZUw1, ZUx1, ZUr1
      • ZUV2: ZUW2, ZUX2, ZUR2 -> ZUv2, ZUw2, ZUx2, ZUr2
      • 과거 FW가 반응하지 않도록 메시지의 키워드를 변경합니다.
      • CanServo/Protocol/V1.1#2025_06_19
      • CanServo/Protocol/V1.3#2025_06_19
    • (2) No replace:
      • ZMSG -> 전송 코드 수정으로 해결
      • ZGFL -> 조심해서 사용

2025_03

  • V1.6 추가

2025_02

    • CAN-FD 추가
    • Short Mesasge 추가
    • V1.5 추가
    • ID2+X 추가

2024_11

    • R1CAN 추가