diff options
Diffstat (limited to 'ao-tools/altosui/AltosUI.java')
| -rw-r--r-- | ao-tools/altosui/AltosUI.java | 18 | 
1 files changed, 6 insertions, 12 deletions
| diff --git a/ao-tools/altosui/AltosUI.java b/ao-tools/altosui/AltosUI.java index 7f008f3a..2952fcc0 100644 --- a/ao-tools/altosui/AltosUI.java +++ b/ao-tools/altosui/AltosUI.java @@ -26,6 +26,7 @@ import java.io.*;  import java.util.*;  import java.text.*;  import java.util.prefs.*; +import java.util.concurrent.LinkedBlockingQueue;  import gnu.io.*;  import altosui.AltosSerial; @@ -391,14 +392,6 @@ public class AltosUI extends JFrame {  		return true;  	} -	private void PickSerialDevice() { -		java.util.Enumeration<CommPortIdentifier> port_list = CommPortIdentifier.getPortIdentifiers(); -		while (port_list.hasMoreElements()) { -			CommPortIdentifier identifier = port_list.nextElement(); -			System.out.println("Serial port " + identifier.getName()); -		} -	} -  	class DisplayThread extends Thread {  		String read() throws InterruptedException { return null; } @@ -433,21 +426,22 @@ public class AltosUI extends JFrame {  	class DeviceThread extends DisplayThread {  		AltosSerial	serial; +		LinkedBlockingQueue<String> telem;  		String read() throws InterruptedException { -			System.out.println("Waiting for telemetry"); -			String s = serial.get_telem(); -			System.out.println("Got telemetry " + s); -			return s; +			return telem.take();  		}  		void close() {  			serial.close(); +			serial.remove_monitor(telem);  			System.out.println("DisplayThread done");  		}  		public DeviceThread(AltosSerial s) {  			serial = s; +			telem = new LinkedBlockingQueue<String>(); +			serial.add_monitor(telem);  		}  	} | 
