X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fao_flight_test.c;h=e75bc8df348f5ca8dc240aaaaed6a8900f880d73;hp=e0cfa47a2a8e3ecc11ffed2c87b36c39e7a4eae6;hb=02611efea0c485d78fad08c696c1f56e868d36b8;hpb=ab31b1c737d8fd32af482e5b06699f1b832a25a1 diff --git a/src/ao_flight_test.c b/src/ao_flight_test.c index e0cfa47a..e75bc8df 100644 --- a/src/ao_flight_test.c +++ b/src/ao_flight_test.c @@ -114,7 +114,6 @@ const char const * const ao_state_names[] = { }; struct ao_cmds { - char cmd; void (*func)(void); const char *help; }; @@ -152,10 +151,19 @@ 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) +#define HAS_FLIGHT 1 +#define HAS_ADC 1 +#define HAS_USB 1 +#define HAS_GPS 1 +#ifndef HAS_ACCEL +#define HAS_ACCEL 1 +#endif +#define HAS_ACCEL_REF 0 + #include "ao_flight.c" void @@ -180,7 +188,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 +228,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,6 +251,12 @@ ao_sleep(void *wchan) switch (type) { case 'F': ao_flight_ground_accel = a; + 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':