altos: Switch all tick variables to AO_TICK_TYPE/AO_TICK_SIGNED
authorKeith Packard <keithp@keithp.com>
Thu, 16 Dec 2021 21:39:33 +0000 (13:39 -0800)
committerKeith Packard <keithp@keithp.com>
Tue, 11 Jan 2022 22:46:48 +0000 (14:46 -0800)
Instead of trying to pick and choose which work as 16-bit values,
change everything that doesn't affect external values (log, companion,
radio) to AO_TICK_TYPE.

Signed-off-by: Keith Packard <keithp@keithp.com>
61 files changed:
src/attiny/ao_clock.c
src/avr/ao_led_avr.c
src/avr/ao_timer.c
src/drivers/ao_event.c
src/drivers/ao_event.h
src/drivers/ao_gps_sirf.c
src/drivers/ao_gps_skytraq.c
src/drivers/ao_gps_ublox.c
src/drivers/ao_pca9922.c
src/drivers/ao_pyro_slave.c
src/easymega-v1.0/ao_pins.h
src/easymega-v2.0/ao_pins.h
src/easymini-v1.0/ao_pins.h
src/easymini-v2.0/ao_pins.h
src/easymotor-v2/ao_pins.h
src/easytimer-v1/ao_pins.h
src/kernel/ao.h
src/kernel/ao_data.h
src/kernel/ao_fake_flight.c
src/kernel/ao_flight.c
src/kernel/ao_flight.h
src/kernel/ao_flight_nano.c
src/kernel/ao_host.h
src/kernel/ao_kalman.c
src/kernel/ao_log_big.c
src/kernel/ao_log_gps.c
src/kernel/ao_log_gps.h
src/kernel/ao_log_mega.c
src/kernel/ao_log_metrum.c
src/kernel/ao_log_mini.c
src/kernel/ao_log_motor.c
src/kernel/ao_log_tiny.c
src/kernel/ao_microflight.c
src/kernel/ao_notask.c
src/kernel/ao_pyro.c
src/kernel/ao_sample.c
src/kernel/ao_sample.h
src/kernel/ao_tracker.c
src/product/ao_terraui.c
src/stm-bringup/bringup.c
src/stm-demo/ao_pins.h
src/stm-vga/ao_pins.h
src/teleballoon-v2.0/ao_pins.h
src/telebt-v3.0/ao_pins.h
src/telebt-v4.0/ao_pins.h
src/telefireeight-v1.0/ao_pins.h
src/telefireeight-v2.0/ao_pins.h
src/telefireone-v1.0/ao_pins.h
src/telefiretwo-v0.1/ao_pins.h
src/telegps-v1.0/ao_pins.h
src/telegps-v2.0/ao_pins.h
src/telemega-v0.1/ao_pins.h
src/telemega-v1.0/ao_pins.h
src/telemega-v2.0/ao_pins.h
src/telemega-v3.0/ao_pins.h
src/telemega-v4.0/ao_pins.h
src/telemega-v5.0/ao_pins.h
src/telemetrum-v2.0/ao_pins.h
src/telemetrum-v3.0/ao_pins.h
src/telemini-v3.0/ao_pins.h
src/test/ao_flight_test.c

index 0669585082bec63d74f2b9585b421756302d303c..e5681edbc66858356370df185c08da9c1864a6ce 100644 (file)
@@ -24,7 +24,7 @@ static volatile AO_TICK_TYPE  ao_wakeup_count;
 ISR(TIMER1_COMPA_vect)
 {
        ++ao_tick_count;
 ISR(TIMER1_COMPA_vect)
 {
        ++ao_tick_count;
-       if ((int16_t) (ao_tick_count - ao_wakeup_count) >= 0)
+       if ((AO_TICK_SIGNED) (ao_tick_count - ao_wakeup_count) >= 0)
                ao_wakeup((void *) &ao_tick_count);
 }
 
                ao_wakeup((void *) &ao_tick_count);
 }
 
@@ -131,7 +131,7 @@ ao_delay_until(AO_TICK_TYPE target)
 {
        cli();
        ao_wakeup_count = target;
 {
        cli();
        ao_wakeup_count = target;
-       while ((int16_t) (target - ao_tick_count) > 0)
+       while ((AO_TICK_SIGNED) (target - ao_tick_count) > 0)
                ao_sleep((void *) &ao_tick_count);
        sei();
 }
                ao_sleep((void *) &ao_tick_count);
        sei();
 }
index 165e95d36f797be8afab39b41192e6346c17bda7..ecf13a0f76af0415241684d7a080bce9ec36981c 100644 (file)
@@ -48,7 +48,7 @@ ao_led_toggle(uint8_t colors)
 }
 
 void
 }
 
 void
