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:
danstrider
Date:
Mon Oct 23 12:50:53 2017 +0000
Revision:
10:085ab7328054
Parent:
9:d5fcdcb3c89d
Child:
11:3b241ecb75ed
checked out on the hardware

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 10:085ab7328054 16 Serial & pc() {
danstrider 10:085ab7328054 17 static Serial p(USBTX, USBRX); // tx, rx
mkelly10 9:d5fcdcb3c89d 18 return p;
mkelly10 9:d5fcdcb3c89d 19 }
mkelly10 9:d5fcdcb3c89d 20
danstrider 10:085ab7328054 21 LocalFileSystem & local() {
danstrider 10:085ab7328054 22 static LocalFileSystem local("local");
danstrider 10:085ab7328054 23 return local;
danstrider 10:085ab7328054 24 }
danstrider 10:085ab7328054 25
danstrider 10:085ab7328054 26 SpiADC & adc() {
danstrider 10:085ab7328054 27 static SpiADC adc(p5,p6,p7,p8,LED2);
mkelly10 9:d5fcdcb3c89d 28 return adc;
mkelly10 9:d5fcdcb3c89d 29 }
mkelly10 9:d5fcdcb3c89d 30
danstrider 10:085ab7328054 31 LinearActuator & bce() {
mkelly10 9:d5fcdcb3c89d 32 static LinearActuator bce(0.01, p25, p29, p30, p18, 0); //interval , pwm, dir, reset, limit switch, adc channel
mkelly10 9:d5fcdcb3c89d 33 return bce;
mkelly10 9:d5fcdcb3c89d 34 }
mkelly10 9:d5fcdcb3c89d 35
danstrider 10:085ab7328054 36 LinearActuator & batt() {
mkelly10 9:d5fcdcb3c89d 37 static LinearActuator batt(0.01, p23, p21, p22, p17, 1); //interval , pwm, dir, reset, limit switchm, adc channel
mkelly10 9:d5fcdcb3c89d 38 return batt;
mkelly10 9:d5fcdcb3c89d 39 }
mkelly10 9:d5fcdcb3c89d 40
danstrider 10:085ab7328054 41 omegaPX209 & depth() {
danstrider 10:085ab7328054 42 static omegaPX209 depth(p19); // pin
danstrider 10:085ab7328054 43 return depth;
danstrider 10:085ab7328054 44 }
mkelly10 9:d5fcdcb3c89d 45
danstrider 10:085ab7328054 46 IMU & imu() {
danstrider 10:085ab7328054 47 static IMU imu(p13,p14); // tx, rx pin
danstrider 10:085ab7328054 48 return imu;
danstrider 10:085ab7328054 49 }
danstrider 10:085ab7328054 50
danstrider 10:085ab7328054 51 OuterLoop & depthLoop() {
danstrider 10:085ab7328054 52 static OuterLoop depthLoop(0.1, 0); // interval, sensor type
danstrider 10:085ab7328054 53 return depthLoop;
danstrider 10:085ab7328054 54 }
danstrider 10:085ab7328054 55
danstrider 10:085ab7328054 56 OuterLoop & pitchLoop() {
danstrider 10:085ab7328054 57 static OuterLoop pitchLoop(0.1, 1); // interval, sensor type
danstrider 10:085ab7328054 58 return pitchLoop;
mkelly10 9:d5fcdcb3c89d 59 }
mkelly10 9:d5fcdcb3c89d 60
danstrider 10:085ab7328054 61 DigitalOut & led1() {
danstrider 10:085ab7328054 62 static DigitalOut led1(LED1);
danstrider 10:085ab7328054 63 return led1;
danstrider 10:085ab7328054 64 }
danstrider 10:085ab7328054 65
danstrider 10:085ab7328054 66 DigitalOut & led2() {
danstrider 10:085ab7328054 67 static DigitalOut led2(LED2);
danstrider 10:085ab7328054 68 return led2;
danstrider 10:085ab7328054 69 }
danstrider 10:085ab7328054 70
danstrider 10:085ab7328054 71 DigitalOut & led3() {
danstrider 10:085ab7328054 72 static DigitalOut led3(LED3);
danstrider 10:085ab7328054 73 return led3;
danstrider 10:085ab7328054 74 }
danstrider 10:085ab7328054 75
danstrider 10:085ab7328054 76 DigitalOut & led4() {
danstrider 10:085ab7328054 77 static DigitalOut led4(LED4);
danstrider 10:085ab7328054 78 return led4;
mkelly10 9:d5fcdcb3c89d 79 }