altosui: Remove the dregs of AltosDroid load-old-telem code
authorKeith Packard <keithp@keithp.com>
Sat, 7 Feb 2015 22:40:17 +0000 (14:40 -0800)
committerKeith Packard <keithp@keithp.com>
Sat, 7 Feb 2015 22:40:17 +0000 (14:40 -0800)
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>
altoslib/AltosReplayReader.java
altoslib/AltosTelemetryReader.java
altosui/AltosUI.java

index 2864e02a272bb0ba60f27407b0fdf03d27803c0d..dc6e1bb75346f400d7b883fe194bffd2f0429e22 100644 (file)
@@ -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);
-       }
 }
index 20526a2c584b95d4780a54cfae4a5ef73fa2718f..fa1361454daa7f48795299353fa9f4814f2a1704 100644 (file)
@@ -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);
-       }
 }
index a1bc0dbbec2fc035c8af7c60700f8aa505f7a043..918ed11e0094f51e2f456af3b3f14b16a240fdf3 100644 (file)
@@ -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) {