summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2017-12-09 16:57:35 -0800
committerKeith Packard <keithp@keithp.com>2017-12-09 16:57:35 -0800
commit111622dbcd56c225a9d5ace9f0ef745e62f8a94c (patch)
tree968252a416bd02e2c0f27fff95d9d79798c6ea52
parent1133130986a78628ea297ce1f6a023baf4382d8f (diff)
altoslib: Fix 8 to 12 bit conversion for Mega pyro voltage data
The conversion was losing the replicated top four bits by shifting by the wrong amount. Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--altoslib/AltosTelemetryMegaData.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/altoslib/AltosTelemetryMegaData.java b/altoslib/AltosTelemetryMegaData.java
index 7ef9c637..f5961c8c 100644
--- a/altoslib/AltosTelemetryMegaData.java
+++ b/altoslib/AltosTelemetryMegaData.java
@@ -24,7 +24,9 @@ public class AltosTelemetryMegaData extends AltosTelemetryStandard {
int v_batt() { return int16(6); }
int v_pyro() { return int16(8); }
- int sense(int i) { int v = uint8(10+i); return v << 4 | v >> 8; }
+
+ /* pyro sense values are sent in 8 bits, expand to 12 bits */
+ int sense(int i) { int v = uint8(10+i); return (v << 4) | (v >> 4); }
int ground_pres() { return int32(16); }
int ground_accel() { return int16(20); }