summaryrefslogtreecommitdiff
path: root/altoslib
diff options
context:
space:
mode:
Diffstat (limited to 'altoslib')
-rw-r--r--altoslib/AltosConfigData.java18
-rw-r--r--altoslib/AltosConfigValues.java4
-rw-r--r--altoslib/AltosLink.java8
3 files changed, 25 insertions, 5 deletions
diff --git a/altoslib/AltosConfigData.java b/altoslib/AltosConfigData.java
index 758953e2..99b8e39d 100644
--- a/altoslib/AltosConfigData.java
+++ b/altoslib/AltosConfigData.java
@@ -67,6 +67,9 @@ public class AltosConfigData implements Iterable<String> {
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<String> {
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<String> {
} 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<String> {
/* 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<String> {
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<String> {
}
}
+ /* HAS_APRS */
+ if (aprs_interval >= 0)
+ link.printf("c A %d\n", aprs_interval);
+
link.printf("c w\n");
link.flush_output();
}
@@ -481,4 +497,4 @@ public class AltosConfigData implements Iterable<String> {
}
}
-} \ 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);
}
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");