diff options
| author | Bdale Garbee <bdale@gag.com> | 2015-02-07 22:39:54 -0700 | 
|---|---|---|
| committer | Bdale Garbee <bdale@gag.com> | 2015-02-07 22:39:54 -0700 | 
| commit | f766a457323268857b3f2dfc7f42427437b71cb7 (patch) | |
| tree | 8afc8a661d682fc34b16fc0b1b44f2844d34f336 /altoslib/AltosTelemetryReader.java | |
| parent | db51224af01731e7323f6f696a7397d64eb80b92 (diff) | |
| parent | e2cefd8593d269ce603aaf33f4a53a5c2dcb3350 (diff) | |
Merge branch 'branch-1.6' into debian
Conflicts:
	ChangeLog
	altoslib/AltosTelemetryReader.java
	configure.ac
Diffstat (limited to 'altoslib/AltosTelemetryReader.java')
| -rw-r--r-- | altoslib/AltosTelemetryReader.java | 45 | 
1 files changed, 9 insertions, 36 deletions
diff --git a/altoslib/AltosTelemetryReader.java b/altoslib/AltosTelemetryReader.java index 20526a2c..908fb5c7 100644 --- a/altoslib/AltosTelemetryReader.java +++ b/altoslib/AltosTelemetryReader.java @@ -15,7 +15,7 @@   * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.   */ -package org.altusmetrum.altoslib_5; +package org.altusmetrum.altoslib_6;  import java.text.*;  import java.io.*; @@ -28,20 +28,16 @@ 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"); +		AltosLine l; +		do { +			l = telem.take(); +			if (l.line == null) +				throw new IOException("IO error"); +		} while (!link.get_monitor());  		AltosTelemetry	telem = AltosTelemetry.parse(l.line);  		if (state == null)  			state = new AltosState(); @@ -57,15 +53,11 @@ public class AltosTelemetryReader extends AltosFlightReader {  	public void reset() {  		flush(); +		state = null;  	}  	public void close(boolean interrupted) { -		if (stacked != null) { -			stacked.close(interrupted); -			stacked = null; -		} -  		link.remove_monitor(telem);  		log.close();  		try { @@ -161,10 +153,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 +174,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); -	}  }  | 
