summaryrefslogtreecommitdiff
path: root/altoslib/AltosConfigData.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-06-10 10:14:07 -0700
committerKeith Packard <keithp@keithp.com>2014-06-10 10:14:07 -0700
commit5f2029bd4e31289fb03e6af39abdbc16f8b8fa78 (patch)
tree98036a06945b3d4c75a21140d87fcbfd10b945a0 /altoslib/AltosConfigData.java
parentae1174317fc476e39077f7dc257ec08709c6b301 (diff)
altoslib/altosui/telegps: Switch TeleGPS config to motion/interval
TeleGPS had configurable boost-detect values; those have been replaced with a configurable stop-tracking motion limit and logging/telemetry interval value. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosConfigData.java')
-rw-r--r--altoslib/AltosConfigData.java35
1 files changed, 22 insertions, 13 deletions
diff --git a/altoslib/AltosConfigData.java b/altoslib/AltosConfigData.java
index 9462ae6f..563bef4b 100644
--- a/altoslib/AltosConfigData.java
+++ b/altoslib/AltosConfigData.java
@@ -82,7 +82,8 @@ public class AltosConfigData implements Iterable<String> {
public int stored_flight;
/* HAS_TRACKER */
- public int[] tracker_distances;
+ public int tracker_motion;
+ public int tracker_interval;
public static String get_string(String line, String label) throws ParseException {
if (line.startsWith(label)) {
@@ -107,15 +108,15 @@ public class AltosConfigData implements Iterable<String> {
throw new ParseException("mismatch", 0);
}
- public static int[] get_distances(String line, String label) throws NumberFormatException, ParseException {
+ public static int[] get_values(String line, String label) throws NumberFormatException, ParseException {
if (line.startsWith(label)) {
String tail = line.substring(label.length()).trim();
String[] tokens = tail.split("\\s+");
if (tokens.length > 1) {
- int[] distances = new int[2];
- distances[0] = Integer.parseInt(tokens[0]);
- distances[1] = Integer.parseInt(tokens[1]);
- return distances;
+ int[] values = new int[2];
+ values[0] = Integer.parseInt(tokens[0]);
+ values[1] = Integer.parseInt(tokens[1]);
+ return values;
}
}
throw new ParseException("mismatch", 0);
@@ -250,7 +251,8 @@ public class AltosConfigData implements Iterable<String> {
beep = -1;
- tracker_distances = null;
+ tracker_motion = -1;
+ tracker_interval = -1;
storage_size = -1;
storage_erase_unit = -1;
@@ -333,7 +335,11 @@ public class AltosConfigData implements Iterable<String> {
try { beep = get_int(line, "Beeper setting:"); } catch (Exception e) {}
/* HAS_TRACKER */
- try { tracker_distances = get_distances(line, "Tracker setting:"); } catch (Exception e) {}
+ try {
+ int[] values = get_values(line, "Tracker setting:");
+ tracker_motion = values[0];
+ tracker_interval = values[1];
+ } catch (Exception e) {}
/* Storage info replies */
try { storage_size = get_int(line, "Storage size:"); } catch (Exception e) {}
@@ -453,8 +459,10 @@ public class AltosConfigData implements Iterable<String> {
if (beep >= 0)
beep = source.beep();
/* HAS_TRACKER */
- if (tracker_distances != null)
- tracker_distances = source.tracker_distances();
+ if (tracker_motion >= 0)
+ tracker_motion = source.tracker_motion();
+ if (tracker_interval >= 0)
+ tracker_interval = source.tracker_interval();
}
public void set_values(AltosConfigValues dest) {
@@ -494,7 +502,8 @@ public class AltosConfigData implements Iterable<String> {
dest.set_pyros(null);
dest.set_aprs_interval(aprs_interval);
dest.set_beep(beep);
- dest.set_tracker_distances(tracker_distances);
+ dest.set_tracker_motion(tracker_motion);
+ dest.set_tracker_interval(tracker_interval);
}
public void save(AltosLink link, boolean remote) throws InterruptedException, TimeoutException {
@@ -566,8 +575,8 @@ public class AltosConfigData implements Iterable<String> {
link.printf("c b %d\n", beep);
/* HAS_TRACKER */
- if (tracker_distances != null)
- link.printf("c t %d %d\n", tracker_distances[0], tracker_distances[1]);
+ if (tracker_motion >= 0 && tracker_interval >= 0)
+ link.printf("c t %d %d\n", tracker_motion, tracker_interval);
link.printf("c w\n");
link.flush_output();