summaryrefslogtreecommitdiff
path: root/altoslib/AltosTelemetryStandard.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2017-05-23 14:53:55 -0700
committerKeith Packard <keithp@keithp.com>2017-05-23 15:15:21 -0700
commit7600116a191b3ac252a0f716d200d0e0b3500987 (patch)
treec9cc6c418244d3e2fb5b5c1b9ab961f8a3f5ab30 /altoslib/AltosTelemetryStandard.java
parentabcedc4b49ce77607ef95abf69479dc1d2c1b76d (diff)
altoslib: Don't store computed telemetry fields
These values are only needed once, so there's no reason to save them. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosTelemetryStandard.java')
-rw-r--r--altoslib/AltosTelemetryStandard.java21
1 files changed, 10 insertions, 11 deletions
diff --git a/altoslib/AltosTelemetryStandard.java b/altoslib/AltosTelemetryStandard.java
index 35d315c7..1718e4b7 100644
--- a/altoslib/AltosTelemetryStandard.java
+++ b/altoslib/AltosTelemetryStandard.java
@@ -19,9 +19,6 @@
package org.altusmetrum.altoslib_11;
public abstract class AltosTelemetryStandard extends AltosTelemetry {
- int[] bytes;
- int type;
-
public int int8(int off) {
return AltosLib.int8(bytes, off + 1);
}
@@ -50,10 +47,16 @@ public abstract class AltosTelemetryStandard extends AltosTelemetry {
return AltosLib.string(bytes, off + 1, l);
}
- public static AltosTelemetry parse_hex(int[] bytes) {
- int type = AltosLib.uint8(bytes, 4 + 1);
+ public int type() { return uint8(4); }
+
+ public int serial() { return uint16(0); }
+
+ public int tick() { return uint16(2); }
+ public static AltosTelemetry parse_hex(int[] bytes) throws AltosCRCException {
AltosTelemetry telem;
+
+ int type = AltosLib.uint8(bytes, 4+1);
switch (type) {
case packet_type_TM_sensor:
case packet_type_Tm_sensor:
@@ -97,12 +100,8 @@ public abstract class AltosTelemetryStandard extends AltosTelemetry {
return telem;
}
- public AltosTelemetryStandard(int[] bytes) {
- this.bytes = bytes;
-
- serial = uint16(0);
- tick = uint16(2);
- type = uint8(4);
+ public AltosTelemetryStandard(int[] bytes) throws AltosCRCException {
+ super(bytes);
}
public void update_state(AltosState state) {