X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fkernel%2Fao_flight_nano.c;h=96d47fac6b33fd5dc29f9d9a17961cab2d229812;hb=188f9efadd480de872f86a8eb741e8738db84c6b;hp=406d81adc5f1cde7d90763dcecfa3f3059114db1;hpb=24167015705ae831692b95735968b04a876f935e;p=fw%2Faltos diff --git a/src/kernel/ao_flight_nano.c b/src/kernel/ao_flight_nano.c index 406d81ad..96d47fac 100644 --- a/src/kernel/ao_flight_nano.c +++ b/src/kernel/ao_flight_nano.c @@ -3,7 +3,8 @@ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -19,18 +20,18 @@ /* Main flight thread. */ -__pdata enum ao_flight_state ao_flight_state; /* current flight state */ -__pdata uint16_t ao_launch_tick; /* time of launch detect */ +enum ao_flight_state ao_flight_state; /* current flight state */ +uint16_t ao_launch_tick; /* time of launch detect */ /* * track min/max data over a long interval to detect * resting */ -__pdata uint16_t ao_interval_end; -__pdata alt_t ao_interval_min_height; -__pdata alt_t ao_interval_max_height; +uint16_t ao_interval_end; +alt_t ao_interval_min_height; +alt_t ao_interval_max_height; -__pdata uint8_t ao_flight_force_idle; +uint8_t ao_flight_force_idle; /* Landing is detected by getting constant readings from both pressure and accelerometer * for a fairly long time (AO_INTERVAL_TICKS) @@ -69,7 +70,7 @@ ao_flight_nano(void) ao_led_off(AO_LED_RED); /* wakeup threads due to state change */ - ao_wakeup(DATA_TO_XDATA(&ao_flight_state)); + ao_wakeup(&ao_flight_state); break; case ao_flight_pad: if (ao_height> AO_M_TO_HEIGHT(20)) { @@ -79,7 +80,7 @@ ao_flight_nano(void) /* start logging data */ ao_log_start(); - ao_wakeup(DATA_TO_XDATA(&ao_flight_state)); + ao_wakeup(&ao_flight_state); } break; case ao_flight_drogue: @@ -100,7 +101,7 @@ ao_flight_nano(void) /* turn off the ADC capture */ ao_timer_set_adc_interval(0); - ao_wakeup(DATA_TO_XDATA(&ao_flight_state)); + ao_wakeup(&ao_flight_state); } ao_interval_min_height = ao_interval_max_height = ao_height; ao_interval_end = ao_sample_tick + AO_INTERVAL_TICKS; @@ -110,7 +111,7 @@ ao_flight_nano(void) } } -static __xdata struct ao_task flight_task; +static struct ao_task flight_task; void ao_flight_nano_init(void)