X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fkernel%2Fao_log_tiny.c;h=530031113842fada7915070db8429e00ca394b7c;hb=HEAD;hp=67767dc9ce285c88aeaa0510889be3aa906e8557;hpb=24167015705ae831692b95735968b04a876f935e;p=fw%2Faltos diff --git a/src/kernel/ao_log_tiny.c b/src/kernel/ao_log_tiny.c index 67767dc9..ccdb3aac 100644 --- a/src/kernel/ao_log_tiny.c +++ b/src/kernel/ao_log_tiny.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 @@ -17,7 +18,7 @@ #include "ao.h" -static __data uint16_t ao_log_tiny_interval; +static AO_TICK_TYPE ao_log_tiny_interval; #define AO_LOG_TINY_INTERVAL_DEFAULT AO_MS_TO_TICKS(1000) #if USE_FAST_ASCENT_LOG @@ -28,10 +29,8 @@ static __data uint16_t ao_log_tiny_interval; #define AO_PAD_RING 2 #endif -__code uint8_t ao_log_format = AO_LOG_FORMAT_TINY; - void -ao_log_tiny_set_interval(uint16_t ticks) +ao_log_tiny_set_interval(AO_TICK_TYPE ticks) { ao_log_tiny_interval = ticks; } @@ -42,13 +41,13 @@ static void ao_log_tiny_data(uint16_t d) if (ao_log_current_pos >= ao_log_end_pos && ao_log_running) ao_log_stop(); if (ao_log_running) { - ao_storage_write(ao_log_current_pos, DATA_TO_XDATA(&d), 2); + ao_storage_write(ao_log_current_pos, &d, 2); ao_log_current_pos += 2; } } -static __xdata uint16_t ao_log_pad_ring[AO_PAD_RING]; -static __pdata uint8_t ao_log_pad_ring_pos; +static uint16_t ao_log_pad_ring[AO_PAD_RING]; +static uint8_t ao_log_pad_ring_pos; #define ao_pad_ring_next(n) (((n) + 1) & (AO_PAD_RING - 1)) @@ -103,7 +102,7 @@ ao_log(void) /* * Add in pending sample data */ - ao_sleep(DATA_TO_XDATA(&ao_sample_data)); + ao_sleep(&ao_sample_data); while (ao_log_data != ao_sample_data) { sum += ao_data_pres(&ao_data_ring[ao_log_data]); count++; @@ -135,7 +134,7 @@ ao_log(void) * Write out the sample when finished */ now = ao_time(); - if ((int16_t) (now - (last_time + ao_log_tiny_interval)) >= 0 && count) { + if ((AO_TICK_SIGNED) (now - (last_time + ao_log_tiny_interval)) >= 0 && count) { count = sum / count; if (ao_log_started) ao_log_tiny_data(count); @@ -148,10 +147,10 @@ ao_log(void) } } -uint16_t +int16_t ao_log_flight(uint8_t slot) { - static __xdata uint16_t flight; + static uint16_t flight; (void) slot; ao_storage_read(0, &flight, 2);