diff options
author | Anthony Towns <aj@erisian.com.au> | 2010-09-10 15:50:01 +1000 |
---|---|---|
committer | Anthony Towns <aj@erisian.com.au> | 2010-09-10 15:50:01 +1000 |
commit | 7c2e4114a3a43f919a7a6c967d3f16e5d630f90f (patch) | |
tree | 0b31ffddad5ff8cb54288a37117cf0fcf8893be6 /ao-tools/altosui/AltosTelemetryReader.java | |
parent | ddc83b4c401be965a9947782becf20cc8c54e6a2 (diff) | |
parent | af200f5b84555de0556b52146379f3934774a3f3 (diff) |
Merge branch 'master' of git://git.gag.com/fw/altos
Diffstat (limited to 'ao-tools/altosui/AltosTelemetryReader.java')
-rw-r--r-- | ao-tools/altosui/AltosTelemetryReader.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/ao-tools/altosui/AltosTelemetryReader.java b/ao-tools/altosui/AltosTelemetryReader.java index fdedbde2..ae9682ab 100644 --- a/ao-tools/altosui/AltosTelemetryReader.java +++ b/ao-tools/altosui/AltosTelemetryReader.java @@ -41,6 +41,7 @@ public class AltosTelemetryReader extends AltosReader { public AltosTelemetryReader (FileInputStream input) { boolean saw_boost = false; + int current_tick = 0; records = new LinkedList<AltosRecord> (); @@ -51,9 +52,20 @@ public class AltosTelemetryReader extends AltosReader { break; } try { + System.out.printf("%s\n", line); AltosTelemetry record = new AltosTelemetry(line); if (record == null) break; + if (records.isEmpty()) { + current_tick = record.tick; + } else { + int tick = record.tick | (current_tick & ~ 0xffff); + if (tick < current_tick - 0x1000) + tick += 0x10000; + current_tick = tick; + record.tick = current_tick; + } + System.out.printf("\tRSSI %d tick %d\n", record.rssi, record.tick); if (!saw_boost && record.state >= Altos.ao_flight_boost) { saw_boost = true; |