Difference between revisions of "CanServo/Protocol/DroneCAN/ReadWriteRegister/en"

From HITEC_HELP
Jump to navigation Jump to search
(Created page with " This protocol use custom data format of actuator.ArrayCommand and actuator.Status. You must set Node ID and Actuator ID. ( CanServo/ID/modes/en ) 1. Set a Register Valu...")
 
 
(9 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


* ex) 8003F200 07 6A 01 00 C0
ex) 8003F200 07 6A 01 00 C0
* Set value 0x0001 to register 0x6A of Servo 7.
* Set value 0x0001 to register 0x6A of Servo 7.
* Target Actuator ID = 7
* Target Actuator ID = 7
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


* ex) 8003F200 80 0A 00 00 C0
ex) 8003F200 80 0A 00 00 C0
* Get value of register 0x0A from all servo.
* Get value of register 0x0A from all servo.
* Target Actuator ID = 0 (ALL)
* Target Actuator ID = 0 (ALL)
Line 32: Line 36:


* CAN ID = 0803F3xx
* CAN ID = 0803F3xx
* xx = Servo's Actautor ID
* 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
* Actuator ID = 7
* Actuator ID = 7
* Addr = 0x0A
* Addr = 0x0A

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.