From abf82991b8e69754ebc4857ce78ac4a4b01f16e4 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 7 Dec 2012 17:35:15 -0800 Subject: altosui: Add APRS interval configuration to UI Signed-off-by: Keith Packard --- altoslib/AltosConfigData.java | 18 +++++++++++++++++- altoslib/AltosConfigValues.java | 4 ++++ 2 files changed, 21 insertions(+), 1 deletion(-) (limited to 'altoslib') diff --git a/altoslib/AltosConfigData.java b/altoslib/AltosConfigData.java index 515ff480..f940b150 100644 --- a/altoslib/AltosConfigData.java +++ b/altoslib/AltosConfigData.java @@ -67,6 +67,9 @@ public class AltosConfigData implements Iterable { public int npyro; public int pyro; + /* HAS_APRS */ + public int aprs_interval; + /* Storage info replies */ public int storage_size; public int storage_erase_unit; @@ -189,6 +192,8 @@ public class AltosConfigData implements Iterable { npyro = 0; pyros = null; + aprs_interval = -1; + storage_size = -1; storage_erase_unit = -1; stored_flight = -1; @@ -262,6 +267,9 @@ public class AltosConfigData implements Iterable { } catch (Exception e) {} } + /* HAS_APRS */ + try { aprs_interval = get_int(line, "APRS interval:"); } catch (Exception e) {} + /* Storage info replies */ try { storage_size = get_int(line, "Storage size:"); } catch (Exception e) {} try { storage_erase_unit = get_int(line, "Storage erase unit"); } catch (Exception e) {} @@ -367,6 +375,9 @@ public class AltosConfigData implements Iterable { /* AO_PYRO_NUM */ if (npyro > 0) pyros = source.pyros(); + + if (aprs_interval >= 0) + aprs_interval = source.aprs_interval(); } public void set_values(AltosConfigValues dest) { @@ -399,6 +410,7 @@ public class AltosConfigData implements Iterable { dest.set_pyros(pyros); else dest.set_pyros(null); + dest.set_aprs_interval(aprs_interval); } public void save(AltosLink link, boolean remote) throws InterruptedException, TimeoutException { @@ -461,6 +473,10 @@ public class AltosConfigData implements Iterable { } } + /* HAS_APRS */ + if (aprs_interval >= 0) + link.printf("c A %d\n", aprs_interval); + link.printf("c w\n"); link.flush_output(); } @@ -479,4 +495,4 @@ public class AltosConfigData implements Iterable { } } -} \ No newline at end of file +} diff --git a/altoslib/AltosConfigValues.java b/altoslib/AltosConfigValues.java index 69239f21..40d5217e 100644 --- a/altoslib/AltosConfigValues.java +++ b/altoslib/AltosConfigValues.java @@ -72,4 +72,8 @@ public interface AltosConfigValues { public abstract void set_pyros(AltosPyro[] new_pyros); public abstract AltosPyro[] pyros(); + + public abstract int aprs_interval(); + + public abstract void set_aprs_interval(int new_aprs_interval); } -- cgit v1.2.3 From 00bc1a090a294e103370b8ab0a0fe5d7a2acfe92 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sun, 16 Dec 2012 13:25:54 -0800 Subject: altoslib: unconfigured radio frequency data is now -1, not 0 This changed when AltosConfigData was cleaned up, so now frequency settings must check for positive numbers rather than non-zero. Signed-off-by: Keith Packard --- altoslib/AltosLink.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'altoslib') diff --git a/altoslib/AltosLink.java b/altoslib/AltosLink.java index 6d510563..1b722026 100644 --- a/altoslib/AltosLink.java +++ b/altoslib/AltosLink.java @@ -284,8 +284,8 @@ public abstract class AltosLink implements Runnable { frequency = in_frequency; config_data(); set_radio_frequency(frequency, - config_data.radio_frequency != 0, - config_data.radio_setting != 0, + config_data.radio_frequency > 0, + config_data.radio_setting > 0, config_data.radio_calibration); } @@ -339,10 +339,10 @@ public abstract class AltosLink implements Runnable { public String name; public void start_remote() throws TimeoutException, InterruptedException { - if (debug) - System.out.printf("start remote %7.3f\n", frequency); if (frequency == 0.0) frequency = AltosPreferences.frequency(serial); + if (debug) + System.out.printf("start remote %7.3f\n", frequency); set_radio_frequency(frequency); set_callsign(AltosPreferences.callsign()); printf("p\nE 0\n"); -- cgit v1.2.3