summaryrefslogtreecommitdiff
path: root/altoslib/AltosTelemetryMetrumSensor.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-07-10 17:27:43 -0700
committerKeith Packard <keithp@keithp.com>2014-07-10 17:35:44 -0700
commit59702e5ff8d0522b0aa9dcca863309eaafbcda09 (patch)
treec55a101785c8529f81cdb8463b738883a5b0e470 /altoslib/AltosTelemetryMetrumSensor.java
parent6dc58c63d202e918f16d5fbe9b188d422edcdd9c (diff)
altoslib: Extend telemetry heights from 16 to 32 bits
Uses the GPS data and/or previous kalman data to compute the upper 16 bits of the truncated telemetry altitude value. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosTelemetryMetrumSensor.java')
-rw-r--r--altoslib/AltosTelemetryMetrumSensor.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/altoslib/AltosTelemetryMetrumSensor.java b/altoslib/AltosTelemetryMetrumSensor.java
index 3e0abedc..beab6da9 100644
--- a/altoslib/AltosTelemetryMetrumSensor.java
+++ b/altoslib/AltosTelemetryMetrumSensor.java
@@ -27,7 +27,7 @@ public class AltosTelemetryMetrumSensor extends AltosTelemetryStandard {
int acceleration;
int speed;
- int height;
+ int height_16;
int v_batt;
int sense_a;
@@ -43,7 +43,7 @@ public class AltosTelemetryMetrumSensor extends AltosTelemetryStandard {
acceleration = int16(14);
speed = int16(16);
- height = int16(18);
+ height_16 = int16(18);
v_batt = int16(20);
sense_a = int16(22);
@@ -59,7 +59,8 @@ public class AltosTelemetryMetrumSensor extends AltosTelemetryStandard {
state.set_pressure(pres);
state.set_temperature(temp/100.0);
- state.set_kalman(height, speed/16.0, acceleration/16.0);
+ state.set_kalman(extend_height(state, height_16),
+ speed/16.0, acceleration/16.0);
state.set_battery_voltage(AltosConvert.mega_battery_voltage(v_batt));