I have been playing around (actually currently skirting around this) and for step 1, I am merging in my latest changes into one code base. The way I am currently doing this is to have the main Hex_Cfg.h file currently is simply a place holder where you define which one you want and I have separate header files for each of my configurations. Looks like:
Code:
#ifndef HEX_CFG_H
#define HEX_CFG_H
// Only include one of these configurations!
#include "Hex_Cfg_Chr3.h"
//#include "Hex_Cfg_Thr4.h"
//#include "Hex_Cfg_THex3.h"
#endif
I then have each of the Input Controllers, with #ifdef around if it is being used or not: Like: #ifdef USEPS2 or #ifdef USESERIAL ... Currently the code base has the controller code for: PS2, Serial (using the old Powerpod Serial test interface), and Arbotix Commander 2 (Real simple but limited XBee Controller). Next will be to merge in my DIY XBee stuff, probably also including the ability to send debug stuff to the PC...
So far I have only merged in the SSC-32 support, will soon merge in some other Controllers for Servos, in particular Arduino Mega running servos directly, Chipkit Max32/Uno32 running servos, AX12...
Only the CHR-3 cfg file has been updated to allow multiple different processors, in particular it has Botboarduino, Arduino Mega using my Shield and Chipkit Max32 using my Shield. Currently I am testing it with the Max32 with SSC-32. Working well with Commander 2, currently debugging my PS2 controller support for Pic32s...
I now have a few of my projects up on github, including this one: BBDE_SSC32_PS2 (which is now a poor name for it). But warning, this is a WIP and which configuration is the currently selected one, depends on what I was last testing when I decide to upload... Note: I have not updated Lynxmotions Github accounts with any of these changes as I am not sure yet, if they are going to continue using Github nor what process they would like to use before things show up there or are updated there.
Once I make this pass through, I will try extracting some of these source files and generate libraries and then create several small projects that include just what they need.
That is all for now
Kurt