From: Keith Packard Date: Mon, 11 May 2009 06:11:06 +0000 (-0700) Subject: Use recorded accelerometer baseline data in ao_flight_test X-Git-Tag: 0.2~11 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=497c89a7d08920630894b2605c3b6a0bdc4c229b Use recorded accelerometer baseline data in ao_flight_test With the flight computer recording a long-term average value for the accelerometer in the flight record, use that to prime the flight test code when running a log file through the simulator. Signed-off-by: Keith Packard --- diff --git a/ao_flight_test.c b/ao_flight_test.c index dea7b31c..e9c6a530 100644 --- a/ao_flight_test.c +++ b/ao_flight_test.c @@ -163,6 +163,8 @@ ao_insert(void) } static int ao_records_read = 0; +static int ao_eof_read = 0; +static int ao_flight_ground_accel; void ao_sleep(void *wchan) @@ -177,20 +179,26 @@ ao_sleep(void *wchan) for (;;) { if (ao_records_read > 20 && ao_flight_state == ao_flight_startup) { + ao_adc_static.accel = ao_flight_ground_accel; ao_insert(); return; } ret = fscanf(emulator_in, "%c %hx %hx %hx\n", &type, &tick, &a, &b); if (ret == EOF) { - printf ("no more data, exiting simulation\n"); - exit(0); + if (++ao_eof_read >= 1000) { + printf ("no more data, exiting simulation\n"); + exit(0); + } + ao_adc_static.tick += 10; + ao_insert(); return; } if (ret != 4) continue; switch (type) { case 'F': + ao_flight_ground_accel = a; break; case 'S': break;