diff options
| author | Keith Packard <keithp@keithp.com> | 2012-10-22 21:35:06 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2012-10-22 21:35:06 -0700 | 
| commit | fe00d1169c65cb289f77093cf281efbd0a5d4e64 (patch) | |
| tree | bd896bf00b610a08ac7fc6fdc2dcfff660c94ad4 /altoslib/AltosConfigData.java | |
| parent | fd619a01bf3489b1df017aca20362757b087ec11 (diff) | |
altosui/altoslib: Add support for configuring pyro channels
This provides a UI on devices which have pyro channels other than
main/apogee.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosConfigData.java')
| -rw-r--r-- | altoslib/AltosConfigData.java | 17 | 
1 files changed, 17 insertions, 0 deletions
diff --git a/altoslib/AltosConfigData.java b/altoslib/AltosConfigData.java index a962b105..45a88783 100644 --- a/altoslib/AltosConfigData.java +++ b/altoslib/AltosConfigData.java @@ -50,6 +50,8 @@ public class AltosConfigData implements Iterable<String> {  	public int	storage_size;  	public int	storage_erase_unit; +	public AltosPyro[]	pyros; +  	public static String get_string(String line, String label) throws  ParseException {  		if (line.startsWith(label)) {  			String	quoted = line.substring(label.length()).trim(); @@ -135,6 +137,10 @@ public class AltosConfigData implements Iterable<String> {  		radio_frequency = 0;  		stored_flight = 0;  		serial = -1; +		pyros = null; + +		int npyro = 0; +		int pyro = 0;  		for (;;) {  			String line = link.get_reply();  			if (line == null) @@ -142,6 +148,16 @@ public class AltosConfigData implements Iterable<String> {  			if (line.contains("Syntax error"))  				continue;  			lines.add(line); +			if (pyro < npyro - 1) { +				if (pyros == null) +					pyros = new AltosPyro[npyro]; +				try { +					pyros[pyro] = new AltosPyro(pyro, line); +				} catch (ParseException e) { +				} +				++pyro; +				continue; +			}  			try { serial = get_int(line, "serial-number"); } catch (Exception e) {}  			try { log_format = get_int(line, "log-format"); } catch (Exception e) {}  			try { main_deploy = get_int(line, "Main deploy:"); } catch (Exception e) {} @@ -173,6 +189,7 @@ public class AltosConfigData implements Iterable<String> {  			try { get_int(line, "flight"); stored_flight++; }  catch (Exception e) {}  			try { storage_size = get_int(line, "Storage size:"); } catch (Exception e) {}  			try { storage_erase_unit = get_int(line, "Storage erase unit"); } catch (Exception e) {} +			try { npyro = get_int(line, "Pyro-count:"); pyro = 0; } catch (Exception e) {}  			/* signals the end of the version info */  			if (line.startsWith("software-version"))  | 
