projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altosui: Add pyro firing time configuration
[fw/altos]
/
altoslib
/
AltosConfigData.java
diff --git
a/altoslib/AltosConfigData.java
b/altoslib/AltosConfigData.java
index 9462ae6f4d62f8b9eae3b01a442436d711e53ee3..e104395803c7dd2cc3ba63b36fe8d8081d99c350 100644
(file)
--- a/
altoslib/AltosConfigData.java
+++ b/
altoslib/AltosConfigData.java
@@
-67,6
+67,7
@@
public class AltosConfigData implements Iterable<String> {
public AltosPyro[] pyros;
public int npyro;
public int pyro;
public AltosPyro[] pyros;
public int npyro;
public int pyro;
+ public double pyro_firing_time;
/* HAS_APRS */
public int aprs_interval;
/* HAS_APRS */
public int aprs_interval;
@@
-82,7
+83,8
@@
public class AltosConfigData implements Iterable<String> {
public int stored_flight;
/* HAS_TRACKER */
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)) {
public static String get_string(String line, String label) throws ParseException {
if (line.startsWith(label)) {
@@
-107,15
+109,15
@@
public class AltosConfigData implements Iterable<String> {
throw new ParseException("mismatch", 0);
}
throw new ParseException("mismatch", 0);
}
- public static int[] get_
distanc
es(String line, String label) throws NumberFormatException, ParseException {
+ public static int[] get_
valu
es(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) {
if (line.startsWith(label)) {
String tail = line.substring(label.length()).trim();
String[] tokens = tail.split("\\s+");
if (tokens.length > 1) {
- int[]
distanc
es = new int[2];
-
distanc
es[0] = Integer.parseInt(tokens[0]);
-
distanc
es[1] = Integer.parseInt(tokens[1]);
- return
distanc
es;
+ int[]
valu
es = new int[2];
+
valu
es[0] = Integer.parseInt(tokens[0]);
+
valu
es[1] = Integer.parseInt(tokens[1]);
+ return
valu
es;
}
}
throw new ParseException("mismatch", 0);
}
}
throw new ParseException("mismatch", 0);
@@
-245,12
+247,14
@@
public class AltosConfigData implements Iterable<String> {
pyro = 0;
npyro = 0;
pyros = null;
pyro = 0;
npyro = 0;
pyros = null;
+ pyro_firing_time = -1;
aprs_interval = -1;
beep = -1;
aprs_interval = -1;
beep = -1;
- tracker_distances = null;
+ tracker_motion = -1;
+ tracker_interval = -1;
storage_size = -1;
storage_erase_unit = -1;
storage_size = -1;
storage_erase_unit = -1;
@@
-325,6
+329,7
@@
public class AltosConfigData implements Iterable<String> {
pyros[pyro++] = p;
} catch (Exception e) {}
}
pyros[pyro++] = p;
} catch (Exception e) {}
}
+ try { pyro_firing_time = get_int(line, "Pyro time:") / 100.0; } catch (Exception e) {}
/* HAS_APRS */
try { aprs_interval = get_int(line, "APRS interval:"); } catch (Exception e) {}
/* HAS_APRS */
try { aprs_interval = get_int(line, "APRS interval:"); } catch (Exception e) {}
@@
-333,7
+338,11
@@
public class AltosConfigData implements Iterable<String> {
try { beep = get_int(line, "Beeper setting:"); } catch (Exception e) {}
/* HAS_TRACKER */
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) {}
/* Storage info replies */
try { storage_size = get_int(line, "Storage size:"); } catch (Exception e) {}
@@
-444,6
+453,8
@@
public class AltosConfigData implements Iterable<String> {
/* AO_PYRO_NUM */
if (npyro > 0)
pyros = source.pyros();
/* AO_PYRO_NUM */
if (npyro > 0)
pyros = source.pyros();
+ if (pyro_firing_time >= 0)
+ pyro_firing_time = source.pyro_firing_time();
/* HAS_APRS */
if (aprs_interval >= 0)
/* HAS_APRS */
if (aprs_interval >= 0)
@@
-453,8
+464,10
@@
public class AltosConfigData implements Iterable<String> {
if (beep >= 0)
beep = source.beep();
/* HAS_TRACKER */
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) {
}
public void set_values(AltosConfigValues dest) {
@@
-492,9
+505,11
@@
public class AltosConfigData implements Iterable<String> {
dest.set_pyros(pyros);
else
dest.set_pyros(null);
dest.set_pyros(pyros);
else
dest.set_pyros(null);
+ dest.set_pyro_firing_time(pyro_firing_time);
dest.set_aprs_interval(aprs_interval);
dest.set_beep(beep);
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 {
}
public void save(AltosLink link, boolean remote) throws InterruptedException, TimeoutException {
@@
-556,6
+571,8
@@
public class AltosConfigData implements Iterable<String> {
pyros[p].toString());
}
}
pyros[p].toString());
}
}
+ if (pyro_firing_time >= 0)
+ link.printf("c I %d\n", (int) (pyro_firing_time * 100.0 + 0.5));
/* HAS_APRS */
if (aprs_interval >= 0)
/* HAS_APRS */
if (aprs_interval >= 0)
@@
-566,8
+583,8
@@
public class AltosConfigData implements Iterable<String> {
link.printf("c b %d\n", beep);
/* HAS_TRACKER */
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();
link.printf("c w\n");
link.flush_output();