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 | |
| 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>
| -rw-r--r-- | altoslib/AltosReplayReader.java | 13 | ||||
| -rw-r--r-- | altoslib/AltosTelemetryReader.java | 33 | ||||
| -rw-r--r-- | 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<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); -	}  } 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) { | 
