2021年3月伊豆大島共同打上実験の電装ミッションプログラム
Dependencies: mbed ADS1015 PQ_LPS22HB SPS30 SDFileSystem
main.cpp@0:976e8caa93f4, 2021-03-14 (annotated)
- Committer:
- kazuncho
- Date:
- Sun Mar 14 16:00:18 2021 +0000
- Revision:
- 0:976e8caa93f4
2021/03/15;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kazuncho | 0:976e8caa93f4 | 1 | #include "mbed.h" |
kazuncho | 0:976e8caa93f4 | 2 | #include <cmath> |
kazuncho | 0:976e8caa93f4 | 3 | #include "sps30.h" |
kazuncho | 0:976e8caa93f4 | 4 | #include "SDFileSystem.h" |
kazuncho | 0:976e8caa93f4 | 5 | #include "Adafruit_ADS1015.h" |
kazuncho | 0:976e8caa93f4 | 6 | #include "PQ_LPS22HB.h" |
kazuncho | 0:976e8caa93f4 | 7 | |
kazuncho | 0:976e8caa93f4 | 8 | #define ADS1115_ADDR 0b1001000 |
kazuncho | 0:976e8caa93f4 | 9 | |
kazuncho | 0:976e8caa93f4 | 10 | FILE *fp; |
kazuncho | 0:976e8caa93f4 | 11 | |
kazuncho | 0:976e8caa93f4 | 12 | I2C i2c(D4, D5); |
kazuncho | 0:976e8caa93f4 | 13 | Serial pc(USBTX, USBRX, 115200); |
kazuncho | 0:976e8caa93f4 | 14 | Sps30 sps(D4, D5, 100000); |
kazuncho | 0:976e8caa93f4 | 15 | SDFileSystem sd(D11, D12, D13, A3, "sd"); |
kazuncho | 0:976e8caa93f4 | 16 | Adafruit_ADS1115 ads1115(&i2c, ADS1115_ADDR); |
kazuncho | 0:976e8caa93f4 | 17 | LPS22HB lps33hw(i2c, LPS22HB::SA0_HIGH); |
kazuncho | 0:976e8caa93f4 | 18 | LPS22HB lps22hb(i2c, LPS22HB::SA0_LOW); |
kazuncho | 0:976e8caa93f4 | 19 | |
kazuncho | 0:976e8caa93f4 | 20 | DigitalOut switch_on(D0); |
kazuncho | 0:976e8caa93f4 | 21 | DigitalIn mission(D6); |
kazuncho | 0:976e8caa93f4 | 22 | DigitalIn relay(D3); |
kazuncho | 0:976e8caa93f4 | 23 | |
kazuncho | 0:976e8caa93f4 | 24 | Timer mission_timer; |
kazuncho | 0:976e8caa93f4 | 25 | Timer flight_timer; |
kazuncho | 0:976e8caa93f4 | 26 | Timer sd_timer; |
kazuncho | 0:976e8caa93f4 | 27 | Ticker log_ticker; |
kazuncho | 0:976e8caa93f4 | 28 | Ticker read_ticker; |
kazuncho | 0:976e8caa93f4 | 29 | |
kazuncho | 0:976e8caa93f4 | 30 | char file_name[64]; |
kazuncho | 0:976e8caa93f4 | 31 | char f_inside_lps; |
kazuncho | 0:976e8caa93f4 | 32 | char f_outside_lps; |
kazuncho | 0:976e8caa93f4 | 33 | |
kazuncho | 0:976e8caa93f4 | 34 | enum { |
kazuncho | 0:976e8caa93f4 | 35 | READY, |
kazuncho | 0:976e8caa93f4 | 36 | RISE, |
kazuncho | 0:976e8caa93f4 | 37 | FALL, |
kazuncho | 0:976e8caa93f4 | 38 | RECOVERY, |
kazuncho | 0:976e8caa93f4 | 39 | } phase; |
kazuncho | 0:976e8caa93f4 | 40 | |
kazuncho | 0:976e8caa93f4 | 41 | bool recovery = false; |
kazuncho | 0:976e8caa93f4 | 42 | |
kazuncho | 0:976e8caa93f4 | 43 | int mission_time; |
kazuncho | 0:976e8caa93f4 | 44 | int flight_time; |
kazuncho | 0:976e8caa93f4 | 45 | int sps_init; |
kazuncho | 0:976e8caa93f4 | 46 | int sps_poll; |
kazuncho | 0:976e8caa93f4 | 47 | |
kazuncho | 0:976e8caa93f4 | 48 | float pitot_speed; |
kazuncho | 0:976e8caa93f4 | 49 | float density = 1.3; |
kazuncho | 0:976e8caa93f4 | 50 | |
kazuncho | 0:976e8caa93f4 | 51 | float outside_press; |
kazuncho | 0:976e8caa93f4 | 52 | float outside_temp; |
kazuncho | 0:976e8caa93f4 | 53 | float inside_press; |
kazuncho | 0:976e8caa93f4 | 54 | float inside_temp; |
kazuncho | 0:976e8caa93f4 | 55 | |
kazuncho | 0:976e8caa93f4 | 56 | float mass1p0; |
kazuncho | 0:976e8caa93f4 | 57 | float mass2p5; |
kazuncho | 0:976e8caa93f4 | 58 | float mass4p0; |
kazuncho | 0:976e8caa93f4 | 59 | float mass10p0; |
kazuncho | 0:976e8caa93f4 | 60 | float num0p5; |
kazuncho | 0:976e8caa93f4 | 61 | float num1p0; |
kazuncho | 0:976e8caa93f4 | 62 | float num2p5; |
kazuncho | 0:976e8caa93f4 | 63 | float num4p0; |
kazuncho | 0:976e8caa93f4 | 64 | float num10p0; |
kazuncho | 0:976e8caa93f4 | 65 | float typ_pm; |
kazuncho | 0:976e8caa93f4 | 66 | |
kazuncho | 0:976e8caa93f4 | 67 | void init(); |
kazuncho | 0:976e8caa93f4 | 68 | void read(); |
kazuncho | 0:976e8caa93f4 | 69 | void pitot_tube(); |
kazuncho | 0:976e8caa93f4 | 70 | void lps33hw_mission(); |
kazuncho | 0:976e8caa93f4 | 71 | void lps22hb_mission(); |
kazuncho | 0:976e8caa93f4 | 72 | void record(); |
kazuncho | 0:976e8caa93f4 | 73 | void read_sps30(); |
kazuncho | 0:976e8caa93f4 | 74 | |
kazuncho | 0:976e8caa93f4 | 75 | int main() |
kazuncho | 0:976e8caa93f4 | 76 | { |
kazuncho | 0:976e8caa93f4 | 77 | init(); |
kazuncho | 0:976e8caa93f4 | 78 | mission_timer.start(); |
kazuncho | 0:976e8caa93f4 | 79 | while(1) { |
kazuncho | 0:976e8caa93f4 | 80 | pitot_tube(); |
kazuncho | 0:976e8caa93f4 | 81 | lps33hw_mission(); |
kazuncho | 0:976e8caa93f4 | 82 | lps22hb_mission(); |
kazuncho | 0:976e8caa93f4 | 83 | read_sps30(); |
kazuncho | 0:976e8caa93f4 | 84 | //read(); |
kazuncho | 0:976e8caa93f4 | 85 | if(mission and !relay) { //リセット |
kazuncho | 0:976e8caa93f4 | 86 | phase = READY; |
kazuncho | 0:976e8caa93f4 | 87 | switch_on = 1; |
kazuncho | 0:976e8caa93f4 | 88 | recovery = false; |
kazuncho | 0:976e8caa93f4 | 89 | mission_timer.reset(); |
kazuncho | 0:976e8caa93f4 | 90 | mission_timer.start(); |
kazuncho | 0:976e8caa93f4 | 91 | flight_timer.reset(); |
kazuncho | 0:976e8caa93f4 | 92 | flight_timer.stop(); |
kazuncho | 0:976e8caa93f4 | 93 | } |
kazuncho | 0:976e8caa93f4 | 94 | switch(phase) { |
kazuncho | 0:976e8caa93f4 | 95 | case READY: //0 |
kazuncho | 0:976e8caa93f4 | 96 | if(mission and relay) { |
kazuncho | 0:976e8caa93f4 | 97 | phase = RISE; |
kazuncho | 0:976e8caa93f4 | 98 | flight_timer.reset(); |
kazuncho | 0:976e8caa93f4 | 99 | flight_timer.start(); |
kazuncho | 0:976e8caa93f4 | 100 | } |
kazuncho | 0:976e8caa93f4 | 101 | break; |
kazuncho | 0:976e8caa93f4 | 102 | case RISE: //1 |
kazuncho | 0:976e8caa93f4 | 103 | if(!mission and relay) { |
kazuncho | 0:976e8caa93f4 | 104 | phase = FALL; |
kazuncho | 0:976e8caa93f4 | 105 | } |
kazuncho | 0:976e8caa93f4 | 106 | break; |
kazuncho | 0:976e8caa93f4 | 107 | case FALL: //2 |
kazuncho | 0:976e8caa93f4 | 108 | if(!mission and !relay) { |
kazuncho | 0:976e8caa93f4 | 109 | phase = RECOVERY; |
kazuncho | 0:976e8caa93f4 | 110 | fclose(fp); |
kazuncho | 0:976e8caa93f4 | 111 | //flight_timer.stop(); |
kazuncho | 0:976e8caa93f4 | 112 | //mission_timer.stop(); |
kazuncho | 0:976e8caa93f4 | 113 | wait(1.0f); |
kazuncho | 0:976e8caa93f4 | 114 | } |
kazuncho | 0:976e8caa93f4 | 115 | break; |
kazuncho | 0:976e8caa93f4 | 116 | case RECOVERY: //3 |
kazuncho | 0:976e8caa93f4 | 117 | if(!recovery) { |
kazuncho | 0:976e8caa93f4 | 118 | switch_on = 0; //センサーへの電源供給停止 |
kazuncho | 0:976e8caa93f4 | 119 | recovery = true; |
kazuncho | 0:976e8caa93f4 | 120 | } |
kazuncho | 0:976e8caa93f4 | 121 | break; |
kazuncho | 0:976e8caa93f4 | 122 | } |
kazuncho | 0:976e8caa93f4 | 123 | wait(0.5f); |
kazuncho | 0:976e8caa93f4 | 124 | } |
kazuncho | 0:976e8caa93f4 | 125 | } |
kazuncho | 0:976e8caa93f4 | 126 | |
kazuncho | 0:976e8caa93f4 | 127 | void init() |
kazuncho | 0:976e8caa93f4 | 128 | { |
kazuncho | 0:976e8caa93f4 | 129 | pc.printf("---PQ_Hybrid_Mission---\r\n"); |
kazuncho | 0:976e8caa93f4 | 130 | switch_on = 1; //センサーへ電源供給開始 |
kazuncho | 0:976e8caa93f4 | 131 | //recovery = false; |
kazuncho | 0:976e8caa93f4 | 132 | wait(1.0f); |
kazuncho | 0:976e8caa93f4 | 133 | lps22hb.begin(); |
kazuncho | 0:976e8caa93f4 | 134 | lps33hw.begin(); |
kazuncho | 0:976e8caa93f4 | 135 | |
kazuncho | 0:976e8caa93f4 | 136 | sd.mount(); |
kazuncho | 0:976e8caa93f4 | 137 | mkdir("/sd", 0777); |
kazuncho | 0:976e8caa93f4 | 138 | char file_name_format[] = "/sd/IZU2021_MISSION_%d.dat"; |
kazuncho | 0:976e8caa93f4 | 139 | int file_number = 1; |
kazuncho | 0:976e8caa93f4 | 140 | while(1) { |
kazuncho | 0:976e8caa93f4 | 141 | sprintf(file_name, file_name_format, file_number); |
kazuncho | 0:976e8caa93f4 | 142 | fp = fopen(file_name, "r"); |
kazuncho | 0:976e8caa93f4 | 143 | if(fp != NULL) { |
kazuncho | 0:976e8caa93f4 | 144 | fclose(fp); |
kazuncho | 0:976e8caa93f4 | 145 | file_number++; |
kazuncho | 0:976e8caa93f4 | 146 | } else { |
kazuncho | 0:976e8caa93f4 | 147 | sprintf(file_name, "/sd/IZU2021_MISSION_%d.dat", file_number); |
kazuncho | 0:976e8caa93f4 | 148 | break; |
kazuncho | 0:976e8caa93f4 | 149 | } |
kazuncho | 0:976e8caa93f4 | 150 | } |
kazuncho | 0:976e8caa93f4 | 151 | fp = fopen(file_name, "w"); |
kazuncho | 0:976e8caa93f4 | 152 | sd_timer.start(); |
kazuncho | 0:976e8caa93f4 | 153 | if(fp) { |
kazuncho | 0:976e8caa93f4 | 154 | fprintf(fp, "mission_time[s]\t"); |
kazuncho | 0:976e8caa93f4 | 155 | fprintf(fp, "flight_time[s]\t"); |
kazuncho | 0:976e8caa93f4 | 156 | fprintf(fp, "phase\t"); |
kazuncho | 0:976e8caa93f4 | 157 | fprintf(fp, "pitot_speed[m/s]\t"); |
kazuncho | 0:976e8caa93f4 | 158 | fprintf(fp, "pitot_speed[km/h]\t"); |
kazuncho | 0:976e8caa93f4 | 159 | fprintf(fp, "mass_1p0\t"); |
kazuncho | 0:976e8caa93f4 | 160 | fprintf(fp, "mass_2p5\t"); |
kazuncho | 0:976e8caa93f4 | 161 | fprintf(fp, "mass_4p0\t"); |
kazuncho | 0:976e8caa93f4 | 162 | fprintf(fp, "mass_10p0\t"); |
kazuncho | 0:976e8caa93f4 | 163 | fprintf(fp, "num_0p5\t"); |
kazuncho | 0:976e8caa93f4 | 164 | fprintf(fp, "num_1p0\t"); |
kazuncho | 0:976e8caa93f4 | 165 | fprintf(fp, "num_2p5\t"); |
kazuncho | 0:976e8caa93f4 | 166 | fprintf(fp, "num_4p0\t"); |
kazuncho | 0:976e8caa93f4 | 167 | fprintf(fp, "num_10p0\t"); |
kazuncho | 0:976e8caa93f4 | 168 | fprintf(fp, "typ_pm_size\t"); |
kazuncho | 0:976e8caa93f4 | 169 | fprintf(fp, "outside_press[Pa]\t"); |
kazuncho | 0:976e8caa93f4 | 170 | fprintf(fp, "outside_temp[degC]\t"); |
kazuncho | 0:976e8caa93f4 | 171 | fprintf(fp, "inside_press[Pa]\t"); |
kazuncho | 0:976e8caa93f4 | 172 | fprintf(fp, "inside_temp[degC]\t"); |
kazuncho | 0:976e8caa93f4 | 173 | fprintf(fp, "\r\n"); |
kazuncho | 0:976e8caa93f4 | 174 | } |
kazuncho | 0:976e8caa93f4 | 175 | |
kazuncho | 0:976e8caa93f4 | 176 | log_ticker.attach(record, 0.5f); |
kazuncho | 0:976e8caa93f4 | 177 | //read_ticker.attach(read, 0.5f); |
kazuncho | 0:976e8caa93f4 | 178 | } |
kazuncho | 0:976e8caa93f4 | 179 | |
kazuncho | 0:976e8caa93f4 | 180 | /********************************************* |
kazuncho | 0:976e8caa93f4 | 181 | / MPXV5004DPの場合:(Differencial) = ((Vout / Vs) - 0.2) / 0.2 |
kazuncho | 0:976e8caa93f4 | 182 | / MPX5010DPの場合:(Differencial) = ((Vout / Vs) - 0.04) / 0.09 |
kazuncho | 0:976e8caa93f4 | 183 | / speed = root(2 * P / ρ) |
kazuncho | 0:976e8caa93f4 | 184 | / pitot_paが負のときnanが返される |
kazuncho | 0:976e8caa93f4 | 185 | **********************************************/ |
kazuncho | 0:976e8caa93f4 | 186 | void pitot_tube() |
kazuncho | 0:976e8caa93f4 | 187 | { |
kazuncho | 0:976e8caa93f4 | 188 | float sum = 0; |
kazuncho | 0:976e8caa93f4 | 189 | float voltage = 0; |
kazuncho | 0:976e8caa93f4 | 190 | float pitot_pa = 0; |
kazuncho | 0:976e8caa93f4 | 191 | float pitot_volt = 0; |
kazuncho | 0:976e8caa93f4 | 192 | for(int i = 0; i < 10; i++) { |
kazuncho | 0:976e8caa93f4 | 193 | int16_t val = ads1115.readADC_SingleEnded(0); |
kazuncho | 0:976e8caa93f4 | 194 | voltage = val / 32768.0 * 6.144; |
kazuncho | 0:976e8caa93f4 | 195 | sum += voltage; |
kazuncho | 0:976e8caa93f4 | 196 | } |
kazuncho | 0:976e8caa93f4 | 197 | float v_ave = sum / 10.0f; |
kazuncho | 0:976e8caa93f4 | 198 | pitot_volt = voltage - v_ave + 0.2f; |
kazuncho | 0:976e8caa93f4 | 199 | pitot_pa = (pitot_volt / 5.0f - 0.04f) / 0.09f; |
kazuncho | 0:976e8caa93f4 | 200 | pitot_speed = sqrt(2 * pitot_pa * 1000 / density); |
kazuncho | 0:976e8caa93f4 | 201 | } |
kazuncho | 0:976e8caa93f4 | 202 | |
kazuncho | 0:976e8caa93f4 | 203 | /********************************************* |
kazuncho | 0:976e8caa93f4 | 204 | / 水密外配置。リレーの条件に使用する。 |
kazuncho | 0:976e8caa93f4 | 205 | **********************************************/ |
kazuncho | 0:976e8caa93f4 | 206 | void lps33hw_mission() |
kazuncho | 0:976e8caa93f4 | 207 | { |
kazuncho | 0:976e8caa93f4 | 208 | f_outside_lps = lps33hw.test(); |
kazuncho | 0:976e8caa93f4 | 209 | if(f_outside_lps) { |
kazuncho | 0:976e8caa93f4 | 210 | outside_press = 0; |
kazuncho | 0:976e8caa93f4 | 211 | outside_temp = 0; |
kazuncho | 0:976e8caa93f4 | 212 | lps33hw.read_press(&outside_press); |
kazuncho | 0:976e8caa93f4 | 213 | lps33hw.read_temp(&outside_temp); |
kazuncho | 0:976e8caa93f4 | 214 | } |
kazuncho | 0:976e8caa93f4 | 215 | } |
kazuncho | 0:976e8caa93f4 | 216 | |
kazuncho | 0:976e8caa93f4 | 217 | /********************************************* |
kazuncho | 0:976e8caa93f4 | 218 | / 水密内配置。水密になっているかの確認用。 |
kazuncho | 0:976e8caa93f4 | 219 | **********************************************/ |
kazuncho | 0:976e8caa93f4 | 220 | void lps22hb_mission() |
kazuncho | 0:976e8caa93f4 | 221 | { |
kazuncho | 0:976e8caa93f4 | 222 | f_inside_lps = lps22hb.test(); |
kazuncho | 0:976e8caa93f4 | 223 | if(f_inside_lps) { |
kazuncho | 0:976e8caa93f4 | 224 | inside_press = 0; |
kazuncho | 0:976e8caa93f4 | 225 | inside_temp = 0; |
kazuncho | 0:976e8caa93f4 | 226 | lps22hb.read_press(&inside_press); |
kazuncho | 0:976e8caa93f4 | 227 | lps22hb.read_temp(&inside_temp); |
kazuncho | 0:976e8caa93f4 | 228 | } |
kazuncho | 0:976e8caa93f4 | 229 | } |
kazuncho | 0:976e8caa93f4 | 230 | |
kazuncho | 0:976e8caa93f4 | 231 | void read_sps30() |
kazuncho | 0:976e8caa93f4 | 232 | { |
kazuncho | 0:976e8caa93f4 | 233 | sps_init = sps.InitSPS30(); |
kazuncho | 0:976e8caa93f4 | 234 | if(sps.PollSPS30() == 3) { |
kazuncho | 0:976e8caa93f4 | 235 | mass1p0 = sps.mass_1p0_f; |
kazuncho | 0:976e8caa93f4 | 236 | mass2p5 = sps.mass_2p5_f; |
kazuncho | 0:976e8caa93f4 | 237 | mass4p0 = sps.mass_4p0_f; |
kazuncho | 0:976e8caa93f4 | 238 | mass10p0 = sps.mass_10p0_f; |
kazuncho | 0:976e8caa93f4 | 239 | num0p5 = sps.num_0p5_f; |
kazuncho | 0:976e8caa93f4 | 240 | num1p0 = sps.num_1p0_f; |
kazuncho | 0:976e8caa93f4 | 241 | num2p5 = sps.num_2p5_f; |
kazuncho | 0:976e8caa93f4 | 242 | num4p0 = sps.num_4p0_f; |
kazuncho | 0:976e8caa93f4 | 243 | num10p0 = sps.num_10p0_f; |
kazuncho | 0:976e8caa93f4 | 244 | typ_pm = sps.typ_pm_size_f; |
kazuncho | 0:976e8caa93f4 | 245 | } |
kazuncho | 0:976e8caa93f4 | 246 | } |
kazuncho | 0:976e8caa93f4 | 247 | |
kazuncho | 0:976e8caa93f4 | 248 | void record() |
kazuncho | 0:976e8caa93f4 | 249 | { |
kazuncho | 0:976e8caa93f4 | 250 | mission_time = mission_timer.read(); |
kazuncho | 0:976e8caa93f4 | 251 | flight_time = flight_timer.read(); |
kazuncho | 0:976e8caa93f4 | 252 | fprintf(fp, "%4d\t", mission_time); |
kazuncho | 0:976e8caa93f4 | 253 | fprintf(fp, "%4d\t", flight_time); |
kazuncho | 0:976e8caa93f4 | 254 | fprintf(fp, "%1d\t", phase); |
kazuncho | 0:976e8caa93f4 | 255 | fprintf(fp, "%f\t", pitot_speed); |
kazuncho | 0:976e8caa93f4 | 256 | fprintf(fp, "%f\t", pitot_speed * 3600 / 1000.0f); |
kazuncho | 0:976e8caa93f4 | 257 | fprintf(fp, "%f\t", sps.mass_1p0_f); |
kazuncho | 0:976e8caa93f4 | 258 | fprintf(fp, "%f\t", sps.mass_2p5_f); |
kazuncho | 0:976e8caa93f4 | 259 | fprintf(fp, "%f\t", sps.mass_4p0_f); |
kazuncho | 0:976e8caa93f4 | 260 | fprintf(fp, "%f\t", sps.mass_10p0_f); |
kazuncho | 0:976e8caa93f4 | 261 | fprintf(fp, "%f\t", sps.num_0p5_f); |
kazuncho | 0:976e8caa93f4 | 262 | fprintf(fp, "%f\t", sps.num_1p0_f); |
kazuncho | 0:976e8caa93f4 | 263 | fprintf(fp, "%f\t", sps.num_2p5_f); |
kazuncho | 0:976e8caa93f4 | 264 | fprintf(fp, "%f\t", sps.num_4p0_f); |
kazuncho | 0:976e8caa93f4 | 265 | fprintf(fp, "%f\t", sps.num_10p0_f); |
kazuncho | 0:976e8caa93f4 | 266 | fprintf(fp, "%f\t", sps.typ_pm_size_f); |
kazuncho | 0:976e8caa93f4 | 267 | fprintf(fp, "%f\t", outside_press); |
kazuncho | 0:976e8caa93f4 | 268 | fprintf(fp, "%f\t", outside_temp); |
kazuncho | 0:976e8caa93f4 | 269 | fprintf(fp, "%f\t", inside_press); |
kazuncho | 0:976e8caa93f4 | 270 | fprintf(fp, "%f\t", inside_temp); |
kazuncho | 0:976e8caa93f4 | 271 | fprintf(fp, "\r\n"); |
kazuncho | 0:976e8caa93f4 | 272 | |
kazuncho | 0:976e8caa93f4 | 273 | if(sd_timer.read_ms() >= 60*1000) { //1分ごとにリセット、開き直す。 |
kazuncho | 0:976e8caa93f4 | 274 | sd_timer.reset(); |
kazuncho | 0:976e8caa93f4 | 275 | sd_timer.start(); |
kazuncho | 0:976e8caa93f4 | 276 | if(fp) { |
kazuncho | 0:976e8caa93f4 | 277 | fclose(fp); |
kazuncho | 0:976e8caa93f4 | 278 | fp = fopen(file_name, "a"); //a:追加書き込みモード |
kazuncho | 0:976e8caa93f4 | 279 | } |
kazuncho | 0:976e8caa93f4 | 280 | } |
kazuncho | 0:976e8caa93f4 | 281 | } |
kazuncho | 0:976e8caa93f4 | 282 | |
kazuncho | 0:976e8caa93f4 | 283 | |
kazuncho | 0:976e8caa93f4 | 284 | void read() |
kazuncho | 0:976e8caa93f4 | 285 | { |
kazuncho | 0:976e8caa93f4 | 286 | mission_time = mission_timer.read(); |
kazuncho | 0:976e8caa93f4 | 287 | flight_time = flight_timer.read(); |
kazuncho | 0:976e8caa93f4 | 288 | pc.printf("mission time:%d\t", mission_time); |
kazuncho | 0:976e8caa93f4 | 289 | pc.printf("flight time:%d\t", flight_time); |
kazuncho | 0:976e8caa93f4 | 290 | pc.printf("phase:%d\t", (int)phase); |
kazuncho | 0:976e8caa93f4 | 291 | pc.printf("relay:%d", (int)switch_on); |
kazuncho | 0:976e8caa93f4 | 292 | /* |
kazuncho | 0:976e8caa93f4 | 293 | pc.printf("SPEED[m/s]:\t"); |
kazuncho | 0:976e8caa93f4 | 294 | pc.printf("SPEED[km/h]:\t"); |
kazuncho | 0:976e8caa93f4 | 295 | pc.printf("MASS_1P0\t"); |
kazuncho | 0:976e8caa93f4 | 296 | pc.printf("MASS_2P5\t"); |
kazuncho | 0:976e8caa93f4 | 297 | pc.printf("MASS_4P0\t"); |
kazuncho | 0:976e8caa93f4 | 298 | pc.printf("MASS_10P0\t"); |
kazuncho | 0:976e8caa93f4 | 299 | pc.printf("NUM_0P5\t"); |
kazuncho | 0:976e8caa93f4 | 300 | pc.printf("NUM_1P0\t"); |
kazuncho | 0:976e8caa93f4 | 301 | pc.printf("NUM_2P5\t"); |
kazuncho | 0:976e8caa93f4 | 302 | pc.printf("NUM_4P0\t"); |
kazuncho | 0:976e8caa93f4 | 303 | pc.printf("NUM_10P0\t"); |
kazuncho | 0:976e8caa93f4 | 304 | pc.printf("PM_SIZE\t"); |
kazuncho | 0:976e8caa93f4 | 305 | pc.printf("OUT_PRESS\t"); |
kazuncho | 0:976e8caa93f4 | 306 | pc.printf("OUT_TEMP\t"); |
kazuncho | 0:976e8caa93f4 | 307 | pc.printf("IN_PRESS\t"); |
kazuncho | 0:976e8caa93f4 | 308 | pc.printf("IN_TEMP\t"); |
kazuncho | 0:976e8caa93f4 | 309 | */ |
kazuncho | 0:976e8caa93f4 | 310 | pc.printf("\r\n"); |
kazuncho | 0:976e8caa93f4 | 311 | /* |
kazuncho | 0:976e8caa93f4 | 312 | pc.printf("%f\t", pitot_speed); |
kazuncho | 0:976e8caa93f4 | 313 | pc.printf("%f\t", pitot_speed * 3600 / 1000.0f); |
kazuncho | 0:976e8caa93f4 | 314 | pc.printf("%.2f\t", mass1p0); |
kazuncho | 0:976e8caa93f4 | 315 | pc.printf("%.2f\t", mass2p5); |
kazuncho | 0:976e8caa93f4 | 316 | pc.printf("%.2f\t", mass4p0); |
kazuncho | 0:976e8caa93f4 | 317 | pc.printf("%.2f\t", mass10p0); |
kazuncho | 0:976e8caa93f4 | 318 | pc.printf("%.2f\t", num0p5); |
kazuncho | 0:976e8caa93f4 | 319 | pc.printf("%.2f\t", num1p0); |
kazuncho | 0:976e8caa93f4 | 320 | pc.printf("%.2f\t", num2p5); |
kazuncho | 0:976e8caa93f4 | 321 | pc.printf("%.2f\t", num4p0); |
kazuncho | 0:976e8caa93f4 | 322 | pc.printf("%.2f\t", num10p0); |
kazuncho | 0:976e8caa93f4 | 323 | pc.printf("%.2f\t", typ_pm); |
kazuncho | 0:976e8caa93f4 | 324 | pc.printf("%.2f\t", ground_press); |
kazuncho | 0:976e8caa93f4 | 325 | pc.printf("%.2f\t", outside_press); |
kazuncho | 0:976e8caa93f4 | 326 | pc.printf("%.1f\t", outside_temp); |
kazuncho | 0:976e8caa93f4 | 327 | pc.printf("%.2f\t", inside_press); |
kazuncho | 0:976e8caa93f4 | 328 | pc.printf("%.1f\t", inside_temp); |
kazuncho | 0:976e8caa93f4 | 329 | pc.printf("\r\n"); |
kazuncho | 0:976e8caa93f4 | 330 | */ |
kazuncho | 0:976e8caa93f4 | 331 | } |