most functionality to splashdwon, find neutral and start mission. short timeouts still in code for testing, will adjust to go directly to sit_idle after splashdown

Dependencies:   mbed MODSERIAL FATFileSystem

Revision:
45:16b8162188ca
Child:
49:47ffa4feb6db
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/System/StaticDefs.cpp	Thu Feb 15 02:39:13 2018 +0000
@@ -0,0 +1,134 @@
+#include "StaticDefs.hpp"
+
+//Declare static global variables using 'construct on use' idiom to ensure they 
+// are always constructed correctly and avoid "static initialization order fiasco".
+
+Timer & systemTime() {
+    static Timer s;
+    return s;
+}
+
+Ticker & pulse() {
+    static Ticker pulse;
+    return pulse;   
+}
+    
+MODSERIAL & pc() {
+    static MODSERIAL pc(USBTX, USBRX);
+    //static MODSERIAL pc(p9, p10);        //XBee tx, rx pins
+    return pc;
+}
+
+//MODSERIAL & xb() {
+//    static MODSERIAL xb(p9, p10);        //XBee tx, rx pins
+//    return xb;
+//}
+
+
+//FIX THIS TO USE SPI data logger...
+
+MODSERIAL & datalogger() {
+    static MODSERIAL datalogger(p28, p27);  //Data Logger tx, rx pins
+    return datalogger;
+}
+
+LocalFileSystem & local() {
+    static LocalFileSystem local("local");
+    return local;    
+} 
+
+SDFileSystem & sd_card() {
+    static SDFileSystem sd_card(p11, p12, p13, p14, "sd");     //SDFileSystem sd_card(MOSI, MISO, SCK, CS, "sd");
+    return sd_card;
+}
+
+SpiADC & adc() {
+    static SpiADC adc(p5,p6,p7,p8,LED2);
+    return adc;
+}
+
+LinearActuator & bce() {
+    static LinearActuator bce(0.01, p25, p29, p30, p18, 0); //interval , pwm, dir, reset, limit switch, adc channel
+    return bce;
+}
+
+LinearActuator & batt() {
+    static LinearActuator batt(0.01, p23, p21, p22, p17, 1); //interval , pwm, dir, reset, limit switchm, adc channel
+    return batt;       
+}
+
+ServoDriver & servo() {
+    static ServoDriver servo(p24);
+    return servo;
+}
+    
+
+omegaPX209 & depth() {
+    static omegaPX209 depth(p19);   // pin
+    return depth;
+}
+
+IMU & imu() {
+    static IMU imu(p28, p27);       // tx, rx pin
+    return imu;    
+}
+
+OuterLoop & depthLoop() {
+    static OuterLoop depthLoop(0.1, 0); // interval, sensor type
+    return depthLoop;
+}
+
+OuterLoop & pitchLoop() {
+    static OuterLoop pitchLoop(0.1, 1); // interval, sensor type
+    return pitchLoop;
+}
+
+OuterLoop & rudderLoop() {
+    static OuterLoop rudderLoop(0.1, 2); // interval, sensor type
+    return rudderLoop;
+}
+
+StateMachine & stateMachine() {
+    static StateMachine stateMachine;
+    return stateMachine;
+}
+
+ConfigFileIO & configFileIO() {
+    static ConfigFileIO configFileIO;
+    return configFileIO;
+}
+
+SequenceController & sequenceController() {
+    static SequenceController sequenceController;
+    return sequenceController;
+}
+
+MbedLogger & mbedLogger() {
+    static MbedLogger mbedLogger("/local/");        //local file system
+    return mbedLogger;
+}
+
+MbedLogger & sdLogger() {
+    static MbedLogger sdLogger("/sd/");
+    return sdLogger;
+}
+
+DigitalOut & led1() {
+    static DigitalOut led1(LED1);
+    return led1;
+}
+
+DigitalOut & led2() {
+    static DigitalOut led2(LED2);
+    return led2;
+}
+
+DigitalOut & led3() {
+    static DigitalOut led3(LED3);
+    return led3;
+}
+
+DigitalOut & led4() {
+    static DigitalOut led4(LED4);
+    return led4;
+}
\ No newline at end of file