X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fkernel%2Fao_data.c;h=f8d8e7f1b66a2b1b950c5ee1e496731de4c41f27;hb=291eddc6376dc414a32aab51d4ee7c4212e3e69d;hp=6a3d02a130087140eb43e9cdbc6f58d7992b7d3e;hpb=24167015705ae831692b95735968b04a876f935e;p=fw%2Faltos diff --git a/src/kernel/ao_data.c b/src/kernel/ao_data.c index 6a3d02a1..f8d8e7f1 100644 --- a/src/kernel/ao_data.c +++ b/src/kernel/ao_data.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 @@ -15,22 +16,31 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ +#ifndef AO_FLIGHT_TEST #include #include +#endif -volatile __xdata struct ao_data ao_data_ring[AO_DATA_RING]; -volatile __data uint8_t ao_data_head; -volatile __data uint8_t ao_data_present; +volatile struct ao_data ao_data_ring[AO_DATA_RING]; +volatile uint8_t ao_data_head; +volatile uint8_t ao_data_present; #ifndef ao_data_count void -ao_data_get(__xdata struct ao_data *packet) +ao_data_get(struct ao_data *packet) { -#if HAS_FLIGHT - uint8_t i = ao_data_ring_prev(ao_sample_data); -#else uint8_t i = ao_data_ring_prev(ao_data_head); -#endif memcpy(packet, (void *) &ao_data_ring[i], sizeof (struct ao_data)); } #endif + +#if HAS_ACCEL +accel_t +ao_data_accel(volatile struct ao_data *packet) { + accel_t raw; + raw = ao_data_accel_raw(packet); + if (ao_config.pad_orientation != AO_PAD_ORIENTATION_ANTENNA_UP) + raw = ao_data_accel_invert(raw); + return raw; +} +#endif