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:
Mon May 13 19:25:26 2019 +0000
Revision:
92:52a91656458a
Parent:
87:6d95f853dab3
version for first flight test, timeouts not yet set correctly

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
joel_ssc 85:dd8176285b6e 23 //static MODSERIAL xb(USBTX, USBRX); //if you want to send all the xbee() messages throught the USB connection
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 }
joel_ssc 87:6d95f853dab3 67 Sensors & sensors() {
joel_ssc 87:6d95f853dab3 68 static Sensors sensors;
joel_ssc 87:6d95f853dab3 69 return sensors;
joel_ssc 87:6d95f853dab3 70 }
tnhnrl 45:16b8162188ca 71
tnhnrl 45:16b8162188ca 72 OuterLoop & depthLoop() {
tnhnrl 45:16b8162188ca 73 static OuterLoop depthLoop(0.1, 0); // interval, sensor type
tnhnrl 45:16b8162188ca 74 return depthLoop;
tnhnrl 45:16b8162188ca 75 }
tnhnrl 45:16b8162188ca 76
tnhnrl 45:16b8162188ca 77 OuterLoop & pitchLoop() {
tnhnrl 45:16b8162188ca 78 static OuterLoop pitchLoop(0.1, 1); // interval, sensor type
tnhnrl 45:16b8162188ca 79 return pitchLoop;
tnhnrl 45:16b8162188ca 80 }
tnhnrl 45:16b8162188ca 81
tnhnrl 54:d4990fb68404 82 OuterLoop & headingLoop() {
tnhnrl 54:d4990fb68404 83 static OuterLoop headingLoop(0.1, 2); // interval, sensor type
tnhnrl 54:d4990fb68404 84 return headingLoop;
tnhnrl 45:16b8162188ca 85 }
joel_ssc 87:6d95f853dab3 86 OuterLoop & altimLoop() {
joel_ssc 87:6d95f853dab3 87 static OuterLoop altimLoop(0.1, 3); // interval, sensor type
joel_ssc 87:6d95f853dab3 88 return altimLoop;
joel_ssc 87:6d95f853dab3 89 }
joel_ssc 87:6d95f853dab3 90
tnhnrl 45:16b8162188ca 91
tnhnrl 45:16b8162188ca 92 StateMachine & stateMachine() {
tnhnrl 45:16b8162188ca 93 static StateMachine stateMachine;
tnhnrl 45:16b8162188ca 94 return stateMachine;
tnhnrl 45:16b8162188ca 95 }
tnhnrl 45:16b8162188ca 96
tnhnrl 45:16b8162188ca 97 ConfigFileIO & configFileIO() {
tnhnrl 45:16b8162188ca 98 static ConfigFileIO configFileIO;
tnhnrl 45:16b8162188ca 99 return configFileIO;
tnhnrl 45:16b8162188ca 100 }
tnhnrl 45:16b8162188ca 101
tnhnrl 45:16b8162188ca 102 SequenceController & sequenceController() {
tnhnrl 45:16b8162188ca 103 static SequenceController sequenceController;
tnhnrl 45:16b8162188ca 104 return sequenceController;
tnhnrl 45:16b8162188ca 105 }
joel_ssc 82:0981b9ada820 106 LegController & legController() {
joel_ssc 82:0981b9ada820 107 static LegController legController;
joel_ssc 82:0981b9ada820 108 return legController;
joel_ssc 82:0981b9ada820 109 }
tnhnrl 45:16b8162188ca 110
tnhnrl 73:f6f378311c8d 111
tnhnrl 45:16b8162188ca 112 MbedLogger & mbedLogger() {
tnhnrl 45:16b8162188ca 113 static MbedLogger mbedLogger("/local/"); //local file system
tnhnrl 45:16b8162188ca 114 return mbedLogger;
tnhnrl 45:16b8162188ca 115 }
tnhnrl 45:16b8162188ca 116
joel_ssc 87:6d95f853dab3 117 //MbedLogger & sdLogger() { // leaving this in with no SD card might be a problem.
joel_ssc 87:6d95f853dab3 118 // static MbedLogger sdLogger("/sd/");
joel_ssc 87:6d95f853dab3 119 // return sdLogger;
joel_ssc 87:6d95f853dab3 120 //}
tnhnrl 45:16b8162188ca 121
tnhnrl 45:16b8162188ca 122 DigitalOut & led1() {
tnhnrl 45:16b8162188ca 123 static DigitalOut led1(LED1);
tnhnrl 45:16b8162188ca 124 return led1;
tnhnrl 45:16b8162188ca 125 }
tnhnrl 45:16b8162188ca 126
tnhnrl 45:16b8162188ca 127 DigitalOut & led2() {
tnhnrl 45:16b8162188ca 128 static DigitalOut led2(LED2);
tnhnrl 45:16b8162188ca 129 return led2;
tnhnrl 45:16b8162188ca 130 }
tnhnrl 45:16b8162188ca 131
tnhnrl 45:16b8162188ca 132 DigitalOut & led3() {
tnhnrl 45:16b8162188ca 133 static DigitalOut led3(LED3);
tnhnrl 45:16b8162188ca 134 return led3;
tnhnrl 45:16b8162188ca 135 }
tnhnrl 45:16b8162188ca 136
tnhnrl 45:16b8162188ca 137 DigitalOut & led4() {
tnhnrl 45:16b8162188ca 138 static DigitalOut led4(LED4);
tnhnrl 45:16b8162188ca 139 return led4;
tnhnrl 73:f6f378311c8d 140 }
joel_ssc 87:6d95f853dab3 141 DigitalIn & motorDisconnect() {
joel_ssc 87:6d95f853dab3 142 static DigitalIn motorDisconnect(p24, PullDown);
joel_ssc 87:6d95f853dab3 143 return motorDisconnect;
joel_ssc 87:6d95f853dab3 144 }
tnhnrl 73:f6f378311c8d 145 Gui & gui() {
tnhnrl 73:f6f378311c8d 146 static Gui pythonGUI;
tnhnrl 73:f6f378311c8d 147 return pythonGUI;
tnhnrl 45:16b8162188ca 148 }