ao_log: Fix sensor time triggers to use AO_TICK_TYPE
authorKeith Packard <keithp@keithp.com>
Fri, 28 Jan 2022 23:11:07 +0000 (15:11 -0800)
committerKeith Packard <keithp@keithp.com>
Thu, 17 Feb 2022 01:26:49 +0000 (17:26 -0800)
These values were used to determine when various log information would
be recorded. Using the wrong type meant that they would always
trigger, causing the log to fill up rapidly with data that should be
sampled at a lower rate.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/kernel/ao_log_metrum.c
src/kernel/ao_log_mini.c
src/kernel/ao_log_motor.c

index ae96bd6387c5b243be76923c69cd42bad7982438..915b48acb349b4c7a78a69e2d3aebbd6a25b4381 100644 (file)
@@ -36,7 +36,7 @@ typedef uint8_t check_log_size[1-(256 % sizeof(struct ao_log_metrum))] ;
 void
 ao_log(void)
 {
-       uint16_t        next_sensor, next_other;
+       AO_TICK_TYPE    next_sensor, next_other;
 
        ao_storage_setup();
 
index 02de1f8ae4d81de2953c3fa26cd4cad7f62d188e..4bbbe0cbeccd3815af84d670bf6edb22c77d4c0e 100644 (file)
@@ -34,7 +34,7 @@ typedef uint8_t check_log_size[1-(256 % sizeof(struct ao_log_mini))] ;
 void
 ao_log(void)
 {
-       uint16_t        next_sensor;
+       AO_TICK_TYPE    next_sensor;
 
        ao_storage_setup();
 
index 7c866d7e2c8662dfcbc4adaa25fe58451e4f7777..376cb229d5ab158c7310ecb483dd49b98a808162 100644 (file)
@@ -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;
+       AO_TICK_TYPE    next_sensor;
 
        ao_storage_setup();
 
@@ -67,8 +67,8 @@ ao_log(void)
                        ao_log_data.tick = (uint16_t) 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.u.sensor.pressure = (uint16_t) ao_data_motor_pressure(&ao_data_ring[ao_log_data_pos]);
+                               ao_log_data.u.sensor.v_batt = (uint16_t) ao_data_ring[ao_log_data_pos].adc.v_batt;
                                ao_log_data.u.sensor.accel = ao_data_accel(&ao_data_ring[ao_log_data_pos]);
                                ao_log_data.u.sensor.accel_across = ao_data_across(&ao_data_ring[ao_log_data_pos]);
                                ao_log_data.u.sensor.accel_along = ao_data_along(&ao_data_ring[ao_log_data_pos]);