}
if (debug)
System.out.printf("\t\t\t\t\t%s\n", line);
- if (line.startsWith("VERSION") || line.startsWith("CRC")) {
+ if (line.startsWith("TELEM") || line.startsWith("VERSION") || line.startsWith("CRC")) {
for (int e = 0; e < monitors.size(); e++) {
LinkedBlockingQueue<AltosLine> q = monitors.get(e);
q.put(new AltosLine (line));
throw new AltosSerialInUseException(device);
devices_opened.add(device.getPath());
}
- altos = libaltos.altos_open(device);
+ altos = device.open();
if (altos == null) {
close();
throw new FileNotFoundException(device.toShortString());
set_callsign(AltosPreferences.callsign());
}
+ private int telemetry_len() {
+ return Altos.telemetry_len(telemetry);
+ }
+
public void set_channel(int in_channel) {
channel = in_channel;
if (altos != null) {
if (monitor_mode)
- printf("m 0\nc r %d\nm %d\n", channel, telemetry);
+ printf("m 0\nc r %d\nm %x\n",
+ channel, telemetry_len());
else
printf("c r %d\n", channel);
flush_output();
telemetry = in_telemetry;
if (altos != null) {
if (monitor_mode)
- printf("m 0\nm %d\n", telemetry);
+ printf("m 0\nm %x\n", telemetry_len());
flush_output();
}
}
monitor_mode = monitor;
if (altos != null) {
if (monitor)
- printf("m %d\n", telemetry);
+ printf("m %x\n", telemetry_len());
else
printf("m 0\n");
flush_output();
line = "";
monitor_mode = false;
frame = null;
- telemetry = Altos.ao_telemetry_full;
+ telemetry = Altos.ao_telemetry_standard;
monitors = new LinkedList<LinkedBlockingQueue<AltosLine>> ();
reply_queue = new LinkedBlockingQueue<AltosLine> ();
open();