by i-Bot » Thu Sep 01, 2011 4:30 pm
by i-Bot
Thu Sep 01, 2011 4:30 pm
You are right there does appear to be an error in the Example 17.
If you decode the final message:
Instruction Packet: FF FF 01 07 03 1E 00 02 00 02 D3
0xFF 0xFF: is the header
0x01: is the ID of the servo
0x07: is the length of the message ( enough for 4 bytes of write data)
0x03: is the write instruction
0x1E: is the start address in RX64 memory where write starts
This is the goal position(L) from the table 3-4 Control table, so 4 bytes written will write to goal position(L), goal position(H), moving speed(L), moving speed(H)
0x00 0x02: = 0x200 written to goal position
0x00 0x02: = 0x200 written to moving speed
0xD3: correct checksum
So the goal position is written as 0x200 (512), not 511 as stated earlier in example.
For the software, are you using USB2Dynamixel as interface ?
Do you want utilities such as dynamixel wizard , complete program like Roboplus, or libraries for development under C# or C++ ?
You are right there does appear to be an error in the Example 17.
If you decode the final message:
Instruction Packet: FF FF 01 07 03 1E 00 02 00 02 D3
0xFF 0xFF: is the header
0x01: is the ID of the servo
0x07: is the length of the message ( enough for 4 bytes of write data)
0x03: is the write instruction
0x1E: is the start address in RX64 memory where write starts
This is the goal position(L) from the table 3-4 Control table, so 4 bytes written will write to goal position(L), goal position(H), moving speed(L), moving speed(H)
0x00 0x02: = 0x200 written to goal position
0x00 0x02: = 0x200 written to moving speed
0xD3: correct checksum
So the goal position is written as 0x200 (512), not 511 as stated earlier in example.
For the software, are you using USB2Dynamixel as interface ?
Do you want utilities such as dynamixel wizard , complete program like Roboplus, or libraries for development under C# or C++ ?