I am strongly considering setting up my own versions of the Arduino Phoenix code. Will probably set this up as several projects up on my Github account. The problems I am having with my/Lynxmotion current stuff is that it is all in one project and it is hard to setup and maintain multiple configurations that I can make changes to and then compile the code for several different configurations, using several different processors, or input devices, or Servo Drivers, or actual robot configurations, as all of the sources live in one directory that Must be the same name as the main Sketch…
So instead I am thinking that main sketch will turn into a simple shell, that calls off to main code that lives in Arduino Libraries. I am thinking of having 3 libraries, could go more could go less, Something like: Phoenix_Core, Phoenix_Input, Phoenix_ServoDrivers. I could make this all one library or could make it into 10 libraries and have a library for Phoenix_PS2_Input, Phoenix_RC_Input… Or could have these all with simple #ifdefs on which could gets included. However I want for example all of the Input classes to all be defined to the same class definition, like wise for Servo Drivers (SSC-32, Native Arduino Mega, Pic32, …)
Then the main sketch like for a BotboarDuino, CHR-3, PS2, might be as simple as:
#define USE_CONTROL_PS2
#define USE_SERVO_DRIVER_SSC32
#include <Phoenix_Core.h>
#include <Phoenix_Input.h>
#include <Phoenix_ServoDriver.h>
void setup() {
PhoenixSetup();
};
void loop() {
PhoenixLoop();
}
Thoughts? Suggestions?
Kurt