1. Made a major change to how timing and micro_sleep were done in the core libraries. I was originally using openthreads from OSG. However, OSG simply refuses to compile on some microcomputer boards like odroid. This meant that the simulator would not run correctly. Instead, I have added the STLsoft library headers to 3rdParty and used their cross-platform performance_counter and micro_sleep functions to replace openthreads. This let me move all of the timing functions back into the core library.
I have the basics of the new Robot IO control system setup now. I can add an IO controller to the robot interface and add parts to it and associate a robot part with a compatible body part.
Forgot to have the robot parts linked body part initialized after loading.
I now have the C++ robot base parts getting created and able to be set from the GUI. I have the core DynamixelUSB classes setup and ready to start expanding them.
Got the DynamixelUSB moving the motor. Still a long way till it is actually working though.
Added the basic Firmata control systems. None work yet. I am going to have to make a big change to the QueryProperties method to get this to work easily.
I completely redid the QueryProperties method to use a new TypeProperty class that holds key info for all IO types. I eventually plan to turn this into a very simple reflection system using boost bind to bind it to get/set methods and to data pointers. This will let me get rid of GetDataPointer, QueryProperties, and SetData methods.