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

Committer:
joel_ssc
Date:
Fri Feb 15 16:00:17 2019 +0000
Revision:
82:0981b9ada820
Parent:
80:4e5d306d695b
Child:
85:dd8176285b6e
intermediate stage of file leg system

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tnhnrl 45:16b8162188ca 1 #include "StaticDefs.hpp"
tnhnrl 45:16b8162188ca 2
tnhnrl 45:16b8162188ca 3 //Declare static global variables using 'construct on use' idiom to ensure they
tnhnrl 45:16b8162188ca 4 // are always constructed correctly and avoid "static initialization order fiasco".
tnhnrl 45:16b8162188ca 5
tnhnrl 45:16b8162188ca 6 Timer & systemTime() {
tnhnrl 45:16b8162188ca 7 static Timer s;
tnhnrl 45:16b8162188ca 8 return s;
tnhnrl 45:16b8162188ca 9 }
tnhnrl 45:16b8162188ca 10
tnhnrl 45:16b8162188ca 11 Ticker & pulse() {
tnhnrl 45:16b8162188ca 12 static Ticker pulse;
tnhnrl 45:16b8162188ca 13 return pulse;
tnhnrl 45:16b8162188ca 14 }
tnhnrl 45:16b8162188ca 15
tnhnrl 74:d281aaef9766 16 //MODSERIAL & pc() {
tnhnrl 74:d281aaef9766 17 // //static MODSERIAL pc(USBTX, USBRX);
tnhnrl 74:d281aaef9766 18 // return pc;
tnhnrl 74:d281aaef9766 19 //}
tnhnrl 74:d281aaef9766 20
tnhnrl 74:d281aaef9766 21 MODSERIAL & xbee() {
joel_ssc 82:0981b9ada820 22 static MODSERIAL xb(p9, p10); //XBee tx, rx pins
tnhnrl 80:4e5d306d695b 23 //static MODSERIAL xb(USBTX, USBRX); //XBee tx, rx pins
tnhnrl 74:d281aaef9766 24 return xb;
tnhnrl 45:16b8162188ca 25 }
tnhnrl 45:16b8162188ca 26
tnhnrl 45:16b8162188ca 27 LocalFileSystem & local() {
tnhnrl 45:16b8162188ca 28 static LocalFileSystem local("local");
tnhnrl 45:16b8162188ca 29 return local;
tnhnrl 45:16b8162188ca 30 }
tnhnrl 45:16b8162188ca 31
tnhnrl 80:4e5d306d695b 32 //SDFileSystem & sd_card() {
tnhnrl 80:4e5d306d695b 33 // static SDFileSystem sd_card(p11, p12, p13, p14, "sd"); //SDFileSystem sd_card(MOSI, MISO, SCK, CS, "sd");
tnhnrl 80:4e5d306d695b 34 // return sd_card;
tnhnrl 80:4e5d306d695b 35 //}
tnhnrl 45:16b8162188ca 36
tnhnrl 45:16b8162188ca 37 SpiADC & adc() {
tnhnrl 45:16b8162188ca 38 static SpiADC adc(p5,p6,p7,p8,LED2);
tnhnrl 45:16b8162188ca 39 return adc;
tnhnrl 45:16b8162188ca 40 }
tnhnrl 45:16b8162188ca 41
tnhnrl 53:c0586fe62b01 42 LinearActuator & bce() { // pwm,dir,res,swt
tnhnrl 53:c0586fe62b01 43 static LinearActuator bce(0.01,p22,p15,p16,p17,0); //interval , pwm, dir, reset, limit switch, adc channel (confirmed)
tnhnrl 45:16b8162188ca 44 return bce;
tnhnrl 45:16b8162188ca 45 }
tnhnrl 45:16b8162188ca 46
tnhnrl 53:c0586fe62b01 47 LinearActuator & batt() { // pwm,dir,res,swt
tnhnrl 53:c0586fe62b01 48 static LinearActuator batt(0.01,p21,p20,p19,p18,1); //interval , pwm, dir, reset, limit switch, adc channel (confirmed)
tnhnrl 45:16b8162188ca 49 return batt;
tnhnrl 45:16b8162188ca 50 }
tnhnrl 45:16b8162188ca 51
tnhnrl 52:f207567d3ea4 52 ServoDriver & rudder() {
tnhnrl 56:48a8a5a65b82 53 static ServoDriver rudder(p26); //current rudder pin on the latest drawing 06/11/2018
tnhnrl 52:f207567d3ea4 54 return rudder;
tnhnrl 45:16b8162188ca 55 }
tnhnrl 45:16b8162188ca 56
mkelly10 51:c5c40272ecc3 57 //*************Need to adjust class**************
tnhnrl 45:16b8162188ca 58 omegaPX209 & depth() {
tnhnrl 45:16b8162188ca 59 static omegaPX209 depth(p19); // pin
tnhnrl 45:16b8162188ca 60 return depth;
tnhnrl 45:16b8162188ca 61 }
tnhnrl 45:16b8162188ca 62
tnhnrl 45:16b8162188ca 63 IMU & imu() {
tnhnrl 57:ec69651c8c21 64 static IMU imu(p28, p27); // tx, rx pin
tnhnrl 45:16b8162188ca 65 return imu;
tnhnrl 45:16b8162188ca 66 }
tnhnrl 45:16b8162188ca 67
tnhnrl 45:16b8162188ca 68 OuterLoop & depthLoop() {
tnhnrl 45:16b8162188ca 69 static OuterLoop depthLoop(0.1, 0); // interval, sensor type
tnhnrl 45:16b8162188ca 70 return depthLoop;
tnhnrl 45:16b8162188ca 71 }
tnhnrl 45:16b8162188ca 72
tnhnrl 45:16b8162188ca 73 OuterLoop & pitchLoop() {
tnhnrl 45:16b8162188ca 74 static OuterLoop pitchLoop(0.1, 1); // interval, sensor type
tnhnrl 45:16b8162188ca 75 return pitchLoop;
tnhnrl 45:16b8162188ca 76 }
tnhnrl 45:16b8162188ca 77
tnhnrl 54:d4990fb68404 78 OuterLoop & headingLoop() {
tnhnrl 54:d4990fb68404 79 static OuterLoop headingLoop(0.1, 2); // interval, sensor type
tnhnrl 54:d4990fb68404 80 return headingLoop;
tnhnrl 45:16b8162188ca 81 }
tnhnrl 45:16b8162188ca 82
tnhnrl 45:16b8162188ca 83 StateMachine & stateMachine() {
tnhnrl 45:16b8162188ca 84 static StateMachine stateMachine;
tnhnrl 45:16b8162188ca 85 return stateMachine;
tnhnrl 45:16b8162188ca 86 }
tnhnrl 45:16b8162188ca 87
tnhnrl 45:16b8162188ca 88 ConfigFileIO & configFileIO() {
tnhnrl 45:16b8162188ca 89 static ConfigFileIO configFileIO;
tnhnrl 45:16b8162188ca 90 return configFileIO;
tnhnrl 45:16b8162188ca 91 }
tnhnrl 45:16b8162188ca 92
tnhnrl 45:16b8162188ca 93 SequenceController & sequenceController() {
tnhnrl 45:16b8162188ca 94 static SequenceController sequenceController;
tnhnrl 45:16b8162188ca 95 return sequenceController;
tnhnrl 45:16b8162188ca 96 }
joel_ssc 82:0981b9ada820 97 LegController & legController() {
joel_ssc 82:0981b9ada820 98 static LegController legController;
joel_ssc 82:0981b9ada820 99 return legController;
joel_ssc 82:0981b9ada820 100 }
tnhnrl 45:16b8162188ca 101
tnhnrl 73:f6f378311c8d 102 Sensors & sensors() {
tnhnrl 73:f6f378311c8d 103 static Sensors sensors;
tnhnrl 73:f6f378311c8d 104 return sensors;
tnhnrl 73:f6f378311c8d 105 }
tnhnrl 73:f6f378311c8d 106
tnhnrl 45:16b8162188ca 107 MbedLogger & mbedLogger() {
tnhnrl 45:16b8162188ca 108 static MbedLogger mbedLogger("/local/"); //local file system
tnhnrl 45:16b8162188ca 109 return mbedLogger;
tnhnrl 45:16b8162188ca 110 }
tnhnrl 45:16b8162188ca 111
tnhnrl 45:16b8162188ca 112 MbedLogger & sdLogger() {
tnhnrl 45:16b8162188ca 113 static MbedLogger sdLogger("/sd/");
tnhnrl 45:16b8162188ca 114 return sdLogger;
tnhnrl 45:16b8162188ca 115 }
tnhnrl 45:16b8162188ca 116
tnhnrl 45:16b8162188ca 117 DigitalOut & led1() {
tnhnrl 45:16b8162188ca 118 static DigitalOut led1(LED1);
tnhnrl 45:16b8162188ca 119 return led1;
tnhnrl 45:16b8162188ca 120 }
tnhnrl 45:16b8162188ca 121
tnhnrl 45:16b8162188ca 122 DigitalOut & led2() {
tnhnrl 45:16b8162188ca 123 static DigitalOut led2(LED2);
tnhnrl 45:16b8162188ca 124 return led2;
tnhnrl 45:16b8162188ca 125 }
tnhnrl 45:16b8162188ca 126
tnhnrl 45:16b8162188ca 127 DigitalOut & led3() {
tnhnrl 45:16b8162188ca 128 static DigitalOut led3(LED3);
tnhnrl 45:16b8162188ca 129 return led3;
tnhnrl 45:16b8162188ca 130 }
tnhnrl 45:16b8162188ca 131
tnhnrl 45:16b8162188ca 132 DigitalOut & led4() {
tnhnrl 45:16b8162188ca 133 static DigitalOut led4(LED4);
tnhnrl 45:16b8162188ca 134 return led4;
tnhnrl 73:f6f378311c8d 135 }
tnhnrl 73:f6f378311c8d 136
tnhnrl 73:f6f378311c8d 137 Gui & gui() {
tnhnrl 73:f6f378311c8d 138 static Gui pythonGUI;
tnhnrl 73:f6f378311c8d 139 return pythonGUI;
tnhnrl 45:16b8162188ca 140 }