Difference between revisions of "CanServo/Protocol/0"
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
| (69 intermediate revisions by the same user not shown) | |||
| Line 4: | Line 4: | ||
* 금지 키워드  | * 금지 키워드  | ||
** ZRU1, ZRU2  | ** ZRU1, ZRU2  | ||
* [[CanServo/Protocol/V1.1]] - V1.1 - ZUID, ZIDS,   | * [[CanServo/Protocol/V1.1]] - V1.1 - ZUID, ZIDS, ZG??, ZR??, ZS??, ZX??, FILE(ZGFL, ZSDF, ZFWU), ZMSG  | ||
** Simple Broadcast UID and Set IDs(ID1,ID2) via UID - ZUID, ZIDS  | ** Simple Broadcast UID and Set IDs(ID1,ID2) via UID - ZUID, ZIDS  | ||
** Write/Read register's bits by ID or UID  | ** Write/Read register's bits by ID or UID  | ||
** FILE Access  | ** FILE Access  | ||
** Message: ZMSG  | ** Message: ZMSG  | ||
* [[CanServo/Protocol/V1.2]] - V1.2 - p/P, g/G, y/Y  | * [[CanServo/Protocol/V1.2]] - V1.2 - p/P, g/G, o/O, y/Y  | ||
** Write/Read 1 or 2 register with 2 byte address in 1 packet  | ** Write/Read 1 or 2 register with 2 byte address in 1 packet  | ||
*** address = max 1024 range (0~1023)  | *** address = max 1024 range (0~1023)  | ||
* [[CanServo/Protocol/V1.3]] - V1.3 -   | * [[CanServo/Protocol/V1.3]] - V1.3 - ZU??(Except ZUID), K  | ||
** Write/Read 1 or 2 register via UID  | ** Write/Read 1 or 2 register via UID  | ||
** Broadcast UID  | ** Broadcast UID  | ||
** UID search  | ** UID search  | ||
* [[CanServo/Protocol/V1.4]] - V1.4 - sync  | * [[CanServo/Protocol/V1.4]] - V1.4 - sync  | ||
* [[CanServo/Protocol/V1.5]] - V1.5 - ZKW?, ZKR?, ZKX?, ZKV?  | |||
** Write/Read N register(s)  | |||
* [[CanServo/Protocol/V1.6]] - V1.6 - Zc??, Zr??  | |||
** Custom CAN / CAN-FD  | |||
* [[CanServo/Protocol/V1.7]] - V1.7 - Pot Calibration - ZP??  | |||
== Message Types ==  | == Message Types ==  | ||
* Short   | * Tail Byte 유무에 따라 Short/Long Message로 나눕니다.  | ||
*   | ** [[CanServo/Protocol/ShortMessage]] - Tail Byte = No - Single Packet Only  | ||
** [[CanServo/Protocol/LongMessage]]  | ** [[CanServo/Protocol/LongMessage]] - Tail Byte = Yes - Single/Multi Packet  | ||
*  | |||
*  | * 주의: Servo ID2 가 필요 없는 메시지만이 0x7FF, 0x7FE를 통과할 수 있습니다.  | ||
{| class="wikitable"  | |||
|-  | |||
! CAN ID  | |||
! [[CanServo/Protocol/ShortMessage | Short Message]]  | |||
! [[CanServo/Protocol/LongMessage | Long Message]]  | |||
|-  | |||
! Host -> Servo  | |||
| 0(Broadcast) or ID2  | |||
| 0x7FE, ID2+4  | |||
|-  | |||
! Servo -> Host  | |||
| ID2 or ID2+1  | |||
| 0x7FF, ID2+5  | |||
|}  | |||
* NOTE: ID2 must aligned by 8.  | |||
== Section / platform ==  | == Section / platform ==  | ||
| Line 47: | Line 69: | ||
|-  | |-  | ||
| 1.1  | | 1.1  | ||
|   | | -  | ||
| Yes  | | Yes  | ||
|  | |  | ||
| Line 62: | Line 84: | ||
|-  | |-  | ||
| 1.3  | | 1.3  | ||
|   | | -  | ||
| Yes  | | Yes  | ||
|  | |  | ||
| 2.3(3)  | |||
| Yes  | |||
|  | |  | ||
|-  | |-  | ||
| 1.4  | | 1.4  | ||
| Line 72: | Line 95: | ||
| Yes  | | Yes  | ||
|  | |  | ||
| 2.3(3)  | |||
| Yes  | |||
|  | |  | ||
|-  | |||
| 1.5  | |||
| -  | |||
| Yes  | | Yes  | ||
|  | |||
|  | |||
|  | |||
|-  | |||
| ID2+4/5  | |||
|  | |||
|  | |||
|  | |||
|  | |||
|  | |||
|  | |||
|}  | |}  | ||
* DATE: 2024_11_25, G491 R1CAN  | * DATE: 2024_11_25, G491 R1CAN  | ||
== History ==  | |||
=== 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 추가  | |||
Latest revision as of 02:58, 24 September 2025
Protocol Sections
- SERVO/PROTOCOL/CAN/V1.0/ENG - V1.0 - w/W, r/R, x/X, v/V
- Write/Read 1 or 2 register
 
 - 금지 키워드
- ZRU1, ZRU2
 
 - CanServo/Protocol/V1.1 - V1.1 - ZUID, ZIDS, ZG??, ZR??, ZS??, ZX??, FILE(ZGFL, ZSDF, ZFWU), ZMSG
- Simple Broadcast UID and Set IDs(ID1,ID2) via UID - ZUID, ZIDS
 - Write/Read register's bits by ID or UID
 - FILE Access
 - Message: ZMSG
 
 - CanServo/Protocol/V1.2 - V1.2 - p/P, g/G, o/O, y/Y
- Write/Read 1 or 2 register with 2 byte address in 1 packet
- address = max 1024 range (0~1023)
 
 
 - Write/Read 1 or 2 register with 2 byte address in 1 packet
 - CanServo/Protocol/V1.3 - V1.3 - ZU??(Except ZUID), K
- Write/Read 1 or 2 register via UID
 - Broadcast UID
 - UID search
 
 - CanServo/Protocol/V1.4 - V1.4 - sync
 - CanServo/Protocol/V1.5 - V1.5 - ZKW?, ZKR?, ZKX?, ZKV?
- Write/Read N register(s)
 
 - CanServo/Protocol/V1.6 - V1.6 - Zc??, Zr??
- Custom CAN / CAN-FD
 
 - CanServo/Protocol/V1.7 - V1.7 - Pot Calibration - ZP??
 
Message Types
- Tail Byte 유무에 따라 Short/Long Message로 나눕니다.
- CanServo/Protocol/ShortMessage - Tail Byte = No - Single Packet Only
 - CanServo/Protocol/LongMessage - Tail Byte = Yes - Single/Multi Packet
 
 
- 주의: 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 | 
- 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 | ||||
| ID2+4/5 | 
- DATE: 2024_11_25, G491 R1CAN
 
History
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 -> 조심해서 사용
 
 
 - (4) Replace message keyword
 
2025_03
- V1.6 추가
 
2025_02
- CAN-FD 추가
 - Short Mesasge 추가
 - V1.5 추가
 - ID2+X 추가
 
2024_11
- R1CAN 추가