* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_4;
+package org.altusmetrum.altoslib_5;
import java.text.*;
import java.io.*;
AltosLog log;
double frequency;
int telemetry;
+ int telemetry_rate;
AltosState state = null;
LinkedBlockingQueue<AltosLine> telem;
}
}
+ public boolean supports_telemetry_rate(int telemetry_rate) {
+ try {
+ /* Version 1.4.1.1 supports all rates, older versions don't */
+ if (link.config_data().compare_version("1.4.1.1") >= 0)
+ return true;
+
+ if (telemetry_rate == AltosLib.ao_telemetry_rate_38400)
+ return true;
+ else
+ return false;
+ } catch (InterruptedException ie) {
+ return false;
+ } catch (TimeoutException te) {
+ return true;
+ }
+ }
+
public void save_frequency() {
AltosPreferences.set_frequency(link.serial, frequency);
}
AltosPreferences.set_telemetry(link.serial, telemetry);
}
+ public void set_telemetry_rate(int in_telemetry_rate) {
+ telemetry_rate = in_telemetry_rate;
+ link.set_telemetry_rate(telemetry_rate);
+ }
+
+ public void save_telemetry_rate() {
+ AltosPreferences.set_telemetry_rate(link.serial, telemetry_rate);
+ }
+
public void set_monitor(boolean monitor) {
link.set_monitor(monitor);
}
set_frequency(frequency);
telemetry = AltosPreferences.telemetry(link.serial);
set_telemetry(telemetry);
+ telemetry_rate = AltosPreferences.telemetry_rate(link.serial);
+ set_telemetry_rate(telemetry_rate);
link.add_monitor(telem);
success = true;
} finally {