summaryrefslogtreecommitdiff
path: root/altoslib/AltosTelemetryReader.java
diff options
context:
space:
mode:
Diffstat (limited to 'altoslib/AltosTelemetryReader.java')
-rw-r--r--altoslib/AltosTelemetryReader.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/altoslib/AltosTelemetryReader.java b/altoslib/AltosTelemetryReader.java
index 3915927c..b1cc009c 100644
--- a/altoslib/AltosTelemetryReader.java
+++ b/altoslib/AltosTelemetryReader.java
@@ -35,9 +35,12 @@ public class AltosTelemetryReader extends AltosFlightReader {
AltosLine l = telem.take();
if (l.line == null)
throw new IOException("IO error");
- AltosRecord next = AltosTelemetry.parse(l.line, previous);
- previous = next;
- state = new AltosState (next, state);
+ AltosTelemetry telem = AltosTelemetryLegacy.parse(l.line);
+ if (state == null)
+ state = new AltosState();
+ else
+ state = state.clone();
+ telem.update_state(state);
return state;
}