summaryrefslogtreecommitdiff
path: root/altosui/AltosTelemetryReader.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2011-06-28 01:03:00 -0700
committerKeith Packard <keithp@keithp.com>2011-06-28 01:03:00 -0700
commit7fd9b8f720add559b262e81d61ededc9df16ca94 (patch)
treeae32f830c27c99aacdfd6fb231e70a3ceee0f3ff /altosui/AltosTelemetryReader.java
parentcb239b7161feea8646425b1f5788c3c82ae24321 (diff)
altosui: Support raw telemetry from TeleDongle
Use raw telemetry frames when TeleDongle supports them, this involves parsing the hex dump of the packet instead of having teledongle take the packet apart. Only the legacy format is working at this point; the altos bits for the new split telemetry frames is not written yet. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosui/AltosTelemetryReader.java')
-rw-r--r--altosui/AltosTelemetryReader.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/altosui/AltosTelemetryReader.java b/altosui/AltosTelemetryReader.java
index 980391b4..18f17841 100644
--- a/altosui/AltosTelemetryReader.java
+++ b/altosui/AltosTelemetryReader.java
@@ -26,6 +26,7 @@ class AltosTelemetryReader extends AltosFlightReader {
AltosDevice device;
AltosSerial serial;
AltosLog log;
+ AltosRecord previous;
LinkedBlockingQueue<AltosLine> telem;
@@ -33,7 +34,9 @@ class AltosTelemetryReader extends AltosFlightReader {
AltosLine l = telem.take();
if (l.line == null)
throw new IOException("IO error");
- return new AltosTelemetry(l.line);
+ AltosRecord next = AltosTelemetry.parse(l.line, previous);
+ previous = next;
+ return next;
}
void close(boolean interrupted) {
@@ -58,6 +61,7 @@ class AltosTelemetryReader extends AltosFlightReader {
serial = new AltosSerial(device);
log = new AltosLog(serial);
name = device.toShortString();
+ previous = null;
telem = new LinkedBlockingQueue<AltosLine>();
serial.set_radio();