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:
Tue Oct 31 17:06:52 2017 +0000
Revision:
14:85b64a4d08e8
Parent:
13:84fcbe1dcd62
Child:
16:3363b9f14913
New depth sensor class with tare and oversampling.

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() {
danstrider 14:85b64a4d08e8 17 //static MODSERIAL pc(USBTX, USBRX); //PC USB tx, rx pin
danstrider 14:85b64a4d08e8 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
danstrider 10:085ab7328054 67 DigitalOut & led1() {
danstrider 10:085ab7328054 68 static DigitalOut led1(LED1);
danstrider 10:085ab7328054 69 return led1;
danstrider 10:085ab7328054 70 }
danstrider 10:085ab7328054 71
danstrider 10:085ab7328054 72 DigitalOut & led2() {
danstrider 10:085ab7328054 73 static DigitalOut led2(LED2);
danstrider 10:085ab7328054 74 return led2;
danstrider 10:085ab7328054 75 }
danstrider 10:085ab7328054 76
danstrider 10:085ab7328054 77 DigitalOut & led3() {
danstrider 10:085ab7328054 78 static DigitalOut led3(LED3);
danstrider 10:085ab7328054 79 return led3;
danstrider 10:085ab7328054 80 }
danstrider 10:085ab7328054 81
danstrider 10:085ab7328054 82 DigitalOut & led4() {
danstrider 10:085ab7328054 83 static DigitalOut led4(LED4);
danstrider 10:085ab7328054 84 return led4;
mkelly10 9:d5fcdcb3c89d 85 }