X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosui%2FAltosTelemetryReader.java;h=85dc9cbc57d9f7f219a759c360552626d5871e1f;hb=d77a4ea206d627635159f35c76c744687d4e633b;hp=6abe95d8f3b917680bdc0a91317f3727c8a03eb9;hpb=2662c577a895c96fce7b2bf815b9e752d2dfbde6;p=fw%2Faltos diff --git a/altosui/AltosTelemetryReader.java b/altosui/AltosTelemetryReader.java index 6abe95d8..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); } @@ -69,6 +96,10 @@ class AltosTelemetryReader extends AltosFlightReader { AltosPreferences.set_telemetry(device.getSerial(), telemetry); } + File backing_file() { + return log.file(); + } + public AltosTelemetryReader (AltosDevice in_device) throws FileNotFoundException, AltosSerialInUseException, IOException, InterruptedException, TimeoutException { device = in_device;