diff options
Diffstat (limited to 'ao_flight_test.c')
-rw-r--r-- | ao_flight_test.c | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/ao_flight_test.c b/ao_flight_test.c index 0b18969e..aefe3da7 100644 --- a/ao_flight_test.c +++ b/ao_flight_test.c @@ -127,6 +127,26 @@ ao_pres_to_altitude(int16_t pres) __reentrant return altitude_table[pres]; } +int16_t +ao_altitude_to_pres(int16_t alt) __reentrant +{ + int16_t pres; + + for (pres = 0; pres < 2047; pres++) + if (altitude_table[pres] <= alt) + break; + return pres << 4; +} + +struct ao_config { + uint16_t main_deploy; + int16_t accel_zero_g; +}; + +#define ao_config_get() + +struct ao_config ao_config = { 250, 16000 }; + #include "ao_flight.c" void @@ -204,11 +224,12 @@ ao_dump_state(void) { if (ao_flight_state == ao_flight_startup) return; - printf ("\t\t\t\t\t%s accel %g vel %g alt %d\n", + printf ("\t\t\t\t\t%s accel %g vel %g alt %d main %d\n", ao_state_names[ao_flight_state], (ao_flight_accel - ao_ground_accel) / COUNTS_PER_G * GRAVITY, (double) ao_flight_vel / 100 / COUNTS_PER_G * GRAVITY, - altitude_table[ao_flight_pres >> 4]); + ao_pres_to_altitude(ao_flight_pres), + ao_pres_to_altitude(ao_main_pres)); if (ao_flight_state == ao_flight_landed) exit(0); } |