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:
Mon Oct 30 21:09:19 2017 +0000
Revision:
13:84fcbe1dcd62
Parent:
11:3b241ecb75ed
Child:
14:85b64a4d08e8
Tested hardware for bce and made several pause fixes.  Homing works. Added offset to pitch and depth.txt files, and the control loop works.  PID gain for depth had to be negative.  Next is to replace the motor and test pitch loop.

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 13:84fcbe1dcd62 17 static MODSERIAL pc(USBTX, USBRX); //PC USB tx, rx pin
tnhnrl 13:84fcbe1dcd62 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 }