Dynamixel_Servo is an Arduino compatible library for controlling Dynamixel MX and RX series servos.
This module presents a high-level interface and a low-level interface for manipulating the servo's registers. The high-level interface looks up the width (one or two bytes) of the specified value and manipulates all relevant registers (low byte and high byte) as a single value. The high-level interface also performs automatic conversions between the raw values defined in the servo's datasheet, and physical values such as radians, radians-per-second, Amperes, Volts, baud, microseconds, degrees-Celcius, percent (of the motor's maximum torque) etc... as appropriate to the value. The down-side is that the high-level interface hogs several kilobytes of code space, as the result of using floating-point math and having some large-ish lookup tables. Therefore a low-level interface is provided that allows more straightforward access to the servo's registers using raw values, which may optionally be converted to and from physical values using the provided functions. Using the low-level interface and raw values may save several kilobytes of code space (The compiler won't compile functions that aren't used). The low-level interface also provides the capability to access several of the servo's values in a single command using the xxx_raw_page functions.