summaryrefslogtreecommitdiff
path: root/altoslib/AltosState.java
diff options
context:
space:
mode:
authorMike Beattie <mike@ethernal.org>2013-04-21 14:51:07 +1200
committerMike Beattie <mike@ethernal.org>2013-04-21 14:51:07 +1200
commit49caac78786014d443d9c05f47b5eb3070ec9bd3 (patch)
treed00d60c1d16e6468545d6d5077369d3e5715292b /altoslib/AltosState.java
parent5b7bbf183e558330d27702aa1bebf205f0e094aa (diff)
parentcbf38c557a2046b6d6af3a9aebc0cef8e0dc5f11 (diff)
Merge branch 'altosdroid'
Diffstat (limited to 'altoslib/AltosState.java')
-rw-r--r--altoslib/AltosState.java22
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;
}
}