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 Nov 21 22:03:26 2017 +0000
Revision:
17:7c16b5671d0e
Parent:
16:3363b9f14913
Child:
24:c7d9b5bf3829
FSG code commit 11/21

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mkelly10 9:d5fcdcb3c89d 1 #include "StaticDefs.hpp"
mkelly10 9:d5fcdcb3c89d 2
danstrider 10:085ab7328054 3 //Declare static global variables using 'construct on use' idiom to ensure they
danstrider 10:085ab7328054 4 // are always constructed correctly and avoid "static initialization order fiasco".
mkelly10 9:d5fcdcb3c89d 5
danstrider 10:085ab7328054 6 Timer & systemTime() {
mkelly10 9:d5fcdcb3c89d 7 static Timer s;
mkelly10 9:d5fcdcb3c89d 8 return s;
mkelly10 9:d5fcdcb3c89d 9 }
mkelly10 9:d5fcdcb3c89d 10
danstrider 10:085ab7328054 11 Ticker & pulse() {
danstrider 10:085ab7328054 12 static Ticker pulse;
danstrider 10:085ab7328054 13 return pulse;
danstrider 10:085ab7328054 14 }
danstrider 10:085ab7328054 15
danstrider 11:3b241ecb75ed 16 MODSERIAL & pc() {
tnhnrl 16:3363b9f14913 17 static MODSERIAL pc(USBTX, USBRX); //PC USB tx, rx pin
tnhnrl 16:3363b9f14913 18 //static MODSERIAL pc(p9, p10); //XBee tx, rx pins
danstrider 11:3b241ecb75ed 19 return pc;
mkelly10 9:d5fcdcb3c89d 20 }
mkelly10 9:d5fcdcb3c89d 21
danstrider 11:3b241ecb75ed 22 //MODSERIAL & xb() {
danstrider 11:3b241ecb75ed 23 // static MODSERIAL xb(p9, p10); //XBee tx, rx pins
danstrider 11:3b241ecb75ed 24 // return xb;
danstrider 11:3b241ecb75ed 25 //}
danstrider 11:3b241ecb75ed 26
danstrider 10:085ab7328054 27 LocalFileSystem & local() {
danstrider 10:085ab7328054 28 static LocalFileSystem local("local");
danstrider 10:085ab7328054 29 return local;
danstrider 10:085ab7328054 30 }
danstrider 10:085ab7328054 31
danstrider 10:085ab7328054 32 SpiADC & adc() {
danstrider 10:085ab7328054 33 static SpiADC adc(p5,p6,p7,p8,LED2);
mkelly10 9:d5fcdcb3c89d 34 return adc;
mkelly10 9:d5fcdcb3c89d 35 }
mkelly10 9:d5fcdcb3c89d 36
danstrider 10:085ab7328054 37 LinearActuator & bce() {
mkelly10 9:d5fcdcb3c89d 38 static LinearActuator bce(0.01, p25, p29, p30, p18, 0); //interval , pwm, dir, reset, limit switch, adc channel
mkelly10 9:d5fcdcb3c89d 39 return bce;
mkelly10 9:d5fcdcb3c89d 40 }
mkelly10 9:d5fcdcb3c89d 41
danstrider 10:085ab7328054 42 LinearActuator & batt() {
mkelly10 9:d5fcdcb3c89d 43 static LinearActuator batt(0.01, p23, p21, p22, p17, 1); //interval , pwm, dir, reset, limit switchm, adc channel
mkelly10 9:d5fcdcb3c89d 44 return batt;
mkelly10 9:d5fcdcb3c89d 45 }
mkelly10 9:d5fcdcb3c89d 46
danstrider 10:085ab7328054 47 omegaPX209 & depth() {
danstrider 10:085ab7328054 48 static omegaPX209 depth(p19); // pin
danstrider 10:085ab7328054 49 return depth;
danstrider 10:085ab7328054 50 }
mkelly10 9:d5fcdcb3c89d 51
danstrider 10:085ab7328054 52 IMU & imu() {
danstrider 10:085ab7328054 53 static IMU imu(p13,p14); // tx, rx pin
danstrider 10:085ab7328054 54 return imu;
danstrider 10:085ab7328054 55 }
danstrider 10:085ab7328054 56
danstrider 10:085ab7328054 57 OuterLoop & depthLoop() {
danstrider 10:085ab7328054 58 static OuterLoop depthLoop(0.1, 0); // interval, sensor type
danstrider 10:085ab7328054 59 return depthLoop;
danstrider 10:085ab7328054 60 }
danstrider 10:085ab7328054 61
danstrider 10:085ab7328054 62 OuterLoop & pitchLoop() {
danstrider 10:085ab7328054 63 static OuterLoop pitchLoop(0.1, 1); // interval, sensor type
danstrider 10:085ab7328054 64 return pitchLoop;
mkelly10 9:d5fcdcb3c89d 65 }
mkelly10 9:d5fcdcb3c89d 66
tnhnrl 16:3363b9f14913 67 StateMachine & stateMachine() {
tnhnrl 16:3363b9f14913 68 static StateMachine stateMachine;
tnhnrl 16:3363b9f14913 69 return stateMachine;
tnhnrl 16:3363b9f14913 70 }
tnhnrl 16:3363b9f14913 71
tnhnrl 17:7c16b5671d0e 72 ConfigFileIO & configFileIO() {
tnhnrl 17:7c16b5671d0e 73 static ConfigFileIO configFileIO;
tnhnrl 17:7c16b5671d0e 74 return configFileIO;
tnhnrl 17:7c16b5671d0e 75 }
tnhnrl 17:7c16b5671d0e 76
tnhnrl 17:7c16b5671d0e 77 SequenceController & sequenceController() {
tnhnrl 17:7c16b5671d0e 78 static SequenceController sequenceController;
tnhnrl 17:7c16b5671d0e 79 return sequenceController;
tnhnrl 17:7c16b5671d0e 80 }
tnhnrl 17:7c16b5671d0e 81
danstrider 10:085ab7328054 82 DigitalOut & led1() {
danstrider 10:085ab7328054 83 static DigitalOut led1(LED1);
danstrider 10:085ab7328054 84 return led1;
danstrider 10:085ab7328054 85 }
danstrider 10:085ab7328054 86
danstrider 10:085ab7328054 87 DigitalOut & led2() {
danstrider 10:085ab7328054 88 static DigitalOut led2(LED2);
danstrider 10:085ab7328054 89 return led2;
danstrider 10:085ab7328054 90 }
danstrider 10:085ab7328054 91
danstrider 10:085ab7328054 92 DigitalOut & led3() {
danstrider 10:085ab7328054 93 static DigitalOut led3(LED3);
danstrider 10:085ab7328054 94 return led3;
danstrider 10:085ab7328054 95 }
danstrider 10:085ab7328054 96
danstrider 10:085ab7328054 97 DigitalOut & led4() {
danstrider 10:085ab7328054 98 static DigitalOut led4(LED4);
danstrider 10:085ab7328054 99 return led4;
mkelly10 9:d5fcdcb3c89d 100 }