View Full Version : [Question(s)] Fast reading of multiple addresses from multiple servos with OpenCM9.04 (Sync Read)

08-15-2014, 02:01 PM
I'm using an OpenCM9.04 with multiple MX-64 servos. Does anyone have experience with fast methods for reading multiple values from a single servo and from multiple servos. I've seen some reference to "Sync Read" in the Dynamixel 2.0 protocol documentation (link (http://support.robotis.com/en/product/dynamixel2/communication/instruction_status_packet.htm)), but no actual code. Is this compatible with my board/servos? Has anyone anyone implemented it and made C/C++ code available? If not, would anyone be willing to collaborate on this or point me to any resources/code that could be useful? Thanks.

08-15-2014, 07:03 PM
The MX servos should support the bulk_read packet, but not entirely sure of the details or usage other than the implementation within the DARwIn-OP framework.

IIRC, it is a bit like an EtherCAT packet in that each servo writes some portion of the return packet depending on the contents of the bulk_read command/request packet. If I am thinking correctly, the request contains a list of servo ID numbers, start addresses, and lengths, then the first servo in the list begins the return packet and the final servo in the list computes the checksum of the entire return packet as received from all the previous servos.