X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fao_flight_test.c;h=8ce94895026213b2954124d7f548d733030fb6d7;hb=0630e7d6d8cf6abf0fe07f9a6df40ee472cce1ef;hp=108d2c19fff5271beee64d45ef8a35542af6ec2e;hpb=1b8d7313504240ed04e0747e9b0f6e9a83d323e2;p=fw%2Faltos diff --git a/src/ao_flight_test.c b/src/ao_flight_test.c index 108d2c19..8ce94895 100644 --- a/src/ao_flight_test.c +++ b/src/ao_flight_test.c @@ -152,7 +152,7 @@ struct ao_config { #define ao_config_get() -struct ao_config ao_config = { 250, 15937, 16467 }; +struct ao_config ao_config; #define DATA_TO_XDATA(x) (x) @@ -180,7 +180,7 @@ void ao_sleep(void *wchan) { ao_dump_state(); - if (wchan == &ao_adc_ring) { + if (wchan == &ao_adc_head) { char type; uint16_t tick; uint16_t a, b; @@ -220,6 +220,11 @@ ao_sleep(void *wchan) tick = strtoul(words[1], NULL, 16); a = strtoul(words[2], NULL, 16); b = strtoul(words[3], NULL, 16); + } else if (nword >= 6 && strcmp(words[0], "Accel")) { + ao_config.accel_plus_g = atoi(words[3]); + ao_config.accel_minus_g = atoi(words[5]); + } else if (nword >= 4 && strcmp(words[0], "Main")) { + ao_config.main_deploy = atoi(words[2]); } else if (nword >= 36 && strcmp(words[0], "CALL") == 0) { tick = atoi(words[10]); if (!ao_flight_started) { @@ -238,8 +243,12 @@ ao_sleep(void *wchan) switch (type) { case 'F': ao_flight_ground_accel = a; - ao_config.accel_plus_g = a; - ao_config.accel_minus_g = a + 530; + if (ao_config.accel_plus_g == 0) { + ao_config.accel_plus_g = a; + ao_config.accel_minus_g = a + 530; + } + if (ao_config.main_deploy == 0) + ao_config.main_deploy = 250; ao_flight_started = 1; break; case 'S':