diff options
author | Keith Packard <keithp@keithp.com> | 2013-04-15 23:19:44 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2013-04-15 23:19:44 -0700 |
commit | 6592a5be127a9c95d3b2e7d5aa6ffba71c6748b9 (patch) | |
tree | b38e9934c80b2592a6da26aac308ce02b1ac2ea9 | |
parent | c6f85cb149dff8732104521cb62b355e8a0d7148 (diff) | |
parent | eba3aa949decacd5592472a3cda920aa6a06d96f (diff) |
Merge branch 'master' into droid-gps
-rw-r--r-- | altoslib/AltosEepromIterable.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/altoslib/AltosEepromIterable.java b/altoslib/AltosEepromIterable.java index bc698c80..7a8bbdea 100644 --- a/altoslib/AltosEepromIterable.java +++ b/altoslib/AltosEepromIterable.java @@ -131,24 +131,34 @@ public class AltosEepromIterable extends AltosRecordIterable { case AltosLib.AO_LOG_GPS_LAT: eeprom.seen |= AltosRecord.seen_gps_lat; int lat32 = record.a | (record.b << 16); + if (state.gps == null) + state.gps = new AltosGPS(); state.gps.lat = (double) lat32 / 1e7; break; case AltosLib.AO_LOG_GPS_LON: eeprom.seen |= AltosRecord.seen_gps_lon; int lon32 = record.a | (record.b << 16); + if (state.gps == null) + state.gps = new AltosGPS(); state.gps.lon = (double) lon32 / 1e7; break; case AltosLib.AO_LOG_GPS_ALT: + if (state.gps == null) + state.gps = new AltosGPS(); state.gps.alt = record.a; break; case AltosLib.AO_LOG_GPS_SAT: if (state.tick == eeprom.gps_tick) { int svid = record.a; int c_n0 = record.b >> 8; + if (state.gps == null) + state.gps = new AltosGPS(); state.gps.add_sat(svid, c_n0); } break; case AltosLib.AO_LOG_GPS_DATE: + if (state.gps == null) + state.gps = new AltosGPS(); state.gps.year = (record.a & 0xff) + 2000; state.gps.month = record.a >> 8; state.gps.day = record.b & 0xff; |