-ao_led_for(uint8_t colors, uint16_t ticks) 
+ao_led_for(uint8_t colors, AO_TICK_TYPE ticks) 
 {
        ao_led_on(colors);
        ao_delay(ticks);
 {
        ao_led_on(colors);
        ao_delay(ticks);
index ff6a829afde0fca9887b8f3e6facfcc98a6769dd..b9c375d31b535299309d38e752b8dda71aa08255 100644 (file)
@@ -18,9 +18,9 @@
 
 #include "ao.h"
 
 
 #include "ao.h"
 
-volatile uint16_t ao_tick_count;
+volatile AO_TICK_TYPE ao_tick_count;
 
 
-uint16_t ao_time(void)
+AO_TICK_TYPE ao_time(void)
 {
        uint16_t        v;
        ao_arch_critical(
 {
        uint16_t        v;
        ao_arch_critical(
index 9856c2aaf8f47ea62f21fdcd91da982d570ef609..d9d1d375fcb86f3453e1ea8cae95da62c475d88b 100644 (file)
@@ -43,7 +43,7 @@ ao_event_get(struct ao_event *ev)
 }
 
 uint8_t
 }
 
 uint8_t
-ao_event_get_for(struct ao_event *ev, uint16_t timeout)
+ao_event_get_for(struct ao_event *ev, AO_TICK_TYPE timeout)
 {
        uint8_t empty = 1;
        ao_arch_critical(
 {
        uint8_t empty = 1;
        ao_arch_critical(
index d1df6eac4e59d7788721eb4a02814f093eb53dc9..d3d23bd3be92aee61dad8382d000219af7660ef8 100644 (file)
@@ -27,7 +27,7 @@
 struct ao_event {
        uint8_t         type;
        uint8_t         unit;
 struct ao_event {
        uint8_t         type;
        uint8_t         unit;
-       uint16_t        tick;
+       AO_TICK_TYPE    tick;
        int32_t         value;
 };
 
        int32_t         value;
 };
 
@@ -35,7 +35,7 @@ void
 ao_event_get(struct ao_event *ev);
 
 uint8_t
 ao_event_get(struct ao_event *ev);
 
 uint8_t
-ao_event_get_for(struct ao_event *ev, uint16_t timeout);
+ao_event_get_for(struct ao_event *ev, AO_TICK_TYPE timeout);
 
 void
 ao_event_put_isr(uint8_t type, uint8_t unit, int32_t value);
 
 void
 ao_event_put_isr(uint8_t type, uint8_t unit, int32_t value);
index bdd9410e41d43d0ba83143e06478efaaebe05b17..25a31808001f4182f7b5a5bf9d168f02ae5a75c2 100644 (file)
@@ -22,7 +22,7 @@
 
 uint8_t ao_gps_new;
 uint8_t ao_gps_mutex;
 
 uint8_t ao_gps_new;
 uint8_t ao_gps_mutex;
-uint16_t ao_gps_tick;
+AO_TICK_TYPE ao_gps_tick;
 struct ao_telemetry_location   ao_gps_data;
 struct ao_telemetry_satellite  ao_gps_tracking_data;
 
 struct ao_telemetry_location   ao_gps_data;
 struct ao_telemetry_satellite  ao_gps_tracking_data;
 
index 3b4a62ec1a521507da3f2b95e72fd4c8033599ae..d90141b693910d9db54fc67a666a34977fa1236f 100644 (file)
@@ -39,11 +39,11 @@ static char ao_gps_char;
 static uint8_t ao_gps_cksum;
 static uint8_t ao_gps_error;
 
 static uint8_t ao_gps_cksum;
 static uint8_t ao_gps_error;
 
-uint16_t ao_gps_tick;
+AO_TICK_TYPE ao_gps_tick;
 struct ao_telemetry_location   ao_gps_data;
 struct ao_telemetry_satellite  ao_gps_tracking_data;
 
 struct ao_telemetry_location   ao_gps_data;
 struct ao_telemetry_satellite  ao_gps_tracking_data;
 
-static uint16_t                                ao_gps_next_tick;
+static AO_TICK_TYPE                    ao_gps_next_tick;
 static struct ao_telemetry_location    ao_gps_next;
 static uint8_t                         ao_gps_date_flags;
 static struct ao_telemetry_satellite   ao_gps_tracking_next;
 static struct ao_telemetry_location    ao_gps_next;
 static uint8_t                         ao_gps_date_flags;
 static struct ao_telemetry_satellite   ao_gps_tracking_next;
index 89b1c4d2c2da20374b30e4bdc3a34f58db0c6af3..2556d314547b08cd91a2a3971bf0166a7697a5ff 100644 (file)
@@ -28,7 +28,7 @@
 
 uint8_t ao_gps_new;
 uint8_t ao_gps_mutex;
 
 uint8_t ao_gps_new;
 uint8_t ao_gps_mutex;
-uint16_t ao_gps_tick;
+AO_TICK_TYPE ao_gps_tick;
 struct ao_telemetry_location   ao_gps_data;
 struct ao_telemetry_satellite  ao_gps_tracking_data;
 
 struct ao_telemetry_location   ao_gps_data;
 struct ao_telemetry_satellite  ao_gps_tracking_data;
 
index 91d62026712deb1f7f7b6a8e3866ea52e2c9c106..9830791e51b56187f895e16759ab952c05d04535 100644 (file)
@@ -93,7 +93,7 @@ ao_led_toggle(uint8_t colors)
 }
 
 void
 }
 
 void
-ao_led_for(uint8_t colors, uint16_t ticks) 
+ao_led_for(uint8_t colors, AO_TICK_TYPE ticks) 
 {
        ao_led_on(colors);
        ao_delay(ticks);
 {
        ao_led_on(colors);
        ao_delay(ticks);
index 8ea6d858a76939336854d668cca69be6b785ff7f..5555d27d2ab32dce59b426a4127af4858f17e850 100644 (file)
@@ -33,8 +33,8 @@ static const struct ao_companion_setup        ao_telepyro_setup = {
 
 struct ao_config ao_config;
 
 
 struct ao_config ao_config;
 
-extern volatile uint16_t ao_tick_count;
-uint16_t ao_boost_tick;
+extern volatile AO_TICK_TYPE ao_tick_count;
+AO_TICK_TYPE ao_boost_tick;
 
 void ao_spi_slave(void)
 {
 
 void ao_spi_slave(void)
 {
index d16843d62cf345903eca1516961bc8b4ed25c058..7ebf5fd297fec4d899e6a5a804fa1c1ec11bea20 100644 (file)
@@ -182,7 +182,7 @@ struct ao_adc {
 };
 
 #define AO_ADC_DUMP(p) \
 };
 
 #define AO_ADC_DUMP(p) \
-       printf("tick: %5u A: %5d B: %5d C: %5d D: %5d drogue: %5d main: %5d batt: %5d pbatt: %5d temp: %5d\n", \
+       printf("tick: %5lu A: %5d B: %5d C: %5d D: %5d drogue: %5d main: %5d batt: %5d pbatt: %5d temp: %5d\n", \
               (p)->tick, \
               (p)->adc.sense[0], (p)->adc.sense[1], (p)->adc.sense[2], \
               (p)->adc.sense[3], (p)->adc.sense[4], (p)->adc.sense[5], \
               (p)->tick, \
               (p)->adc.sense[0], (p)->adc.sense[1], (p)->adc.sense[2], \
               (p)->adc.sense[3], (p)->adc.sense[4], (p)->adc.sense[5], \
index a3d04da52d008a5746fafd07e8ddffa361c118a2..a304d03429741fece015fd6311bc21661efa163e 100644 (file)
@@ -177,7 +177,7 @@ struct ao_adc {
 };
 
 #define AO_ADC_DUMP(p) \
 };
 
 #define AO_ADC_DUMP(p) \
-       printf("tick: %5u A: %5d B: %5d C: %5d D: %5d drogue: %5d main: %5d batt: %5d pbatt: %5d temp: %5d\n", \
+       printf("tick: %5lu A: %5d B: %5d C: %5d D: %5d drogue: %5d main: %5d batt: %5d pbatt: %5d temp: %5d\n", \
               (p)->tick, \
               (p)->adc.sense[0], (p)->adc.sense[1], (p)->adc.sense[2], \
               (p)->adc.sense[3], (p)->adc.sense[4], (p)->adc.sense[5], \
               (p)->tick, \
               (p)->adc.sense[0], (p)->adc.sense[1], (p)->adc.sense[2], \
               (p)->adc.sense[3], (p)->adc.sense[4], (p)->adc.sense[5], \
index ef8cba2d43307a85af5602c19cb85602e73f8461..eb805c76bd34ff71c187c9cdd3a279427cbde503 100644 (file)
@@ -19,7 +19,7 @@
 #define HAS_BEEP               1
 #define HAS_BATTERY_REPORT     1
 
 #define HAS_BEEP               1
 #define HAS_BATTERY_REPORT     1
 
-#define AO_STACK_SIZE          360
+#define AO_STACK_SIZE          352
 #define SLEEP_HASH_SIZE                3
 #define AO_NUM_TASKS           6
 
 #define SLEEP_HASH_SIZE                3
 #define AO_NUM_TASKS           6
 
@@ -134,7 +134,7 @@ struct ao_adc {
 #define AO_SENSE_MAIN(p)       ((p)->adc.sense_m)
 
 #define AO_ADC_DUMP(p) \
 #define AO_SENSE_MAIN(p)       ((p)->adc.sense_m)
 
 #define AO_ADC_DUMP(p) \
-       printf("tick: %5u apogee: %5d main: %5d batt: %5d\n", \
+       printf("tick: %5lu apogee: %5d main: %5d batt: %5d\n", \
               (p)->tick, (p)->adc.sense_a, (p)->adc.sense_m, (p)->adc.v_batt)
 
 /*
               (p)->tick, (p)->adc.sense_a, (p)->adc.sense_m, (p)->adc.v_batt)
 
 /*
index ba5749e94c35e25b25ef541b132ebf994f0bddb7..da52c5fd2063e52f84c2bef9197d81d4e3856371 100644 (file)
@@ -139,7 +139,7 @@ struct ao_adc {
 #define AO_SENSE_MAIN(p)       ((p)->adc.sense_m)
 
 #define AO_ADC_DUMP(p) \
 #define AO_SENSE_MAIN(p)       ((p)->adc.sense_m)
 
 #define AO_ADC_DUMP(p) \
-       printf("tick: %5u apogee: %5d main: %5d batt: %5d\n", \
+       printf("tick: %5lu apogee: %5d main: %5d batt: %5d\n", \
               (p)->tick, (p)->adc.sense_a, (p)->adc.sense_m, (p)->adc.v_batt)
 
 /*
               (p)->tick, (p)->adc.sense_a, (p)->adc.sense_m, (p)->adc.v_batt)
 
 /*
index 097ecb4551fad8c432d0c9b0b5d34555bf073fd6..0fa037b3b73dfe5866c3d393847d384e14d70249 100644 (file)
@@ -109,7 +109,7 @@ struct ao_adc {
 };
 
 #define AO_ADC_DUMP(p) \
 };
 
 #define AO_ADC_DUMP(p) \
-       printf("tick: %5u motor_pressure: %5d batt: %5d\n", \
+       printf("tick: %5lu motor_pressure: %5d batt: %5d\n", \
               (p)->tick, \
               (p)->adc.motor_pressure, \
               (p)->adc.v_batt);
               (p)->tick, \
               (p)->adc.motor_pressure, \
               (p)->adc.v_batt);
index 1169a2830be8839e7017f8dfc137364c5c1ca561..43467277266898f01a89b20bea63690bbe615a5d 100644 (file)
@@ -154,7 +154,7 @@ struct ao_adc {
 };
 
 #define AO_ADC_DUMP(p) \
 };
 
 #define AO_ADC_DUMP(p) \
-       printf("tick: %5u A: %5d B: %5d batt: %5d\n", \
+       printf("tick: %5lu A: %5d B: %5d batt: %5d\n", \
               (p)->tick, \
                (p)->adc.sense[0], (p)->adc.sense[1], \
               (p)->adc.v_batt);
               (p)->tick, \
                (p)->adc.sense[0], (p)->adc.sense[1], \
               (p)->adc.v_batt);
index 5df4903cdd0084c7a977ccb19c2ebb76d2587c01..af070cc11c5fdded1ca1a8e5d63b76315a57a933 100644 (file)
@@ -389,7 +389,7 @@ ao_spi_slave(void);
 #define AO_GPS_NEW_TRACKING    2
 
 extern uint8_t ao_gps_new;
 #define AO_GPS_NEW_TRACKING    2
 
 extern uint8_t ao_gps_new;
-extern uint16_t ao_gps_tick;
+extern AO_TICK_TYPE ao_gps_tick;
 extern uint8_t ao_gps_mutex;
 extern struct ao_telemetry_location ao_gps_data;
 extern struct ao_telemetry_satellite ao_gps_tracking_data;
 extern uint8_t ao_gps_mutex;
 extern struct ao_telemetry_location ao_gps_data;
 extern struct ao_telemetry_satellite ao_gps_tracking_data;
index 60794cc2d110878e373aaf808ad54caa5e3339b6..1b5f9d10ff0897dea9132b760eec5c6eb813d205 100644 (file)
@@ -105,7 +105,7 @@ extern uint8_t                      ao_sensor_errors;
 #define AO_DATA_ALL    (AO_DATA_ADC|AO_DATA_MS5607|AO_DATA_MPU6000|AO_DATA_HMC5883|AO_DATA_MMA655X|AO_DATA_MPU9250|AO_DATA_ADXL375|AO_DATA_BMX160|AO_DATA_MMC5983)
 
 struct ao_data {
 #define AO_DATA_ALL    (AO_DATA_ADC|AO_DATA_MS5607|AO_DATA_MPU6000|AO_DATA_HMC5883|AO_DATA_MMA655X|AO_DATA_MPU9250|AO_DATA_ADXL375|AO_DATA_BMX160|AO_DATA_MMC5983)
 
 struct ao_data {
-       uint16_t                        tick;
+       AO_TICK_TYPE                    tick;
 #if HAS_ADC
        struct ao_adc                   adc;
 #endif
 #if HAS_ADC
        struct ao_adc                   adc;
 #endif
index ec8691e9ad13425f014a13473442284561e28b94..e14daa0623e6d6f79e58d6b3511e1e486aaaa272 100644 (file)
@@ -27,7 +27,7 @@ uint8_t                       ao_fake_flight_active;
 static uint8_t         ao_fake_has_cur;
 static volatile uint8_t        ao_fake_has_next;
 static uint8_t         ao_fake_has_offset;
 static uint8_t         ao_fake_has_cur;
 static volatile uint8_t        ao_fake_has_next;
 static uint8_t         ao_fake_has_offset;
-static uint16_t                ao_fake_tick_offset;
+static AO_TICK_TYPE    ao_fake_tick_offset;
 static struct ao_data  ao_fake_cur, ao_fake_next;
 
 void
 static struct ao_data  ao_fake_cur, ao_fake_next;
 
 void
index 4a7055c415e80d9eef3d86eacae715ce4f8b416b..8553ccc5854f8f4d27569e1ae8928aaf7fef63da 100644 (file)
@@ -50,8 +50,8 @@
 /* Main flight thread. */
 
 enum ao_flight_state   ao_flight_state;        /* current flight state */
 /* Main flight thread. */
 
 enum ao_flight_state   ao_flight_state;        /* current flight state */
-uint16_t               ao_boost_tick;          /* time of most recent boost detect */
-uint16_t               ao_launch_tick;         /* time of first boost detect */
+AO_TICK_TYPE           ao_boost_tick;          /* time of most recent boost detect */
+AO_TICK_TYPE           ao_launch_tick;         /* time of first boost detect */
 uint16_t               ao_motor_number;        /* number of motors burned so far */
 
 #if HAS_SENSOR_ERRORS
 uint16_t               ao_motor_number;        /* number of motors burned so far */
 
 #if HAS_SENSOR_ERRORS
@@ -272,7 +272,7 @@ ao_flight(void)
                         * (15 seconds) has past.
                         */
                        if ((ao_accel < AO_MSS_TO_ACCEL(-2.5)) ||
                         * (15 seconds) has past.
                         */
                        if ((ao_accel < AO_MSS_TO_ACCEL(-2.5)) ||
-                           (int16_t) (ao_sample_tick - ao_boost_tick) > BOOST_TICKS_MAX)
+                           (AO_TICK_SIGNED) (ao_sample_tick - ao_boost_tick) > BOOST_TICKS_MAX)
                        {
 #if HAS_ACCEL
 #if HAS_BARO
                        {
 #if HAS_ACCEL
 #if HAS_BARO
@@ -319,7 +319,7 @@ ao_flight(void)
                         * number of seconds.
                         */
                        if (ao_config.apogee_lockout) {
                         * number of seconds.
                         */
                        if (ao_config.apogee_lockout) {
-                               if ((int16_t) (ao_sample_tick - ao_launch_tick) <
+                               if ((AO_TICK_SIGNED) (ao_sample_tick - ao_launch_tick) <
                                    AO_SEC_TO_TICKS(ao_config.apogee_lockout))
                                        break;
                        }
                                    AO_SEC_TO_TICKS(ao_config.apogee_lockout))
                                        break;
                        }
@@ -363,7 +363,7 @@ ao_flight(void)
 
 #define MAX_QUIET_ACCEL        2
 
 
 #define MAX_QUIET_ACCEL        2
 
-                       if ((int16_t) (ao_sample_tick - ao_interval_end) >= 0) {
+                       if ((AO_TICK_SIGNED) (ao_sample_tick - ao_interval_end) >= 0) {
                                if (ao_interval_max_accel_along - ao_interval_min_accel_along <= ao_data_accel_to_sample(MAX_QUIET_ACCEL) &&
                                    ao_interval_max_accel_across - ao_interval_min_accel_across <= ao_data_accel_to_sample(MAX_QUIET_ACCEL) &&
                                    ao_interval_max_accel_through - ao_interval_min_accel_through <= ao_data_accel_to_sample(MAX_QUIET_ACCEL))
                                if (ao_interval_max_accel_along - ao_interval_min_accel_along <= ao_data_accel_to_sample(MAX_QUIET_ACCEL) &&
                                    ao_interval_max_accel_across - ao_interval_min_accel_across <= ao_data_accel_to_sample(MAX_QUIET_ACCEL) &&
                                    ao_interval_max_accel_through - ao_interval_min_accel_through <= ao_data_accel_to_sample(MAX_QUIET_ACCEL))
@@ -443,7 +443,7 @@ ao_flight(void)
                        if (ao_avg_height > ao_interval_max_height)
                                ao_interval_max_height = ao_avg_height;
 
                        if (ao_avg_height > ao_interval_max_height)
                                ao_interval_max_height = ao_avg_height;
 
-                       if ((int16_t) (ao_sample_tick - ao_interval_end) >= 0) {
+                       if ((AO_TICK_SIGNED) (ao_sample_tick - ao_interval_end) >= 0) {
                                if (ao_interval_max_height - ao_interval_min_height <= AO_M_TO_HEIGHT(4))
                                {
                                        ao_flight_state = ao_flight_landed;
                                if (ao_interval_max_height - ao_interval_min_height <= AO_M_TO_HEIGHT(4))
                                {
                                        ao_flight_state = ao_flight_landed;
index c66860d0f4790266eb85d1b3ce8bf4832bb1de82..bc74bf9c7d9366ea03dc951d42295abc2eee80f4 100644 (file)
@@ -39,8 +39,8 @@ enum ao_flight_state {
 };
 
 extern enum ao_flight_state    ao_flight_state;
 };
 
 extern enum ao_flight_state    ao_flight_state;
-extern uint16_t                        ao_boost_tick;
-extern uint16_t                        ao_launch_tick;
+extern AO_TICK_TYPE            ao_boost_tick;
+extern AO_TICK_TYPE            ao_launch_tick;
 extern uint16_t                        ao_motor_number;
 
 extern uint16_t                        ao_launch_time;
 extern uint16_t                        ao_motor_number;
 
 extern uint16_t                        ao_launch_time;
index 96d47fac6b33fd5dc29f9d9a17961cab2d229812..09e74901f44d6bea33fc42e215e4310cb76daf46 100644 (file)
 /* Main flight thread. */
 
 enum ao_flight_state   ao_flight_state;        /* current flight state */
 /* Main flight thread. */
 
 enum ao_flight_state   ao_flight_state;        /* current flight state */
-uint16_t               ao_launch_tick;         /* time of launch detect */
+AO_TICK_TYPE           ao_launch_tick;         /* time of launch detect */
 
 /*
  * track min/max data over a long interval to detect
  * resting
  */
 
 /*
  * track min/max data over a long interval to detect
  * resting
  */
-uint16_t               ao_interval_end;
+AO_TICK_TYPE           ao_interval_end;
 alt_t                  ao_interval_min_height;
 alt_t                  ao_interval_max_height;
 
 alt_t                  ao_interval_min_height;
 alt_t                  ao_interval_max_height;
 
@@ -94,7 +94,7 @@ ao_flight_nano(void)
                        if (ao_height > ao_interval_max_height)
                                ao_interval_max_height = ao_height;
 
                        if (ao_height > ao_interval_max_height)
                                ao_interval_max_height = ao_height;
 
-                       if ((int16_t) (ao_sample_tick - ao_interval_end) >= 0) {
+                       if ((AO_TICK_SIGNED) (ao_sample_tick - ao_interval_end) >= 0) {
                                if (ao_interval_max_height - ao_interval_min_height < AO_M_TO_HEIGHT(5))
                                {
                                        ao_flight_state = ao_flight_landed;
                                if (ao_interval_max_height - ao_interval_min_height < AO_M_TO_HEIGHT(5))
                                {
                                        ao_flight_state = ao_flight_landed;
index e2f14e7963a38333c3a2f8686130d99e27006f3e..c974a9fe5f1e37c89261245bfa3ab945d1b8bdbf 100644 (file)
@@ -32,7 +32,7 @@
  * One set of samples read from the A/D converter
  */
 struct ao_adc {
  * One set of samples read from the A/D converter
  */
 struct ao_adc {
-       uint16_t        tick;           /* tick when the sample was read */
+       AO_TICK_TYPE    tick;           /* tick when the sample was read */
        int16_t         accel;          /* accelerometer */
        int16_t         pres;           /* pressure sensor */
        int16_t         temp;           /* temperature sensor */
        int16_t         accel;          /* accelerometer */
        int16_t         pres;           /* pressure sensor */
        int16_t         temp;           /* temperature sensor */
index f93f5aba94f1daa17d2830d7ce42969e6617111e..168812b750aa70c03eeca94fa3a8cd6b20378e62 100644 (file)
@@ -61,14 +61,14 @@ static void
 ao_kalman_predict(void)
 {
 #ifdef AO_FLIGHT_TEST
 ao_kalman_predict(void)
 {
 #ifdef AO_FLIGHT_TEST
-       if ((int16_t) (ao_sample_tick - ao_sample_prev_tick) > 50) {
+       if ((AO_TICK_SIGNED) (ao_sample_tick - ao_sample_prev_tick) > 50) {
                ao_k_height += ((ao_k_t) ao_speed * AO_K_STEP_1 +
                                (ao_k_t) ao_accel * AO_K_STEP_2_2_1) >> 4;
                ao_k_speed += (ao_k_t) ao_accel * AO_K_STEP_1;
 
                return;
        }
                ao_k_height += ((ao_k_t) ao_speed * AO_K_STEP_1 +
                                (ao_k_t) ao_accel * AO_K_STEP_2_2_1) >> 4;
                ao_k_speed += (ao_k_t) ao_accel * AO_K_STEP_1;
 
                return;
        }
-       if ((int16_t) (ao_sample_tick - ao_sample_prev_tick) > 5) {
+       if ((AO_TICK_SIGNED) (ao_sample_tick - ao_sample_prev_tick) > 5) {
                ao_k_height += ((ao_k_t) ao_speed * AO_K_STEP_10 +
                                (ao_k_t) ao_accel * AO_K_STEP_2_2_10) >> 4;
                ao_k_speed += (ao_k_t) ao_accel * AO_K_STEP_10;
                ao_k_height += ((ao_k_t) ao_speed * AO_K_STEP_10 +
                                (ao_k_t) ao_accel * AO_K_STEP_2_2_10) >> 4;
                ao_k_speed += (ao_k_t) ao_accel * AO_K_STEP_10;
@@ -149,13 +149,13 @@ ao_kalman_correct_baro(void)
 {
        ao_kalman_err_height();
 #ifdef AO_FLIGHT_TEST
 {
        ao_kalman_err_height();
 #ifdef AO_FLIGHT_TEST
-       if ((int16_t) (ao_sample_tick - ao_sample_prev_tick) > 50) {
+       if ((AO_TICK_SIGNED) (ao_sample_tick - ao_sample_prev_tick) > 50) {
                ao_k_height += (ao_k_t) AO_BARO_K0_1 * ao_error_h;
                ao_k_speed  += (ao_k_t) AO_BARO_K1_1 * ao_error_h;
                ao_k_accel  += (ao_k_t) AO_BARO_K2_1 * ao_error_h;
                return;
        }
                ao_k_height += (ao_k_t) AO_BARO_K0_1 * ao_error_h;
                ao_k_speed  += (ao_k_t) AO_BARO_K1_1 * ao_error_h;
                ao_k_accel  += (ao_k_t) AO_BARO_K2_1 * ao_error_h;
                return;
        }
-       if ((int16_t) (ao_sample_tick - ao_sample_prev_tick) > 5) {
+       if ((AO_TICK_SIGNED) (ao_sample_tick - ao_sample_prev_tick) > 5) {
                ao_k_height += (ao_k_t) AO_BARO_K0_10 * ao_error_h;
                ao_k_speed  += (ao_k_t) AO_BARO_K1_10 * ao_error_h;
                ao_k_accel  += (ao_k_t) AO_BARO_K2_10 * ao_error_h;
                ao_k_height += (ao_k_t) AO_BARO_K0_10 * ao_error_h;
                ao_k_speed  += (ao_k_t) AO_BARO_K1_10 * ao_error_h;
                ao_k_accel  += (ao_k_t) AO_BARO_K2_10 * ao_error_h;
@@ -189,7 +189,7 @@ ao_kalman_correct_both(void)
        ao_kalman_err_accel();
 
 #ifdef AO_FLIGHT_TEST
        ao_kalman_err_accel();
 
 #ifdef AO_FLIGHT_TEST
-       if ((int16_t) (ao_sample_tick - ao_sample_prev_tick) > 50) {
+       if ((AO_TICK_SIGNED) (ao_sample_tick - ao_sample_prev_tick) > 50) {
                if (ao_flight_debug) {
                        printf ("correct speed %g + (%g * %g) + (%g * %g) = %g\n",
                                ao_k_speed / (65536.0 * 16.0),
                if (ao_flight_debug) {
                        printf ("correct speed %g + (%g * %g) + (%g * %g) = %g\n",
                                ao_k_speed / (65536.0 * 16.0),
@@ -210,7 +210,7 @@ ao_kalman_correct_both(void)
                        (ao_k_t) AO_BOTH_K21_1 * ao_error_a;
                return;
        }
                        (ao_k_t) AO_BOTH_K21_1 * ao_error_a;
                return;
        }
-       if ((int16_t) (ao_sample_tick - ao_sample_prev_tick) > 5) {
+       if ((AO_TICK_SIGNED) (ao_sample_tick - ao_sample_prev_tick) > 5) {
                if (ao_flight_debug) {
                        printf ("correct speed %g + (%g * %g) + (%g * %g) = %g\n",
                                ao_k_speed / (65536.0 * 16.0),
                if (ao_flight_debug) {
                        printf ("correct speed %g + (%g * %g) + (%g * %g) = %g\n",
                                ao_k_speed / (65536.0 * 16.0),
@@ -260,7 +260,7 @@ ao_kalman_correct_accel(void)
        ao_kalman_err_accel();
 
 #ifdef AO_FLIGHT_TEST
        ao_kalman_err_accel();
 
 #ifdef AO_FLIGHT_TEST
-       if ((int16_t) (ao_sample_tick - ao_sample_prev_tick) > 5) {
+       if ((AO_TICK_SIGNED) (ao_sample_tick - ao_sample_prev_tick) > 5) {
                ao_k_height +=(ao_k_t) AO_ACCEL_K0_10 * ao_error_a;
                ao_k_speed  += (ao_k_t) AO_ACCEL_K1_10 * ao_error_a;
                ao_k_accel  += (ao_k_t) AO_ACCEL_K2_10 * ao_error_a;
                ao_k_height +=(ao_k_t) AO_ACCEL_K0_10 * ao_error_a;
                ao_k_speed  += (ao_k_t) AO_ACCEL_K1_10 * ao_error_a;
                ao_k_accel  += (ao_k_t) AO_ACCEL_K2_10 * ao_error_a;
@@ -325,9 +325,9 @@ ao_kalman(void)
        ao_avg_height_scaled = ao_avg_height_scaled - ao_avg_height + ao_height;
 #endif
 #ifdef AO_FLIGHT_TEST
        ao_avg_height_scaled = ao_avg_height_scaled - ao_avg_height + ao_height;
 #endif
 #ifdef AO_FLIGHT_TEST
-       if ((int16_t) (ao_sample_tick - ao_sample_prev_tick) > 50)
+       if ((AO_TICK_SIGNED) (ao_sample_tick - ao_sample_prev_tick) > 50)
                ao_avg_height = (ao_avg_height_scaled + 1) >> 1;
                ao_avg_height = (ao_avg_height_scaled + 1) >> 1;
-       else if ((int16_t) (ao_sample_tick - ao_sample_prev_tick) > 5)
+       else if ((AO_TICK_SIGNED) (ao_sample_tick - ao_sample_prev_tick) > 5)
                ao_avg_height = (ao_avg_height_scaled + 7) >> 4;
        else 
 #endif
                ao_avg_height = (ao_avg_height_scaled + 7) >> 4;
        else 
 #endif
index 2a8cd63d45d6348673053823e54e44ef9796cae3..e09d32eaadc983c049a69753b620dc987bc8276e 100644 (file)
@@ -32,7 +32,7 @@ typedef uint8_t check_log_size[1-(256 % sizeof(struct ao_log_record))] ;
 void
 ao_log(void)
 {
 void
 ao_log(void)
 {
-       uint16_t        next_sensor, next_other;
+       AO_TICK_TYPE    next_sensor, next_other;
 
        ao_storage_setup();
 
 
        ao_storage_setup();
 
@@ -58,18 +58,19 @@ ao_log(void)
        for (;;) {
                /* Write samples to EEPROM */
                while (ao_log_data_pos != ao_sample_data) {
        for (;;) {
                /* Write samples to EEPROM */
                while (ao_log_data_pos != ao_sample_data) {
-                       ao_log_data.tick = ao_data_ring[ao_log_data_pos].tick;
-                       if ((int16_t) (ao_log_data.tick - next_sensor) >= 0) {
+                       AO_TICK_TYPE tick = ao_data_ring[ao_log_data_pos].tick;
+                       ao_log_data.tick = tick;
+                       if ((AO_TICK_SIGNED) (tick - next_sensor) >= 0) {
                                ao_log_data.type = AO_LOG_SENSOR;
                                ao_log_data.u.sensor.accel = ao_data_ring[ao_log_data_pos].adc.accel;
                                ao_log_data.u.sensor.pres = ao_data_ring[ao_log_data_pos].adc.pres;
                                ao_log_write(&ao_log_data);
                                if (ao_log_state <= ao_flight_coast)
                                ao_log_data.type = AO_LOG_SENSOR;
                                ao_log_data.u.sensor.accel = ao_data_ring[ao_log_data_pos].adc.accel;
                                ao_log_data.u.sensor.pres = ao_data_ring[ao_log_data_pos].adc.pres;
                                ao_log_write(&ao_log_data);
                                if (ao_log_state <= ao_flight_coast)
-                                       next_sensor = ao_log_data.tick + AO_SENSOR_INTERVAL_ASCENT;
+                                       next_sensor = tick + AO_SENSOR_INTERVAL_ASCENT;
                                else
                                else
-                                       next_sensor = ao_log_data.tick + AO_SENSOR_INTERVAL_DESCENT;
+                                       next_sensor = tick + AO_SENSOR_INTERVAL_DESCENT;
                        }
                        }
-                       if ((int16_t) (ao_log_data.tick - next_other) >= 0) {
+                       if ((AO_TICK_SIGNED) (tick - next_other) >= 0) {
                                ao_log_data.type = AO_LOG_TEMP_VOLT;
                                ao_log_data.u.temp_volt.temp = ao_data_ring[ao_log_data_pos].adc.temp;
                                ao_log_data.u.temp_volt.v_batt = ao_data_ring[ao_log_data_pos].adc.v_batt;
                                ao_log_data.type = AO_LOG_TEMP_VOLT;
                                ao_log_data.u.temp_volt.temp = ao_data_ring[ao_log_data_pos].adc.temp;
                                ao_log_data.u.temp_volt.v_batt = ao_data_ring[ao_log_data_pos].adc.v_batt;
@@ -78,7 +79,7 @@ ao_log(void)
                                ao_log_data.u.deploy.drogue = ao_data_ring[ao_log_data_pos].adc.sense_d;
                                ao_log_data.u.deploy.main = ao_data_ring[ao_log_data_pos].adc.sense_m;
                                ao_log_write(&ao_log_data);
                                ao_log_data.u.deploy.drogue = ao_data_ring[ao_log_data_pos].adc.sense_d;
                                ao_log_data.u.deploy.main = ao_data_ring[ao_log_data_pos].adc.sense_m;
                                ao_log_write(&ao_log_data);
-                               next_other = ao_log_data.tick + AO_OTHER_INTERVAL;
+                               next_other = tick + AO_OTHER_INTERVAL;
                        }
                        ao_log_data_pos = ao_data_ring_next(ao_log_data_pos);
                }
                        }
                        ao_log_data_pos = ao_data_ring_next(ao_log_data_pos);
                }
index 2b45f35e06ba11b07a35f3d4c84f791e6336606a..211707e58221e5789de8d5fb6b00c79c7777735c 100644 (file)
@@ -34,7 +34,7 @@ ao_log_gps_flight(void)
 }
 
 void
 }
 
 void
-ao_log_gps_data(uint16_t tick, struct ao_telemetry_location *gps_data)
+ao_log_gps_data(AO_TICK_TYPE tick, struct ao_telemetry_location *gps_data)
 {
        ao_log_data.tick = tick;
        ao_log_data.type = AO_LOG_GPS_TIME;
 {
        ao_log_data.tick = tick;
        ao_log_data.type = AO_LOG_GPS_TIME;
@@ -61,7 +61,7 @@ ao_log_gps_data(uint16_t tick, struct ao_telemetry_location *gps_data)
 }
 
 void
 }
 
 void
-ao_log_gps_tracking(uint16_t tick, struct ao_telemetry_satellite *gps_tracking_data)
+ao_log_gps_tracking(AO_TICK_TYPE tick, struct ao_telemetry_satellite *gps_tracking_data)
 {
        uint8_t c, n, i;
 
 {
        uint8_t c, n, i;
 
index 096c8383e7da70271147e7ce6c5e4a53ab5bdf0f..8cc6cac983467b48f6f81eec66236c075cc8ba8e 100644 (file)
@@ -26,9 +26,9 @@ void
 ao_log_gps_flight(void);
 
 void
 ao_log_gps_flight(void);
 
 void
-ao_log_gps_data(uint16_t tick, struct ao_telemetry_location *gps_data);
+ao_log_gps_data(AO_TICK_TYPE tick, struct ao_telemetry_location *gps_data);
 
 void
 
 void
-ao_log_gps_tracking(uint16_t tick, struct ao_telemetry_satellite *gps_tracking_data);
+ao_log_gps_tracking(AO_TICK_TYPE tick, struct ao_telemetry_satellite *gps_tracking_data);
 
 #endif /* _AO_LOG_GPS_H_ */
 
 #endif /* _AO_LOG_GPS_H_ */
index ed1a4739136c75d6da17ede60ebd5949a20540d1..78dbd980d527288bbedb1797f9b7401c91872396 100644 (file)
@@ -36,7 +36,7 @@ typedef uint8_t check_log_size[1-(256 % sizeof(struct ao_log_mega))] ;
 void
 ao_log(void)
 {
 void
 ao_log(void)
 {
-       uint16_t        next_sensor, next_other;
+       AO_TICK_TYPE            next_sensor, next_other;
        uint8_t                 i;
 
        ao_storage_setup();
        uint8_t                 i;
 
        ao_storage_setup();
@@ -74,9 +74,10 @@ ao_log(void)
        for (;;) {
                /* Write samples to EEPROM */
                while (ao_log_data_pos != ao_data_head) {
        for (;;) {
                /* Write samples to EEPROM */
                while (ao_log_data_pos != ao_data_head) {
-                       ao_log_data.tick = ao_data_ring[ao_log_data_pos].tick;
+                       AO_TICK_TYPE tick = ao_data_ring[ao_log_data_pos].tick;
+                       ao_log_data.tick = tick;
                        volatile struct ao_data *d = &ao_data_ring[ao_log_data_pos];
                        volatile struct ao_data *d = &ao_data_ring[ao_log_data_pos];
-                       if ((int16_t) (ao_log_data.tick - next_sensor) >= 0) {
+                       if ((AO_TICK_SIGNED) (tick - next_sensor) >= 0) {
                                ao_log_data.type = AO_LOG_SENSOR;
 #if HAS_MS5607
                                ao_log_data.u.sensor.pres = d->ms5607_raw.pres;
                                ao_log_data.type = AO_LOG_SENSOR;
 #if HAS_MS5607
                                ao_log_data.u.sensor.pres = d->ms5607_raw.pres;
@@ -134,11 +135,11 @@ ao_log(void)
                                ao_log_data.u.sensor.accel = ao_data_accel(&ao_data_ring[ao_log_data_pos]);
                                ao_log_write(&ao_log_data);
                                if (ao_log_state <= ao_flight_coast)
                                ao_log_data.u.sensor.accel = ao_data_accel(&ao_data_ring[ao_log_data_pos]);
                                ao_log_write(&ao_log_data);
                                if (ao_log_state <= ao_flight_coast)
-                                       next_sensor = ao_log_data.tick + AO_SENSOR_INTERVAL_ASCENT;
+                                       next_sensor = tick + AO_SENSOR_INTERVAL_ASCENT;
                                else
                                else
-                                       next_sensor = ao_log_data.tick + AO_SENSOR_INTERVAL_DESCENT;
+                                       next_sensor = tick + AO_SENSOR_INTERVAL_DESCENT;
                        }
                        }
-                       if ((int16_t) (ao_log_data.tick - next_other) >= 0) {
+                       if ((AO_TICK_SIGNED) (tick - next_other) >= 0) {
                                ao_log_data.type = AO_LOG_TEMP_VOLT;
                                ao_log_data.u.volt.v_batt = d->adc.v_batt;
                                ao_log_data.u.volt.v_pbatt = d->adc.v_pbatt;
                                ao_log_data.type = AO_LOG_TEMP_VOLT;
                                ao_log_data.u.volt.v_batt = d->adc.v_batt;
                                ao_log_data.u.volt.v_pbatt = d->adc.v_pbatt;
@@ -147,7 +148,7 @@ ao_log(void)
                                        ao_log_data.u.volt.sense[i] = d->adc.sense[i];
                                ao_log_data.u.volt.pyro = ao_pyro_fired;
                                ao_log_write(&ao_log_data);
                                        ao_log_data.u.volt.sense[i] = d->adc.sense[i];
                                ao_log_data.u.volt.pyro = ao_pyro_fired;
                                ao_log_write(&ao_log_data);
-                               next_other = ao_log_data.tick + AO_OTHER_INTERVAL;
+                               next_other = tick + AO_OTHER_INTERVAL;
                        }
                        ao_log_data_pos = ao_data_ring_next(ao_log_data_pos);
                }
                        }
                        ao_log_data_pos = ao_data_ring_next(ao_log_data_pos);
                }
index 18fb9ffbd1e569c3f41bb15095d60aedbf424923..8091e6c63ccd5b9a504f77f2ad7a4ce646d695b1 100644 (file)
@@ -65,8 +65,9 @@ ao_log(void)
        for (;;) {
                /* Write samples to EEPROM */
                while (ao_log_data_pos != ao_data_head) {
        for (;;) {
                /* Write samples to EEPROM */
                while (ao_log_data_pos != ao_data_head) {
-                       ao_log_data.tick = ao_data_ring[ao_log_data_pos].tick;
-                       if ((int16_t) (ao_log_data.tick - next_sensor) >= 0) {
+                       AO_TICK_TYPE tick = ao_data_ring[ao_log_data_pos].tick;
+                       ao_log_data.tick = tick;
+                       if ((AO_TICK_SIGNED) (tick - next_sensor) >= 0) {
                                ao_log_data.type = AO_LOG_SENSOR;
 #if HAS_MS5607
                                ao_log_data.u.sensor.pres = ao_data_ring[ao_log_data_pos].ms5607_raw.pres;
                                ao_log_data.type = AO_LOG_SENSOR;
 #if HAS_MS5607
                                ao_log_data.u.sensor.pres = ao_data_ring[ao_log_data_pos].ms5607_raw.pres;
@@ -77,17 +78,17 @@ ao_log(void)
 #endif
                                ao_log_write(&ao_log_data);
                                if (ao_log_state <= ao_flight_coast)
 #endif
                                ao_log_write(&ao_log_data);
                                if (ao_log_state <= ao_flight_coast)
-                                       next_sensor = ao_log_data.tick + AO_SENSOR_INTERVAL_ASCENT;
+                                       next_sensor = tick + AO_SENSOR_INTERVAL_ASCENT;
                                else
                                else
-                                       next_sensor = ao_log_data.tick + AO_SENSOR_INTERVAL_DESCENT;
+                                       next_sensor = tick + AO_SENSOR_INTERVAL_DESCENT;
                        }
                        }
-                       if ((int16_t) (ao_log_data.tick - next_other) >= 0) {
+                       if ((AO_TICK_SIGNED) (tick - next_other) >= 0) {
                                ao_log_data.type = AO_LOG_TEMP_VOLT;
                                ao_log_data.u.volt.v_batt = ao_data_ring[ao_log_data_pos].adc.v_batt;
                                ao_log_data.u.volt.sense_a = ao_data_ring[ao_log_data_pos].adc.sense_a;
                                ao_log_data.u.volt.sense_m = ao_data_ring[ao_log_data_pos].adc.sense_m;
                                ao_log_write(&ao_log_data);
                                ao_log_data.type = AO_LOG_TEMP_VOLT;
                                ao_log_data.u.volt.v_batt = ao_data_ring[ao_log_data_pos].adc.v_batt;
                                ao_log_data.u.volt.sense_a = ao_data_ring[ao_log_data_pos].adc.sense_a;
                                ao_log_data.u.volt.sense_m = ao_data_ring[ao_log_data_pos].adc.sense_m;
                                ao_log_write(&ao_log_data);
-                               next_other = ao_log_data.tick + AO_OTHER_INTERVAL;
+                               next_other = tick + AO_OTHER_INTERVAL;
                        }
                        ao_log_data_pos = ao_data_ring_next(ao_log_data_pos);
                }
                        }
                        ao_log_data_pos = ao_data_ring_next(ao_log_data_pos);
                }
index 03bf2265e9b15b0ed160047b559273913a606f40..3c46153eef832026cbc11e224602c1e443497a2d 100644 (file)
@@ -60,8 +60,9 @@ ao_log(void)
        for (;;) {
                /* Write samples to EEPROM */
                while (ao_log_data_pos != ao_data_head) {
        for (;;) {
                /* Write samples to EEPROM */
                while (ao_log_data_pos != ao_data_head) {
-                       ao_log_data.tick = ao_data_ring[ao_log_data_pos].tick;
-                       if ((int16_t) (ao_log_data.tick - next_sensor) >= 0) {
+                       AO_TICK_TYPE tick = ao_data_ring[ao_log_data_pos].tick;
+                       ao_log_data.tick = tick;
+                       if ((AO_TICK_SIGNED) (tick - next_sensor) >= 0) {
                                ao_log_data.type = AO_LOG_SENSOR;
                                ao_log_pack24(ao_log_data.u.sensor.pres,
                                              ao_data_ring[ao_log_data_pos].ms5607_raw.pres);
                                ao_log_data.type = AO_LOG_SENSOR;
                                ao_log_pack24(ao_log_data.u.sensor.pres,
                                              ao_data_ring[ao_log_data_pos].ms5607_raw.pres);
@@ -74,9 +75,9 @@ ao_log(void)
 #endif
                                ao_log_write(&ao_log_data);
                                if (ao_log_state <= ao_flight_coast)
 #endif
                                ao_log_write(&ao_log_data);
                                if (ao_log_state <= ao_flight_coast)
-                                       next_sensor = ao_log_data.tick + AO_SENSOR_INTERVAL_ASCENT;
+                                       next_sensor = tick + AO_SENSOR_INTERVAL_ASCENT;
                                else
                                else
-                                       next_sensor = ao_log_data.tick + AO_SENSOR_INTERVAL_DESCENT;
+                                       next_sensor = tick + AO_SENSOR_INTERVAL_DESCENT;
                        }
                        ao_log_data_pos = ao_data_ring_next(ao_log_data_pos);
                }
                        }
                        ao_log_data_pos = ao_data_ring_next(ao_log_data_pos);
                }
index 3fca80fb2b0e3bf74a75429796be842af6a44975..4af8bd7818579ead1287f53f8d1f057487a1e28e 100644 (file)
@@ -63,8 +63,9 @@ ao_log(void)
        for (;;) {
                /* Write samples to EEPROM */
                while (ao_log_data_pos != ao_data_head) {
        for (;;) {
                /* Write samples to EEPROM */
                while (ao_log_data_pos != ao_data_head) {
-                       ao_log_data.tick = ao_data_ring[ao_log_data_pos].tick;
-                       if ((int16_t) (ao_log_data.tick - next_sensor) >= 0) {
+                       AO_TICK_TYPE tick = ao_data_ring[ao_log_data_pos].tick;
+                       ao_log_data.tick = tick;
+                       if ((AO_TICK_SIGNED) (tick - next_sensor) >= 0) {
                                ao_log_data.type = AO_LOG_SENSOR;
                                ao_log_data.u.sensor.pressure = ao_data_motor_pressure(&ao_data_ring[ao_log_data_pos]);
                                ao_log_data.u.sensor.v_batt = ao_data_ring[ao_log_data_pos].adc.v_batt;
                                ao_log_data.type = AO_LOG_SENSOR;
                                ao_log_data.u.sensor.pressure = ao_data_motor_pressure(&ao_data_ring[ao_log_data_pos]);
                                ao_log_data.u.sensor.v_batt = ao_data_ring[ao_log_data_pos].adc.v_batt;
@@ -74,9 +75,9 @@ ao_log(void)
                                ao_log_data.u.sensor.accel_through = ao_data_through(&ao_data_ring[ao_log_data_pos]);
                                ao_log_write(&ao_log_data);
                                if (ao_log_state <= ao_flight_coast)
                                ao_log_data.u.sensor.accel_through = ao_data_through(&ao_data_ring[ao_log_data_pos]);
                                ao_log_write(&ao_log_data);
                                if (ao_log_state <= ao_flight_coast)
-                                       next_sensor = ao_log_data.tick + AO_SENSOR_INTERVAL_ASCENT;
+                                       next_sensor = tick + AO_SENSOR_INTERVAL_ASCENT;
                                else
                                else
-                                       next_sensor = ao_log_data.tick + AO_SENSOR_INTERVAL_DESCENT;
+                                       next_sensor = tick + AO_SENSOR_INTERVAL_DESCENT;
                        }
                        ao_log_data_pos = ao_data_ring_next(ao_log_data_pos);
                }
                        }
                        ao_log_data_pos = ao_data_ring_next(ao_log_data_pos);
                }
index 530031113842fada7915070db8429e00ca394b7c..ccdb3aac38fe8ca63ee70e463de617863a0340a8 100644 (file)
@@ -18,7 +18,7 @@
 
 #include "ao.h"
 
 
 #include "ao.h"
 
-static 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_LOG_TINY_INTERVAL_DEFAULT   AO_MS_TO_TICKS(1000)
 #if USE_FAST_ASCENT_LOG
@@ -30,7 +30,7 @@ static uint16_t       ao_log_tiny_interval;
 #endif
 
 void
 #endif
 
 void
-ao_log_tiny_set_interval(uint16_t ticks)
+ao_log_tiny_set_interval(AO_TICK_TYPE ticks)
 {
        ao_log_tiny_interval = ticks;
 }
 {
        ao_log_tiny_interval = ticks;
 }
@@ -134,7 +134,7 @@ ao_log(void)
                 * Write out the sample when finished
                 */
                now = ao_time();
                 * 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);
                        count = sum / count;
                        if (ao_log_started)
                                ao_log_tiny_data(count);
index f415420d6ea900015e220f894f5e0a0bdbf16e0d..3c6caf7bac7db7d0509e069df6c30b1c8d42632d 100644 (file)
@@ -24,6 +24,7 @@
 
 uint32_t       pa;
 uint32_t       pa_ground;
 
 uint32_t       pa;
 uint32_t       pa_ground;
+uint32_t       pa_ground_next;
 uint32_t       pa_min;
 
 static void
 uint32_t       pa_min;
 
 static void
@@ -58,7 +59,7 @@ ao_microflight(void)
        time = ao_time();
        ao_pa_get();
        ao_microkalman_init();
        time = ao_time();
        ao_pa_get();
        ao_microkalman_init();
-       pa_ground = pa;
+       pa_ground_next = pa_ground = pa;
        sample_count = 0;
        h = 0;
        for (;;) {
        sample_count = 0;
        h = 0;
        for (;;) {
@@ -88,7 +89,8 @@ ao_microflight(void)
                                pa_sum += pa;
                        ++sample_count;
                } else {
                                pa_sum += pa;
                        ++sample_count;
                } else {
-                       pa_ground = pa_sum >> GROUND_AVG_SHIFT;
+                       pa_ground = pa_ground_next;
+                       pa_ground_next = pa_sum >> GROUND_AVG_SHIFT;
                        pa_sum = 0;
                        sample_count = 0;
 #if !BOOST_DETECT
                        pa_sum = 0;
                        sample_count = 0;
 #if !BOOST_DETECT
index 8c5743fdecd0a0a1f7ae62c528e32d27c98a138b..c87bbbbbe21cbf32ab217b2856f105a299af379f 100644 (file)
@@ -44,7 +44,7 @@ void
 ao_delay_until(AO_TICK_TYPE target)
 {
        ao_arch_block_interrupts();
 ao_delay_until(AO_TICK_TYPE target)
 {
        ao_arch_block_interrupts();
-       while ((int16_t) (target - ao_tick_count) > 0)
+       while ((AO_TICK_SIGNED) (target - ao_tick_count) > 0)
                ao_sleep((void *) &ao_tick_count);
        ao_arch_release_interrupts();
 }
                ao_sleep((void *) &ao_tick_count);
        ao_arch_release_interrupts();
 }
index 6160410000d9d0af2a5733a811e67d38c1c73ab4..c9db061bfcf5f2bd74336b44f4afa16b821b2a71 100644 (file)
@@ -161,14 +161,14 @@ ao_pyro_ready(struct ao_pyro *pyro)
 #endif
 
                case ao_pyro_time_less:
 #endif
 
                case ao_pyro_time_less:
-                       if ((int32_t) (ao_time() - ao_launch_tick) <= pyro->time_less)
+                       if ((AO_TICK_SIGNED) (ao_time() - ao_launch_tick) <= pyro->time_less)
                                continue;
                                continue;
-                       DBG("time %d > %d\n", (int32_t)(ao_time() - ao_launch_tick), pyro->time_less);
+                       DBG("time %d > %d\n", (AO_TICK_SIGNED)(ao_time() - ao_launch_tick), pyro->time_less);
                        break;
                case ao_pyro_time_greater:
                        break;
                case ao_pyro_time_greater:
-                       if ((int32_t) (ao_time() - ao_launch_tick) >= pyro->time_greater)
+                       if ((AO_TICK_SIGNED) (ao_time() - ao_launch_tick) >= pyro->time_greater)
                                continue;
                                continue;
-                       DBG("time %d < %d\n", (int32_t)(ao_time() - ao_launch_tick), pyro->time_greater);
+                       DBG("time %d < %d\n", (AO_TICK_SIGNED)(ao_time() - ao_launch_tick), pyro->time_greater);
                        break;
 
                case ao_pyro_ascending:
                        break;
 
                case ao_pyro_ascending:
@@ -316,7 +316,7 @@ ao_pyro_check(void)
                                continue;
                        }
 
                                continue;
                        }
 
-                       if ((int32_t) (ao_time() - pyro->delay_done) < 0)
+                       if ((AO_TICK_SIGNED) (ao_time() - pyro->delay_done) < 0)
                                continue;
                }
 
                                continue;
                }
 
index 9ddbfd8eace7453a6f359267a866cf0972b40c61..e3b5e084d8f4c52ec454e30739910bfada8a9912 100644 (file)
@@ -35,7 +35,7 @@
 #define ACCEL_TYPE int16_t
 #endif
 
 #define ACCEL_TYPE int16_t
 #endif
 
-uint16_t       ao_sample_tick;         /* time of last data */
+AO_TICK_TYPE   ao_sample_tick;         /* time of last data */
 #if HAS_BARO
 pres_t         ao_sample_pres;
 alt_t          ao_sample_alt;
 #if HAS_BARO
 pres_t         ao_sample_pres;
 alt_t          ao_sample_alt;
@@ -274,7 +274,7 @@ static void
 ao_sample_rotate(void)
 {
 #ifdef AO_FLIGHT_TEST
 ao_sample_rotate(void)
 {
 #ifdef AO_FLIGHT_TEST
-       float   dt = (int16_t) (ao_sample_tick - ao_sample_prev_tick) / TIME_DIV;
+       float   dt = (AO_TICK_SIGNED) (ao_sample_tick - ao_sample_prev_tick) / TIME_DIV;
 #else
        static const float dt = 1/TIME_DIV;
 #endif
 #else
        static const float dt = 1/TIME_DIV;
 #endif
index 8e64095b79a407478d1f5af3082f3e26fedbee81..ad7c50eff49081aa4050b9da9f49a87dde4047a2 100644 (file)
@@ -115,7 +115,7 @@ typedef int16_t                     ao_v_t;
 #define AO_MS_TO_SPEED(ms)     ((ao_v_t) ((ms) * 16))
 #define AO_MSS_TO_ACCEL(mss)   ((ao_v_t) ((mss) * 16))
 
 #define AO_MS_TO_SPEED(ms)     ((ao_v_t) ((ms) * 16))
 #define AO_MSS_TO_ACCEL(mss)   ((ao_v_t) ((mss) * 16))
 
-extern uint16_t        ao_sample_tick;         /* time of last data */
+extern AO_TICK_TYPE ao_sample_tick;            /* time of last data */
 extern uint8_t ao_sample_adc;          /* Ring position of last processed sample */
 extern uint8_t ao_sample_data;         /* Ring position of last processed sample */
 
 extern uint8_t ao_sample_adc;          /* Ring position of last processed sample */
 extern uint8_t ao_sample_data;         /* Ring position of last processed sample */
 
index 0f2491031e8e2d0de8774e2ba1ab96f4d70e9b47..b7e634656285a2b823c9ff6cb088fbe4c81c5736 100644 (file)
@@ -63,7 +63,7 @@ ao_tracker(void)
        uint8_t new;
        int32_t ground_distance;
        int16_t height;
        uint8_t new;
        int32_t ground_distance;
        int16_t height;
-       uint16_t gps_tick;
+       AO_TICK_TYPE gps_tick;
        uint8_t new_tracker_running;
 
 #if HAS_ADC
        uint8_t new_tracker_running;
 
 #if HAS_ADC
index 102abb910a3d8e1050e8823aa2b3450aa1f5a843..4c02edf1668fe52dd2652fa6234aeec14f7f989c 100644 (file)
@@ -624,7 +624,7 @@ static struct ao_task ao_terramonitor_task;
 static void
 ao_terragps(void)
 {
 static void
 ao_terragps(void)
 {
-       uint16_t        gps_tick = ao_gps_progress;
+       AO_TICK_TYPE    gps_tick = ao_gps_progress;
 
        for (;;) {
                while (ao_gps_tick == gps_tick)
 
        for (;;) {
                while (ao_gps_tick == gps_tick)
index b9c6d5d69f548c83741490b97030fc7cc5553880..30b442cdfd3948fa43e2f28a6af25e4ba3ca9c37 100644 (file)
@@ -251,7 +251,7 @@ serial_string(char *string)
                outbyte(c);
 }
 
                outbyte(c);
 }
 
-volatile uint16_t      tick_count;
+volatile AO_TICK_TYPE  tick_count;
 
 void
 stm_tim6_isr(void)
 
 void
 stm_tim6_isr(void)
index 2b4c5ab0f31a70766e33badbba78bfd3d2136182..9d1e753fb6a0825269824e990be3724e6646fba2 100644 (file)
 #define AO_ADC_RING            32
 
 struct ao_adc {
 #define AO_ADC_RING            32
 
 struct ao_adc {
-       uint16_t                tick;
+       AO_TICK_TYPE            tick;
        int16_t                 idd;
        int16_t                 temp;
        int16_t                 vref;
        int16_t                 idd;
        int16_t                 temp;
        int16_t                 vref;
index 93264031dd7a427f03ee6addbae83b4dae2efd27..6cbf0a4b58b22adb686dcfff986ed9e516b6e51e 100644 (file)
 #define AO_ADC_RING            32
 
 struct ao_adc {
 #define AO_ADC_RING            32
 
 struct ao_adc {
-       uint16_t                tick;
+       AO_TICK_TYPE            tick;
        int16_t                 idd;
        int16_t                 temp;
        int16_t                 vref;
        int16_t                 idd;
        int16_t                 temp;
        int16_t                 vref;
index 6b006307545fe4d3625837301fec1b860ba37ce8..72ed0cebb0829d64ad9a0abc62ef8860bea67dac 100644 (file)
@@ -158,7 +158,7 @@ struct ao_adc {
 };
 
 #define AO_ADC_DUMP(p) \
 };
 
 #define AO_ADC_DUMP(p) \
-       printf("tick: %5u drogue: %5d main: %5d batt: %5d\n", \
+       printf("tick: %5lu drogue: %5d main: %5d batt: %5d\n", \
               (p)->tick, \
               (p)->adc.sense_a, (p)->adc.sense_m, \
               (p)->adc.v_batt);
               (p)->tick, \
               (p)->adc.sense_a, (p)->adc.sense_m, \
               (p)->adc.v_batt);
index d71f265501dbeeef35551cc3f1100673c5151c8d..bb9d43a753e4912d44fcbe4915ab1fb178743d7f 100644 (file)
@@ -136,7 +136,7 @@ struct ao_adc {
 };
 
 #define AO_ADC_DUMP(p) \
 };
 
 #define AO_ADC_DUMP(p) \
-       printf("tick: %5u batt %5d\n", \
+       printf("tick: %5lu batt %5d\n", \
               (p)->tick, \
               (p)->adc.v_batt);
 
               (p)->tick, \
               (p)->adc.v_batt);
 
index 1b4efdd3dfbc2e485db85d37dfc229ac44aee507..ce2d949f34d9702995825edc2253213e7070b080 100644 (file)
@@ -130,7 +130,7 @@ struct ao_adc {
 };
 
 #define AO_ADC_DUMP(p) \
 };
 
 #define AO_ADC_DUMP(p) \
-       printf("tick: %5u batt %5d\n", \
+       printf("tick: %5lu batt %5d\n", \
               (p)->tick, \
               (p)->adc.v_batt);
 
               (p)->tick, \
               (p)->adc.v_batt);
 
index b1952278815d98dd2ecc18e92fa4e4dc7d896826..9d0b963fd32e587d42fac0b845a85d5ec285d43a 100644 (file)
@@ -310,7 +310,7 @@ struct ao_adc {
 };
 
 #define AO_ADC_DUMP(p)                                                 \
 };
 
 #define AO_ADC_DUMP(p)                                                 \
-       printf ("tick: %5u "                                            \
+       printf ("tick: %5lu "                                           \
                "0: %5d 1: %5d 2: %5d 3: %5d "                          \
                "4: %5d 5: %5d 6: %5d 7: %5d "                          \
                "pyro: %5d batt: %5d\n",                                \
                "0: %5d 1: %5d 2: %5d 3: %5d "                          \
                "4: %5d 5: %5d 6: %5d 7: %5d "                          \
                "pyro: %5d batt: %5d\n",                                \
index a71eb441046a6ca1891fc580016c6d6fb19a3797..e3e8876200728182bd81e55edd7bd697fe9ce49f 100644 (file)
@@ -294,7 +294,7 @@ struct ao_adc {
 };
 
 #define AO_ADC_DUMP(p)                                                 \
 };
 
 #define AO_ADC_DUMP(p)                                                 \
-       printf ("tick: %5u "                                            \
+       printf ("tick: %5lu "                                           \
                "0: %5d 1: %5d 2: %5d 3: %5d "                          \
                "4: %5d 5: %5d 6: %5d 7: %5d "                          \
                "pyro: %5d batt: %5d\n",                                \
                "0: %5d 1: %5d 2: %5d 3: %5d "                          \
                "4: %5d 5: %5d 6: %5d 7: %5d "                          \
                "pyro: %5d batt: %5d\n",                                \
index 9d43c2c23e1be832a42f28c307e3802b86a43eec..044f7434c27e07248882014314f21f79c0efbd67 100644 (file)
@@ -231,7 +231,7 @@ struct ao_adc {
 };
 
 #define AO_ADC_DUMP(p)                                                 \
 };
 
 #define AO_ADC_DUMP(p)                                                 \
-       printf ("tick: %5u 0: %5d pyro: %5d batt %5d thrust %5d pressure %5d\n", \
+       printf ("tick: %5lu 0: %5d pyro: %5d batt %5d thrust %5d pressure %5d\n", \
                (p)->tick,                                              \
                (p)->adc.sense[0],                                      \
                (p)->adc.pyro,                                          \
                (p)->tick,                                              \
                (p)->adc.sense[0],                                      \
                (p)->adc.pyro,                                          \
index a3bc0a8565ae83dddc99ee15722416a88f574d5f..01bf25e8d29b43d5479c911eaeff8f60383565cb 100644 (file)
@@ -210,7 +210,7 @@ struct ao_adc {
 };
 
 #define AO_ADC_DUMP(p)                                                 \
 };
 
 #define AO_ADC_DUMP(p)                                                 \
-       printf ("tick: %5u 0: %5d 1: %5d pyro: %5d batt %5d\n", \
+       printf ("tick: %5lu 0: %5d 1: %5d pyro: %5d batt %5d\n", \
                (p)->tick,                                              \
                (p)->adc.sense[0],                                      \
                (p)->adc.sense[1],                                      \
                (p)->tick,                                              \
                (p)->adc.sense[0],                                      \
                (p)->adc.sense[1],                                      \
index fbc767393fdd4d5c0f0460348f5272a0136e888d..99293da8f099923770a569af54380b654559398d 100644 (file)
@@ -143,7 +143,7 @@ struct ao_adc {
 };
 
 #define AO_ADC_DUMP(p) \
 };
 
 #define AO_ADC_DUMP(p) \
-       printf("tick: %5u batt: %5d\n", \
+       printf("tick: %5lu batt: %5d\n", \
               (p)->tick, \
               (p)->adc.v_batt)
 
               (p)->tick, \
               (p)->adc.v_batt)
 
index 5c6aee0e302e3615a7b06d53354d17019e37d5f9..7c8c5c3cf5ab313aca129f6c28f43328d7c78a7a 100644 (file)
@@ -87,7 +87,7 @@ struct ao_adc {
 };
 
 #define AO_ADC_DUMP(p) \
 };
 
 #define AO_ADC_DUMP(p) \
-        printf("tick: %5u batt: %5d\n", \
+        printf("tick: %5lu batt: %5d\n", \
                (p)->tick, \
                (p)->adc.v_batt)
 
                (p)->tick, \
                (p)->adc.v_batt)
 
index ea450354e4a6161bbd58393a25e99072d21cc3cd..2a2f9e61d7db70c9af6d0029a0fa2ed5aaf60a62 100644 (file)
@@ -182,7 +182,7 @@ struct ao_adc {
 };
 
 #define AO_ADC_DUMP(p) \
 };
 
 #define AO_ADC_DUMP(p) \
-       printf("tick: %5u A: %5d B: %5d C: %5d D: %5d drogue: %5d main: %5d batt: %5d pbatt: %5d temp: %5d\n", \
+       printf("tick: %5lu A: %5d B: %5d C: %5d D: %5d drogue: %5d main: %5d batt: %5d pbatt: %5d temp: %5d\n", \
               (p)->tick, \
               (p)->adc.sense[0], (p)->adc.sense[1], (p)->adc.sense[2], \
               (p)->adc.sense[3], (p)->adc.sense[4], (p)->adc.sense[5], \
               (p)->tick, \
               (p)->adc.sense[0], (p)->adc.sense[1], (p)->adc.sense[2], \
               (p)->adc.sense[3], (p)->adc.sense[4], (p)->adc.sense[5], \
index fa953460ede8992d26d2e7857014e3d9c2ef3934..9cccdb9650d44e05743047ab2fcf94f972259073 100644 (file)
@@ -182,7 +182,7 @@ struct ao_adc {
 };
 
 #define AO_ADC_DUMP(p) \
 };
 
 #define AO_ADC_DUMP(p) \
-       printf("tick: %5u A: %5d B: %5d C: %5d D: %5d drogue: %5d main: %5d batt: %5d pbatt: %5d temp: %5d\n", \
+       printf("tick: %5lu A: %5d B: %5d C: %5d D: %5d drogue: %5d main: %5d batt: %5d pbatt: %5d temp: %5d\n", \
               (p)->tick, \
               (p)->adc.sense[0], (p)->adc.sense[1], (p)->adc.sense[2], \
               (p)->adc.sense[3], (p)->adc.sense[4], (p)->adc.sense[5], \
               (p)->tick, \
               (p)->adc.sense[0], (p)->adc.sense[1], (p)->adc.sense[2], \
               (p)->adc.sense[3], (p)->adc.sense[4], (p)->adc.sense[5], \
index 4f3b73f7d4d3d75cbff63895122481e717e6933b..db0d5d8ccbbebc56aa046b978d54b590792e23c1 100644 (file)
@@ -182,7 +182,7 @@ struct ao_adc {
 };
 
 #define AO_ADC_DUMP(p) \
 };
 
 #define AO_ADC_DUMP(p) \
-       printf("tick: %5u A: %5d B: %5d C: %5d D: %5d drogue: %5d main: %5d batt: %5d pbatt: %5d temp: %5d\n", \
+       printf("tick: %5lu A: %5d B: %5d C: %5d D: %5d drogue: %5d main: %5d batt: %5d pbatt: %5d temp: %5d\n", \
               (p)->tick, \
               (p)->adc.sense[0], (p)->adc.sense[1], (p)->adc.sense[2], \
               (p)->adc.sense[3], (p)->adc.sense[4], (p)->adc.sense[5], \
               (p)->tick, \
               (p)->adc.sense[0], (p)->adc.sense[1], (p)->adc.sense[2], \
               (p)->adc.sense[3], (p)->adc.sense[4], (p)->adc.sense[5], \
index 29b5cc1d3163d7535926d7fd5411ea4bc80d30c8..e3e70afa3e897fbc694a6f31ab22d1f0b02a212e 100644 (file)
@@ -182,7 +182,7 @@ struct ao_adc {
 };
 
 #define AO_ADC_DUMP(p) \
 };
 
 #define AO_ADC_DUMP(p) \
-       printf("tick: %5u A: %5d B: %5d C: %5d D: %5d drogue: %5d main: %5d batt: %5d pbatt: %5d temp: %5d\n", \
+       printf("tick: %5lu A: %5d B: %5d C: %5d D: %5d drogue: %5d main: %5d batt: %5d pbatt: %5d temp: %5d\n", \
               (p)->tick, \
               (p)->adc.sense[0], (p)->adc.sense[1], (p)->adc.sense[2], \
               (p)->adc.sense[3], (p)->adc.sense[4], (p)->adc.sense[5], \
               (p)->tick, \
               (p)->adc.sense[0], (p)->adc.sense[1], (p)->adc.sense[2], \
               (p)->adc.sense[3], (p)->adc.sense[4], (p)->adc.sense[5], \
index fdf290716c041b0804fd617b8b066749288eb70b..8839dfe27f6303ace9856a2fd8d16d51386c94d0 100644 (file)
@@ -177,7 +177,7 @@ struct ao_adc {
 };
 
 #define AO_ADC_DUMP(p) \
 };
 
 #define AO_ADC_DUMP(p) \
-       printf("tick: %5u A: %5d B: %5d C: %5d D: %5d drogue: %5d main: %5d batt: %5d pbatt: %5d temp: %5d\n", \
+       printf("tick: %5lu A: %5d B: %5d C: %5d D: %5d drogue: %5d main: %5d batt: %5d pbatt: %5d temp: %5d\n", \
               (p)->tick, \
               (p)->adc.sense[0], (p)->adc.sense[1], (p)->adc.sense[2], \
               (p)->adc.sense[3], (p)->adc.sense[4], (p)->adc.sense[5], \
               (p)->tick, \
               (p)->adc.sense[0], (p)->adc.sense[1], (p)->adc.sense[2], \
               (p)->adc.sense[3], (p)->adc.sense[4], (p)->adc.sense[5], \
index 07b3daa857268ea3eea99201e8986dd8d243715b..4ad2bfb4224a614cf6597258fef595e9eba86342 100644 (file)
@@ -187,7 +187,7 @@ struct ao_adc {
 };
 
 #define AO_ADC_DUMP(p) \
 };
 
 #define AO_ADC_DUMP(p) \
-       printf("tick: %5u A: %5d B: %5d C: %5d D: %5d drogue: %5d main: %5d batt: %5d pbatt: %5d temp: %5d\n", \
+       printf("tick: %5lu A: %5d B: %5d C: %5d D: %5d drogue: %5d main: %5d batt: %5d pbatt: %5d temp: %5d\n", \
               (p)->tick, \
               (p)->adc.sense[0], (p)->adc.sense[1], (p)->adc.sense[2], \
               (p)->adc.sense[3], (p)->adc.sense[4], (p)->adc.sense[5], \
               (p)->tick, \
               (p)->adc.sense[0], (p)->adc.sense[1], (p)->adc.sense[2], \
               (p)->adc.sense[3], (p)->adc.sense[4], (p)->adc.sense[5], \
index aa49483e8ee580fb8570965bfcb58d1dd6b76ace..e88566bd0d4bf0f12aadae492510f0c3d5fcc5ca 100644 (file)
@@ -157,7 +157,7 @@ struct ao_adc {
 };
 
 #define AO_ADC_DUMP(p) \
 };
 
 #define AO_ADC_DUMP(p) \
-       printf("tick: %5u drogue: %5d main: %5d batt: %5d\n", \
+       printf("tick: %5lu drogue: %5d main: %5d batt: %5d\n", \
               (p)->tick, \
               (p)->adc.sense_a, (p)->adc.sense_m, \
               (p)->adc.v_batt);
               (p)->tick, \
               (p)->adc.sense_a, (p)->adc.sense_m, \
               (p)->adc.v_batt);
index a1d4aa28edb3378a1d8e7db4ae4cfb745566d635..e42e4150eaf70973094c96a9dd2f06d9d686c561 100644 (file)
@@ -157,7 +157,7 @@ struct ao_adc {
 };
 
 #define AO_ADC_DUMP(p) \
 };
 
 #define AO_ADC_DUMP(p) \
-       printf("tick: %5u drogue: %5d main: %5d batt: %5d\n", \
+       printf("tick: %5lu drogue: %5d main: %5d batt: %5d\n", \
               (p)->tick, \
               (p)->adc.sense_a, (p)->adc.sense_m, \
               (p)->adc.v_batt);
               (p)->tick, \
               (p)->adc.sense_a, (p)->adc.sense_m, \
               (p)->adc.v_batt);
index a734ff0aaaa1f139c48729edc8b52e107db9a31b..28b3540bb88d910cc05c636bceecbdd3f35b0d56 100644 (file)
@@ -171,7 +171,7 @@ struct ao_adc {
 #define AO_SENSE_MAIN(p)       ((p)->adc.sense_m)
 
 #define AO_ADC_DUMP(p) \
 #define AO_SENSE_MAIN(p)       ((p)->adc.sense_m)
 
 #define AO_ADC_DUMP(p) \
-       printf("tick: %5u apogee: %5d main: %5d batt: %5d\n", \
+       printf("tick: %5lu apogee: %5d main: %5d batt: %5d\n", \
               (p)->tick, (p)->adc.sense_a, (p)->adc.sense_m, (p)->adc.v_batt)
 
 /*
               (p)->tick, (p)->adc.sense_a, (p)->adc.sense_m, (p)->adc.v_batt)
 
 /*
index d12652b49617126a5d9177877f800c5886f84b4a..fc1dfa8fe6b759b1def1caccc3ffdfa78429210b 100644 (file)
@@ -390,7 +390,7 @@ typedef int16_t     accel_t;
 uint16_t       ao_serial_number;
 int16_t                ao_flight_number;
 
 uint16_t       ao_serial_number;
 int16_t                ao_flight_number;
 
-extern uint16_t        ao_sample_tick;
+extern AO_TICK_TYPE    ao_sample_tick;
 
 #if HAS_BARO
 extern alt_t   ao_sample_height;
 
 #if HAS_BARO
 extern alt_t   ao_sample_height;
@@ -404,8 +404,8 @@ extern alt_t        ao_sample_alt;
 
 double ao_sample_qangle;
 
 
 double ao_sample_qangle;
 
-int ao_sample_prev_tick;
-uint16_t       prev_tick;
+AO_TICK_TYPE   ao_sample_prev_tick;
+AO_TICK_TYPE   prev_tick;
 
 
 #include "ao_kalman.c"
 
 
 #include "ao_kalman.c"