diff options
| author | Keith Packard <keithp@keithp.com> | 2012-06-17 16:09:43 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2012-06-17 16:09:43 -0700 | 
| commit | ca310342d7b0bd1b78318cae38d920b8690dfd36 (patch) | |
| tree | 797fdf0f42ef229665e2aefd147185dd6d729a89 /altoslib/AltosTelemetryReader.java | |
| parent | 58e005375ca29dec6091d87159055004e7f19605 (diff) | |
altosui: Catch timeout errors when setting up TD telem monitoring
Close the port in this case so it can be used for other things.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosTelemetryReader.java')
| -rw-r--r-- | altoslib/AltosTelemetryReader.java | 26 | 
1 files changed, 17 insertions, 9 deletions
| diff --git a/altoslib/AltosTelemetryReader.java b/altoslib/AltosTelemetryReader.java index 112e008e..911a099a 100644 --- a/altoslib/AltosTelemetryReader.java +++ b/altoslib/AltosTelemetryReader.java @@ -106,14 +106,22 @@ public class AltosTelemetryReader extends AltosFlightReader {  	public AltosTelemetryReader (AltosLink in_link)  		throws IOException, InterruptedException, TimeoutException {  		link = in_link; -		log = new AltosLog(link); -		name = link.name; -		previous = null; -		telem = new LinkedBlockingQueue<AltosLine>(); -		frequency = AltosPreferences.frequency(link.serial); -		set_frequency(frequency); -		telemetry = AltosPreferences.telemetry(link.serial); -		set_telemetry(telemetry); -		link.add_monitor(telem); +		try { +			log = new AltosLog(link); +			name = link.name; +			previous = null; +			telem = new LinkedBlockingQueue<AltosLine>(); +			frequency = AltosPreferences.frequency(link.serial); +			set_frequency(frequency); +			telemetry = AltosPreferences.telemetry(link.serial); +			set_telemetry(telemetry); +			link.add_monitor(telem); +		} catch (TimeoutException e) { +			close(true); +			throw(e); +		} catch (InterruptedException e) { +			close(true); +			throw(e); +		}  	}  } | 
