New library for Dynamixel motors

Hi,

I have developped a new library to control dynamixel motors from robotis (that use a custom serial protocol, unlike most other servos):

The library allows to control motors both in joint and wheel mode, using a high level interface (see test_motor program for an example how to use it).
Only hardware serial is supported for now and it supports communication at speed up to 1MBd.

You can use it by connecting both rx and tx arduino pins to the communication pin of the motor, and GDD/VIN arduino pins to the appropriate motor pins, with a power source of 9 or 12V.

It is still in beta and incomplete, but feel free to try it and report your experience.
Any feedback will be very appreciated!

PS : If you have problems using it with old versions of the IDE, there seems to be some seen weird issue with serial communication in version 1.0.x, and i have only tested it (succesfully) with 1.6.5 version, so i am not sure for intermediate versions.

There was a dynamixel lib added to the library manager not to long ago. Does yours provide anything different? (I haven't used it, but may be useful if yours is still in beta).

I didn't know this library, thanks for the information.

It seems well done and well documented.
However i will probably continue to use and develop my library, because i think it has several advantages:

-it does not require any additional hardware to handle the half duplex connection, at least for the models that use TTL.
The receiver/transmitter pins of the UART are simply connected together and disabled/enabled when necessary.

The library you cite requires additionnal hardware to switch between send/receive mode.
This is actually the recommended way to communicate with the servo (see (주)로보티즈), but it make it more difficult to use.

For this reason, i was not able to test it, because i do not have the required hardware at hand.

-Related to the above point, and probably more importantly, i designed the library to allow to add very simply new interface types, like the one the other library uses, or software serial, that could be usefull when only one uart is available. Not sure if it is the case for the other library?

-My interface is more high level, and object oriented.
Compare for example how i set the position:

motor.position(0x1ff);

vs:

servo_set(SERVO_BROADCAST_ID, SERVO_REGISTER_GOAL_ANGLE, 6.283, timeout);

-I can define and use several bus at the same time (not sure if it will really be usefull in practise, though)