summaryrefslogtreecommitdiff
path: root/src/kernel/ao_gps_report.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2017-10-22 15:44:32 -0500
committerKeith Packard <keithp@keithp.com>2017-10-28 08:42:18 -0700
commit83929cd290279963b01b2ccd52c70d61bdeff6b0 (patch)
tree1e76700f3322f9db686c661cbec036d8000510a9 /src/kernel/ao_gps_report.c
parent256ddea8c430b4b5dcb8bb95c19ad26032129e1b (diff)
altos: Share common logging code. Deal with corrupt initial flight records
Move common logging APIs from per-format files into ao_log.c. Then, change that code to check the first log record in a slot (containing the flight number) to see if it's invalid and deal with it. That involves not re-using that slot, and allowing it to be erased. Corrupted log blocks are reported with a negative flight number. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/kernel/ao_gps_report.c')
-rw-r--r--src/kernel/ao_gps_report.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/kernel/ao_gps_report.c b/src/kernel/ao_gps_report.c
index 39688fea..75c2f367 100644
--- a/src/kernel/ao_gps_report.c
+++ b/src/kernel/ao_gps_report.c
@@ -45,13 +45,13 @@ ao_gps_report(void)
gps_log.u.gps_time.minute = gps_data.minute;
gps_log.u.gps_time.second = gps_data.second;
gps_log.u.gps_time.flags = gps_data.flags;
- ao_log_data(&gps_log);
+ ao_log_write(&gps_log);
gps_log.type = AO_LOG_GPS_LAT;
gps_log.u.gps_latitude = gps_data.latitude;
- ao_log_data(&gps_log);
+ ao_log_write(&gps_log);
gps_log.type = AO_LOG_GPS_LON;
gps_log.u.gps_longitude = gps_data.longitude;
- ao_log_data(&gps_log);
+ ao_log_write(&gps_log);
gps_log.type = AO_LOG_GPS_ALT;
gps_log.u.gps_altitude.altitude_low = gps_data.altitude_low;
#if HAS_WIDE_GPS
@@ -59,14 +59,14 @@ ao_gps_report(void)
#else
gps_log.u.gps_altitude.altitude_high = 0xffff;
#endif
- ao_log_data(&gps_log);
+ ao_log_write(&gps_log);
if (!date_reported && (gps_data.flags & AO_GPS_DATE_VALID)) {
gps_log.type = AO_LOG_GPS_DATE;
gps_log.u.gps_date.year = gps_data.year;
gps_log.u.gps_date.month = gps_data.month;
gps_log.u.gps_date.day = gps_data.day;
gps_log.u.gps_date.extra = 0;
- date_reported = ao_log_data(&gps_log);
+ date_reported = ao_log_write(&gps_log);
}
}
if (new & AO_GPS_NEW_TRACKING) {
@@ -78,7 +78,7 @@ ao_gps_report(void)
if ((gps_log.u.gps_sat.svid = gps_tracking_data.sats[c].svid))
{
gps_log.u.gps_sat.c_n = gps_tracking_data.sats[c].c_n_1;
- ao_log_data(&gps_log);
+ ao_log_write(&gps_log);
}
}
}