summaryrefslogtreecommitdiff
path: root/altosui/AltosTelemetryReader.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2012-03-27 11:58:39 -0700
committerKeith Packard <keithp@keithp.com>2012-03-27 11:58:39 -0700
commitd77a4ea206d627635159f35c76c744687d4e633b (patch)
treeb8dbf66c2cfeb7817c6ff0e443b6f1a63f910975 /altosui/AltosTelemetryReader.java
parentd8ebb83e64d66fa159e75aa560d39d80bb6d9d04 (diff)
altosui: Show only supported telemetry version
Make it clear in the UI which telemetry versions are supported, providing the combobox only for new firmware which supports all versions. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosui/AltosTelemetryReader.java')
-rw-r--r--altosui/AltosTelemetryReader.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/altosui/AltosTelemetryReader.java b/altosui/AltosTelemetryReader.java
index 1f327a67..85dc9cbc 100644
--- a/altosui/AltosTelemetryReader.java
+++ b/altosui/AltosTelemetryReader.java
@@ -56,6 +56,33 @@ class AltosTelemetryReader extends AltosFlightReader {
serial.set_radio_frequency(frequency);
}
+ public boolean supports_telemetry(int telemetry) {
+
+ try {
+ /* Version 1.0 or later firmware supports all telemetry formats */
+ if (serial.config_data().compare_version("1.0") >= 0)
+ return true;
+
+ /* Version 0.9 firmware only supports 0.9 telemetry */
+ if (serial.config_data().compare_version("0.9") >= 0) {
+ if (telemetry == Altos.ao_telemetry_0_9)
+ return true;
+ else
+ return false;
+ }
+
+ /* Version 0.8 firmware only supports 0.8 telemetry */
+ if (telemetry == Altos.ao_telemetry_0_8)
+ return true;
+ else
+ return false;
+ } catch (InterruptedException ie) {
+ return true;
+ } catch (TimeoutException te) {
+ return true;
+ }
+ }
+
void save_frequency() {
AltosPreferences.set_frequency(device.getSerial(), frequency);
}