double frequency;
String callsign;
AltosState previous_state;
+ AltosListenerState listener_state;
AltosConfigData config_data;
AltosGPS gps;
}
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 {
record.status = 0;
record.state = AltosLib.ao_flight_idle;
record.gps = gps;
- record.new_gps = true;
+ record.gps_sequence++;
state = new AltosState (record, state);
} finally {
if (remote) {
link.stop_remote();
- if (record != null)
- record.rssi = AltosRSSI();
+ if (record != null) {
+ record.rssi = link.rssi();
+ listener_state.battery = link.monitor_battery();
+ }
} else {
if (record != null)
record.rssi = 0;
}
public void post_state() {
- listener.update(state);
+ listener.update(state, listener_state);
}
public void abort() {
link = in_link;
remote = in_remote;
state = null;
+ listener_state = new AltosListenerState();
}
}