From: Keith Packard Date: Fri, 28 Jan 2022 23:00:38 +0000 (-0800) Subject: ao_gps, ao_log: Make conversions to 16-bit time log values explicit X-Git-Tag: 1.9.10.4~31 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=8e73e5298206db0e781cc76ee151e96d29f29341 ao_gps, ao_log: Make conversions to 16-bit time log values explicit All log formats record only the low 16-bits of the time value, make conversions to those explicit to silence -Wconversion warnings. Signed-off-by: Keith Packard --- diff --git a/src/kernel/ao_gps_report_mega.c b/src/kernel/ao_gps_report_mega.c index 0cba972b..5724d11b 100644 --- a/src/kernel/ao_gps_report_mega.c +++ b/src/kernel/ao_gps_report_mega.c @@ -85,7 +85,7 @@ ao_gps_report_mega(void) #endif if ((new & AO_GPS_NEW_DATA) && (gps_data.flags & AO_GPS_VALID)) { - gps_log.tick = ao_gps_tick; + gps_log.tick = (uint16_t) ao_gps_tick; gps_log.type = AO_LOG_GPS_TIME; gps_log.u.gps.latitude = gps_data.latitude; gps_log.u.gps.longitude = gps_data.longitude; @@ -108,7 +108,7 @@ ao_gps_report_mega(void) ao_log_write(&gps_log); } if ((new & AO_GPS_NEW_TRACKING) && (n = gps_tracking_data.channels) != 0) { - gps_log.tick = ao_gps_tick; + gps_log.tick = (uint16_t) ao_gps_tick; gps_log.type = AO_LOG_GPS_SAT; i = 0; for (c = 0; c < n; c++) diff --git a/src/kernel/ao_gps_report_metrum.c b/src/kernel/ao_gps_report_metrum.c index b5f58893..e7529ee2 100644 --- a/src/kernel/ao_gps_report_metrum.c +++ b/src/kernel/ao_gps_report_metrum.c @@ -41,7 +41,7 @@ ao_gps_report_metrum(void) ao_mutex_put(&ao_gps_mutex); if ((new & AO_GPS_NEW_DATA) && (gps_data.flags & AO_GPS_VALID)) { - gps_log.tick = ao_gps_tick; + gps_log.tick = (uint16_t) ao_gps_tick; gps_log.type = AO_LOG_GPS_POS; gps_log.u.gps.latitude = gps_data.latitude; gps_log.u.gps.longitude = gps_data.longitude; @@ -63,7 +63,7 @@ ao_gps_report_metrum(void) if ((new & AO_GPS_NEW_TRACKING) && (n = gps_tracking_data.channels)) { gps_log.type = AO_LOG_GPS_SAT; - gps_log.tick = ao_gps_tick; + gps_log.tick = (uint16_t) ao_gps_tick; i = 0; for (c = 0; c < n; c++) { svid = gps_tracking_data.sats[c].svid; diff --git a/src/kernel/ao_log_gps.c b/src/kernel/ao_log_gps.c index 211707e5..96f8140f 100644 --- a/src/kernel/ao_log_gps.c +++ b/src/kernel/ao_log_gps.c @@ -28,7 +28,7 @@ void ao_log_gps_flight(void) { ao_log_data.type = AO_LOG_FLIGHT; - ao_log_data.tick = ao_time(); + ao_log_data.tick = (uint16_t) ao_time(); ao_log_data.u.flight.flight = ao_flight_number; ao_log_write(&ao_log_data); } @@ -36,7 +36,7 @@ ao_log_gps_flight(void) void ao_log_gps_data(AO_TICK_TYPE tick, struct ao_telemetry_location *gps_data) { - ao_log_data.tick = tick; + ao_log_data.tick = (uint16_t) tick; ao_log_data.type = AO_LOG_GPS_TIME; ao_log_data.u.gps.latitude = gps_data->latitude; ao_log_data.u.gps.longitude = gps_data->longitude; @@ -65,7 +65,7 @@ ao_log_gps_tracking(AO_TICK_TYPE tick, struct ao_telemetry_satellite *gps_tracki { uint8_t c, n, i; - ao_log_data.tick = tick; + ao_log_data.tick = (uint16_t) tick; ao_log_data.type = AO_LOG_GPS_SAT; i = 0; n = gps_tracking_data->channels; diff --git a/src/kernel/ao_log_mega.c b/src/kernel/ao_log_mega.c index 78dbd980..432f1b85 100644 --- a/src/kernel/ao_log_mega.c +++ b/src/kernel/ao_log_mega.c @@ -48,7 +48,7 @@ ao_log(void) #if HAS_FLIGHT ao_log_data.type = AO_LOG_FLIGHT; - ao_log_data.tick = ao_sample_tick; + ao_log_data.tick = (uint16_t) ao_sample_tick; #if HAS_ACCEL ao_log_data.u.flight.ground_accel = ao_ground_accel; #endif @@ -75,7 +75,7 @@ ao_log(void) /* Write samples to EEPROM */ while (ao_log_data_pos != ao_data_head) { AO_TICK_TYPE tick = ao_data_ring[ao_log_data_pos].tick; - ao_log_data.tick = tick; + ao_log_data.tick = (uint16_t) tick; volatile struct ao_data *d = &ao_data_ring[ao_log_data_pos]; if ((AO_TICK_SIGNED) (tick - next_sensor) >= 0) { ao_log_data.type = AO_LOG_SENSOR; @@ -157,7 +157,7 @@ ao_log(void) if (ao_flight_state != ao_log_state) { ao_log_state = ao_flight_state; ao_log_data.type = AO_LOG_STATE; - ao_log_data.tick = ao_time(); + ao_log_data.tick = (uint16_t) ao_time(); ao_log_data.u.state.state = ao_log_state; ao_log_data.u.state.reason = 0; ao_log_write(&ao_log_data); diff --git a/src/kernel/ao_log_metrum.c b/src/kernel/ao_log_metrum.c index 8091e6c6..ae96bd63 100644 --- a/src/kernel/ao_log_metrum.c +++ b/src/kernel/ao_log_metrum.c @@ -47,7 +47,7 @@ ao_log(void) #if HAS_FLIGHT ao_log_data.type = AO_LOG_FLIGHT; - ao_log_data.tick = ao_sample_tick; + ao_log_data.tick = (uint16_t) ao_sample_tick; #if HAS_ACCEL ao_log_data.u.flight.ground_accel = ao_ground_accel; #endif @@ -66,7 +66,7 @@ ao_log(void) /* Write samples to EEPROM */ while (ao_log_data_pos != ao_data_head) { AO_TICK_TYPE tick = ao_data_ring[ao_log_data_pos].tick; - ao_log_data.tick = tick; + ao_log_data.tick = (uint16_t) tick; if ((AO_TICK_SIGNED) (tick - next_sensor) >= 0) { ao_log_data.type = AO_LOG_SENSOR; #if HAS_MS5607 @@ -97,7 +97,7 @@ ao_log(void) if (ao_flight_state != ao_log_state) { ao_log_state = ao_flight_state; ao_log_data.type = AO_LOG_STATE; - ao_log_data.tick = ao_time(); + ao_log_data.tick = (uint16_t) ao_time(); ao_log_data.u.state.state = ao_log_state; ao_log_data.u.state.reason = 0; ao_log_write(&ao_log_data); diff --git a/src/kernel/ao_log_mini.c b/src/kernel/ao_log_mini.c index 3c46153e..02de1f8a 100644 --- a/src/kernel/ao_log_mini.c +++ b/src/kernel/ao_log_mini.c @@ -45,7 +45,7 @@ ao_log(void) #if HAS_FLIGHT ao_log_data.type = AO_LOG_FLIGHT; - ao_log_data.tick = ao_sample_tick; + ao_log_data.tick = (uint16_t) ao_sample_tick; ao_log_data.u.flight.flight = ao_flight_number; ao_log_data.u.flight.ground_pres = ao_ground_pres; ao_log_write(&ao_log_data); @@ -61,7 +61,7 @@ ao_log(void) /* Write samples to EEPROM */ while (ao_log_data_pos != ao_data_head) { AO_TICK_TYPE tick = ao_data_ring[ao_log_data_pos].tick; - ao_log_data.tick = tick; + ao_log_data.tick = (uint16_t) 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, @@ -86,7 +86,7 @@ ao_log(void) if (ao_flight_state != ao_log_state) { ao_log_state = ao_flight_state; ao_log_data.type = AO_LOG_STATE; - ao_log_data.tick = ao_time(); + ao_log_data.tick = (uint16_t) ao_time(); ao_log_data.u.state.state = ao_log_state; ao_log_data.u.state.reason = 0; ao_log_write(&ao_log_data); diff --git a/src/kernel/ao_log_motor.c b/src/kernel/ao_log_motor.c index 4af8bd78..7c866d7e 100644 --- a/src/kernel/ao_log_motor.c +++ b/src/kernel/ao_log_motor.c @@ -46,7 +46,7 @@ ao_log(void) ao_sleep(&ao_log_running); ao_log_data.type = AO_LOG_FLIGHT; - ao_log_data.tick = ao_sample_tick; + ao_log_data.tick = (uint16_t) ao_sample_tick; ao_log_data.u.flight.ground_accel = ao_ground_accel; ao_log_data.u.flight.ground_accel_along = ao_ground_accel_along; ao_log_data.u.flight.ground_accel_through = ao_ground_accel_through; @@ -64,7 +64,7 @@ ao_log(void) /* Write samples to EEPROM */ while (ao_log_data_pos != ao_data_head) { AO_TICK_TYPE tick = ao_data_ring[ao_log_data_pos].tick; - ao_log_data.tick = tick; + 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]); @@ -86,7 +86,7 @@ ao_log(void) if (ao_flight_state != ao_log_state) { ao_log_state = ao_flight_state; ao_log_data.type = AO_LOG_STATE; - ao_log_data.tick = ao_time(); + ao_log_data.tick = (uint16_t) ao_time(); ao_log_data.u.state.state = ao_log_state; ao_log_data.u.state.reason = 0; ao_log_write(&ao_log_data);