altos: Make cc1120 driver wait for TX finished
[fw/altos] / altoslib / AltosIdleMonitor.java
index ec51b9c1906ecb63f63dad3b1555650db5a2dcca..2e4ddef25705d5ab2cf40778c860b6db321783eb 100644 (file)
@@ -29,6 +29,7 @@ public class AltosIdleMonitor extends Thread {
        double                  frequency;
        String                  callsign;
        AltosState              previous_state;
+       AltosListenerState      listener_state;
        AltosConfigData         config_data;
        AltosGPS                gps;
 
@@ -51,11 +52,11 @@ public class AltosIdleMonitor extends Thread {
        }
 
        boolean has_sensor_mm(AltosConfigData config_data) {
-               return config_data.product.startsWith("MegaMetrum");
+               return config_data.product.startsWith("TeleMega");
        }
 
        boolean has_gps(AltosConfigData config_data) {
-               return config_data.product.startsWith("TeleMetrum") || config_data.product.startsWith("MegaMetrum");
+               return config_data.product.startsWith("TeleMetrum") || config_data.product.startsWith("TeleMega");
        }
 
        AltosRecord sensor_mm(AltosConfigData config_data) throws InterruptedException, TimeoutException {
@@ -118,7 +119,7 @@ public class AltosIdleMonitor extends Thread {
                                link.stop_remote();
                                if (record != null) {
                                        record.rssi = link.rssi();
-                                       record.monitor_battery = link.monitor_battery();
+                                       listener_state.battery = link.monitor_battery();
                                }
                        } else {
                                if (record != null)
@@ -139,7 +140,7 @@ public class AltosIdleMonitor extends Thread {
        }
 
        public void post_state() {
-               listener.update(state);
+               listener.update(state, listener_state);
        }
 
        public void abort() {
@@ -174,5 +175,6 @@ public class AltosIdleMonitor extends Thread {
                link = in_link;
                remote = in_remote;
                state = null;
+               listener_state = new AltosListenerState();
        }
 }