From: Keith Packard Date: Thu, 16 Dec 2021 21:39:33 +0000 (-0800) Subject: altos: Switch all tick variables to AO_TICK_TYPE/AO_TICK_SIGNED X-Git-Tag: 1.9.10.4~62 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=7f46240dfc57164f0c1b0c4c4ed9695bca63860d altos: Switch all tick variables to AO_TICK_TYPE/AO_TICK_SIGNED 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 --- diff --git a/src/attiny/ao_clock.c b/src/attiny/ao_clock.c index 06695850..e5681edb 100644 --- a/src/attiny/ao_clock.c +++ b/src/attiny/ao_clock.c @@ -24,7 +24,7 @@ static volatile AO_TICK_TYPE ao_wakeup_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); } @@ -131,7 +131,7 @@ ao_delay_until(AO_TICK_TYPE 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(); } diff --git a/src/avr/ao_led_avr.c b/src/avr/ao_led_avr.c index 165e95d3..ecf13a0f 100644 --- a/src/avr/ao_led_avr.c +++ b/src/avr/ao_led_avr.c @@ -48,7 +48,7 @@ ao_led_toggle(uint8_t colors) } 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); diff --git a/src/avr/ao_timer.c b/src/avr/ao_timer.c index ff6a829a..b9c375d3 100644 --- a/src/avr/ao_timer.c +++ b/src/avr/ao_timer.c @@ -18,9 +18,9 @@ #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( diff --git a/src/drivers/ao_event.c b/src/drivers/ao_event.c index 9856c2aa..d9d1d375 100644 --- a/src/drivers/ao_event.c +++ b/src/drivers/ao_event.c @@ -43,7 +43,7 @@ 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) { uint8_t empty = 1; ao_arch_critical( diff --git a/src/drivers/ao_event.h b/src/drivers/ao_event.h index d1df6eac..d3d23bd3 100644 --- a/src/drivers/ao_event.h +++ b/src/drivers/ao_event.h @@ -27,7 +27,7 @@ struct ao_event { uint8_t type; uint8_t unit; - uint16_t tick; + AO_TICK_TYPE tick; int32_t value; }; @@ -35,7 +35,7 @@ void 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); diff --git a/src/drivers/ao_gps_sirf.c b/src/drivers/ao_gps_sirf.c index bdd9410e..25a31808 100644 --- a/src/drivers/ao_gps_sirf.c +++ b/src/drivers/ao_gps_sirf.c @@ -22,7 +22,7 @@ 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; diff --git a/src/drivers/ao_gps_skytraq.c b/src/drivers/ao_gps_skytraq.c index 3b4a62ec..d90141b6 100644 --- a/src/drivers/ao_gps_skytraq.c +++ b/src/drivers/ao_gps_skytraq.c @@ -39,11 +39,11 @@ static char ao_gps_char; 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; -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; diff --git a/src/drivers/ao_gps_ublox.c b/src/drivers/ao_gps_ublox.c index 89b1c4d2..2556d314 100644 --- a/src/drivers/ao_gps_ublox.c +++ b/src/drivers/ao_gps_ublox.c @@ -28,7 +28,7 @@ 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; diff --git a/src/drivers/ao_pca9922.c b/src/drivers/ao_pca9922.c index 91d62026..9830791e 100644 --- a/src/drivers/ao_pca9922.c +++ b/src/drivers/ao_pca9922.c @@ -93,7 +93,7 @@ ao_led_toggle(uint8_t colors) } 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); diff --git a/src/drivers/ao_pyro_slave.c b/src/drivers/ao_pyro_slave.c index 8ea6d858..5555d27d 100644 --- a/src/drivers/ao_pyro_slave.c +++ b/src/drivers/ao_pyro_slave.c @@ -33,8 +33,8 @@ static const struct ao_companion_setup ao_telepyro_setup = { 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) { diff --git a/src/easymega-v1.0/ao_pins.h b/src/easymega-v1.0/ao_pins.h index d16843d6..7ebf5fd2 100644 --- a/src/easymega-v1.0/ao_pins.h +++ b/src/easymega-v1.0/ao_pins.h @@ -182,7 +182,7 @@ struct ao_adc { }; #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], \ diff --git a/src/easymega-v2.0/ao_pins.h b/src/easymega-v2.0/ao_pins.h index a3d04da5..a304d034 100644 --- a/src/easymega-v2.0/ao_pins.h +++ b/src/easymega-v2.0/ao_pins.h @@ -177,7 +177,7 @@ struct ao_adc { }; #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], \ diff --git a/src/easymini-v1.0/ao_pins.h b/src/easymini-v1.0/ao_pins.h index ef8cba2d..eb805c76 100644 --- a/src/easymini-v1.0/ao_pins.h +++ b/src/easymini-v1.0/ao_pins.h @@ -19,7 +19,7 @@ #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 @@ -134,7 +134,7 @@ struct ao_adc { #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) /* diff --git a/src/easymini-v2.0/ao_pins.h b/src/easymini-v2.0/ao_pins.h index ba5749e9..da52c5fd 100644 --- a/src/easymini-v2.0/ao_pins.h +++ b/src/easymini-v2.0/ao_pins.h @@ -139,7 +139,7 @@ struct ao_adc { #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) /* diff --git a/src/easymotor-v2/ao_pins.h b/src/easymotor-v2/ao_pins.h index 097ecb45..0fa037b3 100644 --- a/src/easymotor-v2/ao_pins.h +++ b/src/easymotor-v2/ao_pins.h @@ -109,7 +109,7 @@ struct ao_adc { }; #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); diff --git a/src/easytimer-v1/ao_pins.h b/src/easytimer-v1/ao_pins.h index 1169a283..43467277 100644 --- a/src/easytimer-v1/ao_pins.h +++ b/src/easytimer-v1/ao_pins.h @@ -154,7 +154,7 @@ struct ao_adc { }; #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); diff --git a/src/kernel/ao.h b/src/kernel/ao.h index 5df4903c..af070cc1 100644 --- a/src/kernel/ao.h +++ b/src/kernel/ao.h @@ -389,7 +389,7 @@ ao_spi_slave(void); #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; diff --git a/src/kernel/ao_data.h b/src/kernel/ao_data.h index 60794cc2..1b5f9d10 100644 --- a/src/kernel/ao_data.h +++ b/src/kernel/ao_data.h @@ -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 { - uint16_t tick; + AO_TICK_TYPE tick; #if HAS_ADC struct ao_adc adc; #endif diff --git a/src/kernel/ao_fake_flight.c b/src/kernel/ao_fake_flight.c index ec8691e9..e14daa06 100644 --- a/src/kernel/ao_fake_flight.c +++ b/src/kernel/ao_fake_flight.c @@ -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 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 diff --git a/src/kernel/ao_flight.c b/src/kernel/ao_flight.c index 4a7055c4..8553ccc5 100644 --- a/src/kernel/ao_flight.c +++ b/src/kernel/ao_flight.c @@ -50,8 +50,8 @@ /* 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 @@ -272,7 +272,7 @@ ao_flight(void) * (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 @@ -319,7 +319,7 @@ ao_flight(void) * 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; } @@ -363,7 +363,7 @@ ao_flight(void) #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)) @@ -443,7 +443,7 @@ ao_flight(void) 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; diff --git a/src/kernel/ao_flight.h b/src/kernel/ao_flight.h index c66860d0..bc74bf9c 100644 --- a/src/kernel/ao_flight.h +++ b/src/kernel/ao_flight.h @@ -39,8 +39,8 @@ enum 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; diff --git a/src/kernel/ao_flight_nano.c b/src/kernel/ao_flight_nano.c index 96d47fac..09e74901 100644 --- a/src/kernel/ao_flight_nano.c +++ b/src/kernel/ao_flight_nano.c @@ -21,13 +21,13 @@ /* 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 */ -uint16_t ao_interval_end; +AO_TICK_TYPE ao_interval_end; 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 ((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; diff --git a/src/kernel/ao_host.h b/src/kernel/ao_host.h index e2f14e79..c974a9fe 100644 --- a/src/kernel/ao_host.h +++ b/src/kernel/ao_host.h @@ -32,7 +32,7 @@ * 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 */ diff --git a/src/kernel/ao_kalman.c b/src/kernel/ao_kalman.c index f93f5aba..168812b7 100644 --- a/src/kernel/ao_kalman.c +++ b/src/kernel/ao_kalman.c @@ -61,14 +61,14 @@ static void 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; } - 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; @@ -149,13 +149,13 @@ ao_kalman_correct_baro(void) { 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; } - 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; @@ -189,7 +189,7 @@ ao_kalman_correct_both(void) 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), @@ -210,7 +210,7 @@ ao_kalman_correct_both(void) (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), @@ -260,7 +260,7 @@ ao_kalman_correct_accel(void) 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; @@ -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 - 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; - 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 diff --git a/src/kernel/ao_log_big.c b/src/kernel/ao_log_big.c index 2a8cd63d..e09d32ea 100644 --- a/src/kernel/ao_log_big.c +++ b/src/kernel/ao_log_big.c @@ -32,7 +32,7 @@ typedef uint8_t check_log_size[1-(256 % sizeof(struct ao_log_record))] ; void ao_log(void) { - uint16_t next_sensor, next_other; + AO_TICK_TYPE next_sensor, next_other; ao_storage_setup(); @@ -58,18 +58,19 @@ ao_log(void) 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) - next_sensor = ao_log_data.tick + AO_SENSOR_INTERVAL_ASCENT; + next_sensor = tick + AO_SENSOR_INTERVAL_ASCENT; 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; @@ -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); - 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); } diff --git a/src/kernel/ao_log_gps.c b/src/kernel/ao_log_gps.c index 2b45f35e..211707e5 100644 --- a/src/kernel/ao_log_gps.c +++ b/src/kernel/ao_log_gps.c @@ -34,7 +34,7 @@ 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) { 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 -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; diff --git a/src/kernel/ao_log_gps.h b/src/kernel/ao_log_gps.h index 096c8383..8cc6cac9 100644 --- a/src/kernel/ao_log_gps.h +++ b/src/kernel/ao_log_gps.h @@ -26,9 +26,9 @@ 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 -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_ */ diff --git a/src/kernel/ao_log_mega.c b/src/kernel/ao_log_mega.c index ed1a4739..78dbd980 100644 --- a/src/kernel/ao_log_mega.c +++ b/src/kernel/ao_log_mega.c @@ -36,7 +36,7 @@ typedef uint8_t check_log_size[1-(256 % sizeof(struct ao_log_mega))] ; void ao_log(void) { - uint16_t next_sensor, next_other; + AO_TICK_TYPE next_sensor, next_other; 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) { - 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]; - 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; @@ -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) - next_sensor = ao_log_data.tick + AO_SENSOR_INTERVAL_ASCENT; + next_sensor = tick + AO_SENSOR_INTERVAL_ASCENT; 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; @@ -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); - 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); } diff --git a/src/kernel/ao_log_metrum.c b/src/kernel/ao_log_metrum.c index 18fb9ffb..8091e6c6 100644 --- a/src/kernel/ao_log_metrum.c +++ b/src/kernel/ao_log_metrum.c @@ -65,8 +65,9 @@ ao_log(void) 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; @@ -77,17 +78,17 @@ ao_log(void) #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 - 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); - 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); } diff --git a/src/kernel/ao_log_mini.c b/src/kernel/ao_log_mini.c index 03bf2265..3c46153e 100644 --- a/src/kernel/ao_log_mini.c +++ b/src/kernel/ao_log_mini.c @@ -60,8 +60,9 @@ ao_log(void) 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); @@ -74,9 +75,9 @@ ao_log(void) #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 - 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); } diff --git a/src/kernel/ao_log_motor.c b/src/kernel/ao_log_motor.c index 3fca80fb..4af8bd78 100644 --- a/src/kernel/ao_log_motor.c +++ b/src/kernel/ao_log_motor.c @@ -63,8 +63,9 @@ ao_log(void) 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; @@ -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) - next_sensor = ao_log_data.tick + AO_SENSOR_INTERVAL_ASCENT; + next_sensor = tick + AO_SENSOR_INTERVAL_ASCENT; 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); } diff --git a/src/kernel/ao_log_tiny.c b/src/kernel/ao_log_tiny.c index 53003111..ccdb3aac 100644 --- a/src/kernel/ao_log_tiny.c +++ b/src/kernel/ao_log_tiny.c @@ -18,7 +18,7 @@ #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 @@ -30,7 +30,7 @@ static uint16_t ao_log_tiny_interval; #endif void -ao_log_tiny_set_interval(uint16_t ticks) +ao_log_tiny_set_interval(AO_TICK_TYPE ticks) { ao_log_tiny_interval = ticks; } @@ -134,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); diff --git a/src/kernel/ao_microflight.c b/src/kernel/ao_microflight.c index f415420d..3c6caf7b 100644 --- a/src/kernel/ao_microflight.c +++ b/src/kernel/ao_microflight.c @@ -24,6 +24,7 @@ uint32_t pa; uint32_t pa_ground; +uint32_t pa_ground_next; uint32_t pa_min; static void @@ -58,7 +59,7 @@ ao_microflight(void) time = ao_time(); ao_pa_get(); ao_microkalman_init(); - pa_ground = pa; + pa_ground_next = pa_ground = pa; sample_count = 0; h = 0; for (;;) { @@ -88,7 +89,8 @@ ao_microflight(void) 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 diff --git a/src/kernel/ao_notask.c b/src/kernel/ao_notask.c index 8c5743fd..c87bbbbb 100644 --- a/src/kernel/ao_notask.c +++ b/src/kernel/ao_notask.c @@ -44,7 +44,7 @@ void 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(); } diff --git a/src/kernel/ao_pyro.c b/src/kernel/ao_pyro.c index 61604100..c9db061b 100644 --- a/src/kernel/ao_pyro.c +++ b/src/kernel/ao_pyro.c @@ -161,14 +161,14 @@ ao_pyro_ready(struct ao_pyro *pyro) #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; - 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: - if ((int32_t) (ao_time() - ao_launch_tick) >= pyro->time_greater) + if ((AO_TICK_SIGNED) (ao_time() - ao_launch_tick) >= pyro->time_greater) 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: @@ -316,7 +316,7 @@ ao_pyro_check(void) continue; } - if ((int32_t) (ao_time() - pyro->delay_done) < 0) + if ((AO_TICK_SIGNED) (ao_time() - pyro->delay_done) < 0) continue; } diff --git a/src/kernel/ao_sample.c b/src/kernel/ao_sample.c index 9ddbfd8e..e3b5e084 100644 --- a/src/kernel/ao_sample.c +++ b/src/kernel/ao_sample.c @@ -35,7 +35,7 @@ #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; @@ -274,7 +274,7 @@ static void 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 diff --git a/src/kernel/ao_sample.h b/src/kernel/ao_sample.h index 8e64095b..ad7c50ef 100644 --- a/src/kernel/ao_sample.h +++ b/src/kernel/ao_sample.h @@ -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)) -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 */ diff --git a/src/kernel/ao_tracker.c b/src/kernel/ao_tracker.c index 0f249103..b7e63465 100644 --- a/src/kernel/ao_tracker.c +++ b/src/kernel/ao_tracker.c @@ -63,7 +63,7 @@ ao_tracker(void) 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 diff --git a/src/product/ao_terraui.c b/src/product/ao_terraui.c index 102abb91..4c02edf1 100644 --- a/src/product/ao_terraui.c +++ b/src/product/ao_terraui.c @@ -624,7 +624,7 @@ static struct ao_task ao_terramonitor_task; 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) diff --git a/src/stm-bringup/bringup.c b/src/stm-bringup/bringup.c index b9c6d5d6..30b442cd 100644 --- a/src/stm-bringup/bringup.c +++ b/src/stm-bringup/bringup.c @@ -251,7 +251,7 @@ serial_string(char *string) outbyte(c); } -volatile uint16_t tick_count; +volatile AO_TICK_TYPE tick_count; void stm_tim6_isr(void) diff --git a/src/stm-demo/ao_pins.h b/src/stm-demo/ao_pins.h index 2b4c5ab0..9d1e753f 100644 --- a/src/stm-demo/ao_pins.h +++ b/src/stm-demo/ao_pins.h @@ -148,7 +148,7 @@ #define AO_ADC_RING 32 struct ao_adc { - uint16_t tick; + AO_TICK_TYPE tick; int16_t idd; int16_t temp; int16_t vref; diff --git a/src/stm-vga/ao_pins.h b/src/stm-vga/ao_pins.h index 93264031..6cbf0a4b 100644 --- a/src/stm-vga/ao_pins.h +++ b/src/stm-vga/ao_pins.h @@ -154,7 +154,7 @@ #define AO_ADC_RING 32 struct ao_adc { - uint16_t tick; + AO_TICK_TYPE tick; int16_t idd; int16_t temp; int16_t vref; diff --git a/src/teleballoon-v2.0/ao_pins.h b/src/teleballoon-v2.0/ao_pins.h index 6b006307..72ed0ceb 100644 --- a/src/teleballoon-v2.0/ao_pins.h +++ b/src/teleballoon-v2.0/ao_pins.h @@ -158,7 +158,7 @@ struct ao_adc { }; #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); diff --git a/src/telebt-v3.0/ao_pins.h b/src/telebt-v3.0/ao_pins.h index d71f2655..bb9d43a7 100644 --- a/src/telebt-v3.0/ao_pins.h +++ b/src/telebt-v3.0/ao_pins.h @@ -136,7 +136,7 @@ struct ao_adc { }; #define AO_ADC_DUMP(p) \ - printf("tick: %5u batt %5d\n", \ + printf("tick: %5lu batt %5d\n", \ (p)->tick, \ (p)->adc.v_batt); diff --git a/src/telebt-v4.0/ao_pins.h b/src/telebt-v4.0/ao_pins.h index 1b4efdd3..ce2d949f 100644 --- a/src/telebt-v4.0/ao_pins.h +++ b/src/telebt-v4.0/ao_pins.h @@ -130,7 +130,7 @@ struct ao_adc { }; #define AO_ADC_DUMP(p) \ - printf("tick: %5u batt %5d\n", \ + printf("tick: %5lu batt %5d\n", \ (p)->tick, \ (p)->adc.v_batt); diff --git a/src/telefireeight-v1.0/ao_pins.h b/src/telefireeight-v1.0/ao_pins.h index b1952278..9d0b963f 100644 --- a/src/telefireeight-v1.0/ao_pins.h +++ b/src/telefireeight-v1.0/ao_pins.h @@ -310,7 +310,7 @@ struct ao_adc { }; #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", \ diff --git a/src/telefireeight-v2.0/ao_pins.h b/src/telefireeight-v2.0/ao_pins.h index a71eb441..e3e88762 100644 --- a/src/telefireeight-v2.0/ao_pins.h +++ b/src/telefireeight-v2.0/ao_pins.h @@ -294,7 +294,7 @@ struct ao_adc { }; #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", \ diff --git a/src/telefireone-v1.0/ao_pins.h b/src/telefireone-v1.0/ao_pins.h index 9d43c2c2..044f7434 100644 --- a/src/telefireone-v1.0/ao_pins.h +++ b/src/telefireone-v1.0/ao_pins.h @@ -231,7 +231,7 @@ struct ao_adc { }; #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, \ diff --git a/src/telefiretwo-v0.1/ao_pins.h b/src/telefiretwo-v0.1/ao_pins.h index a3bc0a85..01bf25e8 100644 --- a/src/telefiretwo-v0.1/ao_pins.h +++ b/src/telefiretwo-v0.1/ao_pins.h @@ -210,7 +210,7 @@ struct ao_adc { }; #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], \ diff --git a/src/telegps-v1.0/ao_pins.h b/src/telegps-v1.0/ao_pins.h index fbc76739..99293da8 100644 --- a/src/telegps-v1.0/ao_pins.h +++ b/src/telegps-v1.0/ao_pins.h @@ -143,7 +143,7 @@ struct ao_adc { }; #define AO_ADC_DUMP(p) \ - printf("tick: %5u batt: %5d\n", \ + printf("tick: %5lu batt: %5d\n", \ (p)->tick, \ (p)->adc.v_batt) diff --git a/src/telegps-v2.0/ao_pins.h b/src/telegps-v2.0/ao_pins.h index 5c6aee0e..7c8c5c3c 100644 --- a/src/telegps-v2.0/ao_pins.h +++ b/src/telegps-v2.0/ao_pins.h @@ -87,7 +87,7 @@ struct ao_adc { }; #define AO_ADC_DUMP(p) \ - printf("tick: %5u batt: %5d\n", \ + printf("tick: %5lu batt: %5d\n", \ (p)->tick, \ (p)->adc.v_batt) diff --git a/src/telemega-v0.1/ao_pins.h b/src/telemega-v0.1/ao_pins.h index ea450354..2a2f9e61 100644 --- a/src/telemega-v0.1/ao_pins.h +++ b/src/telemega-v0.1/ao_pins.h @@ -182,7 +182,7 @@ struct ao_adc { }; #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], \ diff --git a/src/telemega-v1.0/ao_pins.h b/src/telemega-v1.0/ao_pins.h index fa953460..9cccdb96 100644 --- a/src/telemega-v1.0/ao_pins.h +++ b/src/telemega-v1.0/ao_pins.h @@ -182,7 +182,7 @@ struct ao_adc { }; #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], \ diff --git a/src/telemega-v2.0/ao_pins.h b/src/telemega-v2.0/ao_pins.h index 4f3b73f7..db0d5d8c 100644 --- a/src/telemega-v2.0/ao_pins.h +++ b/src/telemega-v2.0/ao_pins.h @@ -182,7 +182,7 @@ struct ao_adc { }; #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], \ diff --git a/src/telemega-v3.0/ao_pins.h b/src/telemega-v3.0/ao_pins.h index 29b5cc1d..e3e70afa 100644 --- a/src/telemega-v3.0/ao_pins.h +++ b/src/telemega-v3.0/ao_pins.h @@ -182,7 +182,7 @@ struct ao_adc { }; #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], \ diff --git a/src/telemega-v4.0/ao_pins.h b/src/telemega-v4.0/ao_pins.h index fdf29071..8839dfe2 100644 --- a/src/telemega-v4.0/ao_pins.h +++ b/src/telemega-v4.0/ao_pins.h @@ -177,7 +177,7 @@ struct ao_adc { }; #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], \ diff --git a/src/telemega-v5.0/ao_pins.h b/src/telemega-v5.0/ao_pins.h index 07b3daa8..4ad2bfb4 100644 --- a/src/telemega-v5.0/ao_pins.h +++ b/src/telemega-v5.0/ao_pins.h @@ -187,7 +187,7 @@ struct ao_adc { }; #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], \ diff --git a/src/telemetrum-v2.0/ao_pins.h b/src/telemetrum-v2.0/ao_pins.h index aa49483e..e88566bd 100644 --- a/src/telemetrum-v2.0/ao_pins.h +++ b/src/telemetrum-v2.0/ao_pins.h @@ -157,7 +157,7 @@ struct ao_adc { }; #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); diff --git a/src/telemetrum-v3.0/ao_pins.h b/src/telemetrum-v3.0/ao_pins.h index a1d4aa28..e42e4150 100644 --- a/src/telemetrum-v3.0/ao_pins.h +++ b/src/telemetrum-v3.0/ao_pins.h @@ -157,7 +157,7 @@ struct ao_adc { }; #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); diff --git a/src/telemini-v3.0/ao_pins.h b/src/telemini-v3.0/ao_pins.h index a734ff0a..28b3540b 100644 --- a/src/telemini-v3.0/ao_pins.h +++ b/src/telemini-v3.0/ao_pins.h @@ -171,7 +171,7 @@ struct ao_adc { #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) /* diff --git a/src/test/ao_flight_test.c b/src/test/ao_flight_test.c index d12652b4..fc1dfa8f 100644 --- a/src/test/ao_flight_test.c +++ b/src/test/ao_flight_test.c @@ -390,7 +390,7 @@ typedef int16_t accel_t; 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; @@ -404,8 +404,8 @@ extern alt_t ao_sample_alt; 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"