diff options
author | Keith Packard <keithp@keithp.com> | 2015-02-07 14:40:17 -0800 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2015-02-07 14:40:17 -0800 |
commit | 08f07d0af123e1c307bc4c0c973da07fae8246b1 (patch) | |
tree | 384cd304bfa085dfb9521c40551ef6a60030ad8a /altoslib | |
parent | 0d08c427188f7b748d9ea7651143bc843e9c2691 (diff) |
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 <keithp@keithp.com>
Diffstat (limited to 'altoslib')
-rw-r--r-- | altoslib/AltosReplayReader.java | 13 | ||||
-rw-r--r-- | altoslib/AltosTelemetryReader.java | 33 |
2 files changed, 4 insertions, 42 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<AltosState> 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<AltosState> in_iterator, File in_file, - boolean in_real_time) { + public AltosReplayReader(Iterator<AltosState> in_iterator, File in_file) { iterator = in_iterator; file = in_file; - real_time = in_real_time; name = file.getName(); } - - public AltosReplayReader(Iterator<AltosState> 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<AltosLine> 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); - } } |