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:
tnhnrl
Date:
Tue Oct 23 20:35:16 2018 +0000
Revision:
79:3688c3a0d7f4
Parent:
77:60034ab20cf9
Child:
80:4e5d306d695b
SD card logger working

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() {
tnhnrl 79:3688c3a0d7f4 22 //static MODSERIAL xb(p9, p10); //XBee tx, rx pins
tnhnrl 79:3688c3a0d7f4 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 45:16b8162188ca 32 SDFileSystem & sd_card() {
tnhnrl 45:16b8162188ca 33 static SDFileSystem sd_card(p11, p12, p13, p14, "sd"); //SDFileSystem sd_card(MOSI, MISO, SCK, CS, "sd");
tnhnrl 45:16b8162188ca 34 return sd_card;
tnhnrl 45:16b8162188ca 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 }
tnhnrl 45:16b8162188ca 97
tnhnrl 73:f6f378311c8d 98 Sensors & sensors() {
tnhnrl 73:f6f378311c8d 99 static Sensors sensors;
tnhnrl 73:f6f378311c8d 100 return sensors;
tnhnrl 73:f6f378311c8d 101 }
tnhnrl 73:f6f378311c8d 102
tnhnrl 45:16b8162188ca 103 MbedLogger & mbedLogger() {
tnhnrl 45:16b8162188ca 104 static MbedLogger mbedLogger("/local/"); //local file system
tnhnrl 45:16b8162188ca 105 return mbedLogger;
tnhnrl 45:16b8162188ca 106 }
tnhnrl 45:16b8162188ca 107
tnhnrl 45:16b8162188ca 108 MbedLogger & sdLogger() {
tnhnrl 45:16b8162188ca 109 static MbedLogger sdLogger("/sd/");
tnhnrl 45:16b8162188ca 110 return sdLogger;
tnhnrl 45:16b8162188ca 111 }
tnhnrl 45:16b8162188ca 112
tnhnrl 45:16b8162188ca 113 DigitalOut & led1() {
tnhnrl 45:16b8162188ca 114 static DigitalOut led1(LED1);
tnhnrl 45:16b8162188ca 115 return led1;
tnhnrl 45:16b8162188ca 116 }
tnhnrl 45:16b8162188ca 117
tnhnrl 45:16b8162188ca 118 DigitalOut & led2() {
tnhnrl 45:16b8162188ca 119 static DigitalOut led2(LED2);
tnhnrl 45:16b8162188ca 120 return led2;
tnhnrl 45:16b8162188ca 121 }
tnhnrl 45:16b8162188ca 122
tnhnrl 45:16b8162188ca 123 DigitalOut & led3() {
tnhnrl 45:16b8162188ca 124 static DigitalOut led3(LED3);
tnhnrl 45:16b8162188ca 125 return led3;
tnhnrl 45:16b8162188ca 126 }
tnhnrl 45:16b8162188ca 127
tnhnrl 45:16b8162188ca 128 DigitalOut & led4() {
tnhnrl 45:16b8162188ca 129 static DigitalOut led4(LED4);
tnhnrl 45:16b8162188ca 130 return led4;
tnhnrl 73:f6f378311c8d 131 }
tnhnrl 73:f6f378311c8d 132
tnhnrl 73:f6f378311c8d 133 Gui & gui() {
tnhnrl 73:f6f378311c8d 134 static Gui pythonGUI;
tnhnrl 73:f6f378311c8d 135 return pythonGUI;
tnhnrl 45:16b8162188ca 136 }