import java.io.*;
import java.util.concurrent.*;
import java.util.*;
+import java.text.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
--in_reply;
return line.line;
}
+ System.out.printf("no line remote %b can_cancel %b\n", remote, can_cancel);
if (!remote || !can_cancel || check_timeout()) {
--in_reply;
return null;
}
}
+ public String get_reply_no_dialog(int timeout) throws InterruptedException, TimeoutException {
+ flush_output();
+ AltosLine line = reply_queue.poll(timeout, TimeUnit.MILLISECONDS);
+ if (line != null)
+ return line.line;
+ return null;
+ }
+
public void add_monitor(LinkedBlockingQueue<AltosLine> q) {
set_monitor(true);
monitors.add(q);
}
private int telemetry_len() {
- switch (telemetry) {
- case 1:
- default:
- return Altos.ao_telemetry_legacy_len;
- case 2:
- return Altos.ao_telemetry_split_len;
- }
+ return Altos.telemetry_len(telemetry);
}
public void set_channel(int in_channel) {
line = "";
monitor_mode = false;
frame = null;
- telemetry = Altos.ao_telemetry_split;
+ telemetry = Altos.ao_telemetry_standard;
monitors = new LinkedList<LinkedBlockingQueue<AltosLine>> ();
reply_queue = new LinkedBlockingQueue<AltosLine> ();
open();