diff options
author | Mike Beattie <mike@ethernal.org> | 2013-04-21 14:51:07 +1200 |
---|---|---|
committer | Mike Beattie <mike@ethernal.org> | 2013-04-21 14:51:07 +1200 |
commit | 49caac78786014d443d9c05f47b5eb3070ec9bd3 (patch) | |
tree | d00d60c1d16e6468545d6d5077369d3e5715292b /altoslib/AltosState.java | |
parent | 5b7bbf183e558330d27702aa1bebf205f0e094aa (diff) | |
parent | cbf38c557a2046b6d6af3a9aebc0cef8e0dc5f11 (diff) |
Merge branch 'altosdroid'
Diffstat (limited to 'altoslib/AltosState.java')
-rw-r--r-- | altoslib/AltosState.java | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/altoslib/AltosState.java b/altoslib/AltosState.java index f1bcb1c1..a3b9a8c0 100644 --- a/altoslib/AltosState.java +++ b/altoslib/AltosState.java @@ -248,23 +248,21 @@ public class AltosState { if (height != AltosRecord.MISSING && height > max_height) max_height = height; + elevation = 0; + range = -1; + gps_height = 0; if (data.gps != null) { if (gps == null || !gps.locked || data.gps.locked) gps = data.gps; if (ngps > 0 && gps.locked) { - from_pad = new AltosGreatCircle(pad_lat, pad_lon, gps.lat, gps.lon); - } - } - elevation = 0; - range = -1; - if (ngps > 0) { - gps_height = gps.alt - pad_alt; - if (from_pad != null) { - elevation = Math.atan2(height, from_pad.distance) * 180 / Math.PI; - range = Math.sqrt(height * height + from_pad.distance * from_pad.distance); + double h = height; + + if (h == AltosRecord.MISSING) h = 0; + from_pad = new AltosGreatCircle(pad_lat, pad_lon, 0, gps.lat, gps.lon, h); + elevation = from_pad.elevation; + range = from_pad.range; + gps_height = gps.alt - pad_alt; } - } else { - gps_height = 0; } } |