for (int i = 0; i < line_count; i++)
line = line + line_bytes[i];
}
- if (line.startsWith("VERSION")) {
+ if (line.startsWith("VERSION") || line.startsWith("CRC")) {
for (int e = 0; e < monitors.size(); e++) {
LinkedBlockingQueue<String> q = monitors.get(e);
q.put(line);
}
public void flush_output() {
- libaltos.altos_flush(altos);
+ if (altos != null)
+ libaltos.altos_flush(altos);
}
public void flush_input() {
input_thread = new Thread(this);
input_thread.start();
print("~\nE 0\n");
+ flush_output();
set_monitor(monitor_mode);
- flush_input();
}
public void set_channel(int channel) {
printf("m 0\nc r %d\nm 1\n", channel);
else
printf("c r %d\n", channel);
+ flush_output();
}
}
printf("m 1\n");
else
printf("m 0\n");
+ flush_output();
}
}
public void set_callsign(String callsign) {
- if (altos != null)
+ if (altos != null) {
printf ("c c %s\n", callsign);
+ flush_output();
+ }
}
public AltosSerial() {