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
System/StaticDefs.cpp@92:52a91656458a, 2019-05-13 (annotated)
- 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?
User | Revision | Line number | New 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 | } |