Difference between revisions of "CanServo/Protocol/DroneCAN/ReadWriteRegister/en"
Jump to navigation
Jump to search
(8 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
You must set Node ID and Actuator ID. ( [[CanServo/ID/modes/en]] ) | You must set Node ID and Actuator ID. ( [[CanServo/ID/modes/en]] ) | ||
NOTE: It is standard for SEQ values to increase from 0 to beyond 31. | |||
NOTE: When setting ID1 and ID2, set Target Actuator ID = 0. | |||
1. Set a Register Value | 1. Set a Register Value | ||
* CAN ID = 8003F200 | * CAN ID = 8003F200 | ||
* CAN DATA = <Actuator ID>, <ADDR>, <DATA LO BYTE>, <DATA HI BYTE>, SEQ | * CAN DATA = <Actuator ID>, < ADDR of Register >, < DATA LO BYTE >, < DATA HI BYTE >, SEQ | ||
* Actuator ID = 0 (ALL), or 1~127 | * Actuator ID = 0 (ALL), or 1~127 | ||
* ADDR >= 4 | * ADDR >= 4 | ||
Line 20: | Line 24: | ||
* CAN ID = 8003F200 | * CAN ID = 8003F200 | ||
* CAN DATA = 0x80+<Actuator ID>, <ADDR>, 0, 0, SEQ | * CAN DATA = 0x80+<Actuator ID>, < ADDR of Register >, 0, 0, SEQ | ||
* Actuator ID = 0 (ALL), or 1~127 | * Actuator ID = 0 (ALL), or 1~127 | ||
* ADDR >= 4 | * ADDR >= 4 | ||
Line 32: | Line 36: | ||
* CAN ID = 0803F3xx | * CAN ID = 0803F3xx | ||
* xx = Servo's | * xx = Servo's Node ID | ||
* CAN DATA = <Actuator ID>, <ADDR>, <DATA LO BYTE>, <DATA HI BYTE> | * CAN DATA = <Actuator ID>, < ADDR of Register >, < DATA LO BYTE >, < DATA HI BYTE > | ||
* NOTE: This format is not a DroneCAN standard format. | |||
ex) 0003F307 07 0A 10 00 | ex) 0003F307 07 0A 10 00 |
Latest revision as of 10:14, 17 April 2024
This protocol use custom data format of actuator.ArrayCommand and actuator.Status.
You must set Node ID and Actuator ID. ( CanServo/ID/modes/en )
NOTE: It is standard for SEQ values to increase from 0 to beyond 31.
NOTE: When setting ID1 and ID2, set Target Actuator ID = 0.
1. Set a Register Value
- CAN ID = 8003F200
- CAN DATA = <Actuator ID>, < ADDR of Register >, < DATA LO BYTE >, < DATA HI BYTE >, SEQ
- Actuator ID = 0 (ALL), or 1~127
- ADDR >= 4
ex) 8003F200 07 6A 01 00 C0
- Set value 0x0001 to register 0x6A of Servo 7.
- Target Actuator ID = 7
- Addr = 0x6A
- Data = 0x0001
2. Get a Register Value
- CAN ID = 8003F200
- CAN DATA = 0x80+<Actuator ID>, < ADDR of Register >, 0, 0, SEQ
- Actuator ID = 0 (ALL), or 1~127
- ADDR >= 4
ex) 8003F200 80 0A 00 00 C0
- Get value of register 0x0A from all servo.
- Target Actuator ID = 0 (ALL)
- Addr = 0x0A
3. Return Packet.
- CAN ID = 0803F3xx
- xx = Servo's Node ID
- CAN DATA = <Actuator ID>, < ADDR of Register >, < DATA LO BYTE >, < DATA HI BYTE >
- NOTE: This format is not a DroneCAN standard format.
ex) 0003F307 07 0A 10 00
- Actuator ID = 7
- Addr = 0x0A
- Data = 0x0010
4. SAVE and RESET
- SAVE: Set Value 0xFFFF to Target Servo's Register 0x70.
- SERVO RESET: Set Value 0x0001 to Target Servo's Register 0x46.