From 08f07d0af123e1c307bc4c0c973da07fae8246b1 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sat, 7 Feb 2015 14:40:17 -0800 Subject: [PATCH] altosui: Remove the dregs of AltosDroid load-old-telem code AltosDroid used to scan the old .telem file to return to the previous flight state on restart. Now it just loads the old state object instead, a vast improvement in performance. To do that, there were some changes in the altoslib code required. This patch just removes those, fixing replay bugs in TeleGPS along the way. Signed-off-by: Keith Packard --- altoslib/AltosReplayReader.java | 13 +++--------- altoslib/AltosTelemetryReader.java | 33 +----------------------------- altosui/AltosUI.java | 2 +- 3 files changed, 5 insertions(+), 43 deletions(-) diff --git a/altoslib/AltosReplayReader.java b/altoslib/AltosReplayReader.java index 2864e02a..dc6e1bb7 100644 --- a/altoslib/AltosReplayReader.java +++ b/altoslib/AltosReplayReader.java @@ -27,7 +27,6 @@ import java.util.*; public class AltosReplayReader extends AltosFlightReader { Iterator iterator; File file; - boolean real_time; public AltosState read() { if (iterator.hasNext()) @@ -40,22 +39,16 @@ public class AltosReplayReader extends AltosFlightReader { public void update(AltosState state) throws InterruptedException { /* Make it run in realtime after the rocket leaves the pad */ - if (real_time && state.state > AltosLib.ao_flight_pad && state.time_change > 0) - Thread.sleep((int) (Math.min(state.time_change,10) * 1000)); + if (state.state > AltosLib.ao_flight_pad && state.time_change > 0) + Thread.sleep((int) (Math.min(state.time_change,10) * 100)); state.set_received_time(System.currentTimeMillis()); } public File backing_file() { return file; } - public AltosReplayReader(Iterator in_iterator, File in_file, - boolean in_real_time) { + public AltosReplayReader(Iterator in_iterator, File in_file) { iterator = in_iterator; file = in_file; - real_time = in_real_time; name = file.getName(); } - - public AltosReplayReader(Iterator in_iterator, File in_file) { - this(in_iterator, in_file, false); - } } diff --git a/altoslib/AltosTelemetryReader.java b/altoslib/AltosTelemetryReader.java index 20526a2c..fa136145 100644 --- a/altoslib/AltosTelemetryReader.java +++ b/altoslib/AltosTelemetryReader.java @@ -28,17 +28,10 @@ public class AltosTelemetryReader extends AltosFlightReader { int telemetry; int telemetry_rate; AltosState state = null; - AltosFlightReader stacked; LinkedBlockingQueue telem; public AltosState read() throws InterruptedException, ParseException, AltosCRCException, IOException { - if (stacked != null) { - state = stacked.read(); - if (state != null) - return state; - stacked = null; - } AltosLine l = telem.take(); if (l.line == null) throw new IOException("IO error"); @@ -61,11 +54,6 @@ public class AltosTelemetryReader extends AltosFlightReader { public void close(boolean interrupted) { - if (stacked != null) { - stacked.close(interrupted); - stacked = null; - } - link.remove_monitor(telem); log.close(); try { @@ -161,10 +149,9 @@ public class AltosTelemetryReader extends AltosFlightReader { return link.monitor_battery(); } - public AltosTelemetryReader (AltosLink in_link, AltosFlightReader in_stacked) + public AltosTelemetryReader (AltosLink in_link) throws IOException, InterruptedException, TimeoutException { link = in_link; - stacked = in_stacked; boolean success = false; try { log = new AltosLog(link); @@ -183,22 +170,4 @@ public class AltosTelemetryReader extends AltosFlightReader { close(true); } } - - private static AltosFlightReader existing_data(AltosLink link) { - if (link == null) - return null; - - File file = AltosPreferences.logfile(link.serial); - if (file != null) { - AltosStateIterable iterable = AltosStateIterable.iterable(file); - if (iterable != null) - return new AltosReplayReader(iterable.iterator(), file, false); - } - return null; - } - - public AltosTelemetryReader(AltosLink link) - throws IOException, InterruptedException, TimeoutException { - this(link, null); - } } diff --git a/altosui/AltosUI.java b/altosui/AltosUI.java index a1bc0dbb..918ed11e 100644 --- a/altosui/AltosUI.java +++ b/altosui/AltosUI.java @@ -463,7 +463,7 @@ public class AltosUI extends AltosUIFrame { AltosStateIterable states = record_iterable(file); if (states == null) return null; - return new AltosReplayReader(states.iterator(), file, true); + return new AltosReplayReader(states.iterator(), file); } static boolean process_replay(File file) { -- 2.30.2