From 7600116a191b3ac252a0f716d200d0e0b3500987 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Tue, 23 May 2017 14:53:55 -0700 Subject: 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 --- altoslib/AltosTelemetryStandard.java | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'altoslib/AltosTelemetryStandard.java') 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) { -- cgit v1.2.3