summaryrefslogtreecommitdiff
path: root/src/kernel/ao_gps_report.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-07-10 17:07:48 -0700
committerKeith Packard <keithp@keithp.com>2014-07-10 17:35:44 -0700
commit34d5be68ca23e8beb05db9a480faef63ecc911d0 (patch)
treebcf27108a1680f6c081f583f25b831fc192ac256 /src/kernel/ao_gps_report.c
parent0d044af0c5025a63026d05adcab68f265f179668 (diff)
altos: Extend GPS altitudes to at least 24 bits everywhere
Telemetry gets a special 'mode' flag indicating that 24-bit data is present; log files get new data and log readers are expected to detect that via the firmware version 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.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/kernel/ao_gps_report.c b/src/kernel/ao_gps_report.c
index 07201ac2..7ef98a97 100644
--- a/src/kernel/ao_gps_report.c
+++ b/src/kernel/ao_gps_report.c
@@ -52,8 +52,12 @@ ao_gps_report(void)
gps_log.u.gps_longitude = gps_data.longitude;
ao_log_data(&gps_log);
gps_log.type = AO_LOG_GPS_ALT;
- gps_log.u.gps_altitude.altitude = gps_data.altitude;
- gps_log.u.gps_altitude.unused = 0xffff;
+ gps_log.u.gps_altitude.altitude_low = gps_data.altitude_low;
+#if HAS_WIDE_GPS
+ gps_log.u.gps_altitude.altitude_high = gps_data.altitude_high;
+#else
+ gps_log.u.gps_altitude.altitude_high = 0xffff;
+#endif
ao_log_data(&gps_log);
if (!date_reported && (gps_data.flags & AO_GPS_DATE_VALID)) {
gps_log.type = AO_LOG_GPS_DATE;