*
* 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
#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
#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;
}
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))
/*
* 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++;
* 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);
}
}
-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);