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@82:0981b9ada820, 2019-02-15 (annotated)
- Committer:
- joel_ssc
- Date:
- Fri Feb 15 16:00:17 2019 +0000
- Revision:
- 82:0981b9ada820
- Parent:
- 80:4e5d306d695b
- Child:
- 85:dd8176285b6e
intermediate stage of file leg system
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 |
tnhnrl | 80:4e5d306d695b | 23 | //static MODSERIAL xb(USBTX, USBRX); //XBee tx, rx pins |
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 | } |
tnhnrl | 45:16b8162188ca | 67 | |
tnhnrl | 45:16b8162188ca | 68 | OuterLoop & depthLoop() { |
tnhnrl | 45:16b8162188ca | 69 | static OuterLoop depthLoop(0.1, 0); // interval, sensor type |
tnhnrl | 45:16b8162188ca | 70 | return depthLoop; |
tnhnrl | 45:16b8162188ca | 71 | } |
tnhnrl | 45:16b8162188ca | 72 | |
tnhnrl | 45:16b8162188ca | 73 | OuterLoop & pitchLoop() { |
tnhnrl | 45:16b8162188ca | 74 | static OuterLoop pitchLoop(0.1, 1); // interval, sensor type |
tnhnrl | 45:16b8162188ca | 75 | return pitchLoop; |
tnhnrl | 45:16b8162188ca | 76 | } |
tnhnrl | 45:16b8162188ca | 77 | |
tnhnrl | 54:d4990fb68404 | 78 | OuterLoop & headingLoop() { |
tnhnrl | 54:d4990fb68404 | 79 | static OuterLoop headingLoop(0.1, 2); // interval, sensor type |
tnhnrl | 54:d4990fb68404 | 80 | return headingLoop; |
tnhnrl | 45:16b8162188ca | 81 | } |
tnhnrl | 45:16b8162188ca | 82 | |
tnhnrl | 45:16b8162188ca | 83 | StateMachine & stateMachine() { |
tnhnrl | 45:16b8162188ca | 84 | static StateMachine stateMachine; |
tnhnrl | 45:16b8162188ca | 85 | return stateMachine; |
tnhnrl | 45:16b8162188ca | 86 | } |
tnhnrl | 45:16b8162188ca | 87 | |
tnhnrl | 45:16b8162188ca | 88 | ConfigFileIO & configFileIO() { |
tnhnrl | 45:16b8162188ca | 89 | static ConfigFileIO configFileIO; |
tnhnrl | 45:16b8162188ca | 90 | return configFileIO; |
tnhnrl | 45:16b8162188ca | 91 | } |
tnhnrl | 45:16b8162188ca | 92 | |
tnhnrl | 45:16b8162188ca | 93 | SequenceController & sequenceController() { |
tnhnrl | 45:16b8162188ca | 94 | static SequenceController sequenceController; |
tnhnrl | 45:16b8162188ca | 95 | return sequenceController; |
tnhnrl | 45:16b8162188ca | 96 | } |
joel_ssc | 82:0981b9ada820 | 97 | LegController & legController() { |
joel_ssc | 82:0981b9ada820 | 98 | static LegController legController; |
joel_ssc | 82:0981b9ada820 | 99 | return legController; |
joel_ssc | 82:0981b9ada820 | 100 | } |
tnhnrl | 45:16b8162188ca | 101 | |
tnhnrl | 73:f6f378311c8d | 102 | Sensors & sensors() { |
tnhnrl | 73:f6f378311c8d | 103 | static Sensors sensors; |
tnhnrl | 73:f6f378311c8d | 104 | return sensors; |
tnhnrl | 73:f6f378311c8d | 105 | } |
tnhnrl | 73:f6f378311c8d | 106 | |
tnhnrl | 45:16b8162188ca | 107 | MbedLogger & mbedLogger() { |
tnhnrl | 45:16b8162188ca | 108 | static MbedLogger mbedLogger("/local/"); //local file system |
tnhnrl | 45:16b8162188ca | 109 | return mbedLogger; |
tnhnrl | 45:16b8162188ca | 110 | } |
tnhnrl | 45:16b8162188ca | 111 | |
tnhnrl | 45:16b8162188ca | 112 | MbedLogger & sdLogger() { |
tnhnrl | 45:16b8162188ca | 113 | static MbedLogger sdLogger("/sd/"); |
tnhnrl | 45:16b8162188ca | 114 | return sdLogger; |
tnhnrl | 45:16b8162188ca | 115 | } |
tnhnrl | 45:16b8162188ca | 116 | |
tnhnrl | 45:16b8162188ca | 117 | DigitalOut & led1() { |
tnhnrl | 45:16b8162188ca | 118 | static DigitalOut led1(LED1); |
tnhnrl | 45:16b8162188ca | 119 | return led1; |
tnhnrl | 45:16b8162188ca | 120 | } |
tnhnrl | 45:16b8162188ca | 121 | |
tnhnrl | 45:16b8162188ca | 122 | DigitalOut & led2() { |
tnhnrl | 45:16b8162188ca | 123 | static DigitalOut led2(LED2); |
tnhnrl | 45:16b8162188ca | 124 | return led2; |
tnhnrl | 45:16b8162188ca | 125 | } |
tnhnrl | 45:16b8162188ca | 126 | |
tnhnrl | 45:16b8162188ca | 127 | DigitalOut & led3() { |
tnhnrl | 45:16b8162188ca | 128 | static DigitalOut led3(LED3); |
tnhnrl | 45:16b8162188ca | 129 | return led3; |
tnhnrl | 45:16b8162188ca | 130 | } |
tnhnrl | 45:16b8162188ca | 131 | |
tnhnrl | 45:16b8162188ca | 132 | DigitalOut & led4() { |
tnhnrl | 45:16b8162188ca | 133 | static DigitalOut led4(LED4); |
tnhnrl | 45:16b8162188ca | 134 | return led4; |
tnhnrl | 73:f6f378311c8d | 135 | } |
tnhnrl | 73:f6f378311c8d | 136 | |
tnhnrl | 73:f6f378311c8d | 137 | Gui & gui() { |
tnhnrl | 73:f6f378311c8d | 138 | static Gui pythonGUI; |
tnhnrl | 73:f6f378311c8d | 139 | return pythonGUI; |
tnhnrl | 45:16b8162188ca | 140 | } |