diff options
Diffstat (limited to 'altoslib/AltosConfigData.java')
| -rw-r--r-- | altoslib/AltosConfigData.java | 19 | 
1 files changed, 19 insertions, 0 deletions
| diff --git a/altoslib/AltosConfigData.java b/altoslib/AltosConfigData.java index 1972ca0f..cb46b6c6 100644 --- a/altoslib/AltosConfigData.java +++ b/altoslib/AltosConfigData.java @@ -33,6 +33,7 @@ public class AltosConfigData {  	public int	log_space;  	public String	version;  	public int	altitude_32; +	public int	config_major, config_minor;  	/* Config information */  	/* HAS_FLIGHT*/ @@ -236,6 +237,8 @@ public class AltosConfigData {  		log_format = AltosLib.AO_LOG_FORMAT_UNKNOWN;  		log_space = AltosLib.MISSING;  		version = "unknown"; +		config_major = AltosLib.MISSING; +		config_minor = AltosLib.MISSING;  		main_deploy = AltosLib.MISSING;  		apogee_delay = AltosLib.MISSING; @@ -283,6 +286,7 @@ public class AltosConfigData {  	}  	public void parse_line(String line) { +  		/* Version replies */  		try { manufacturer = get_string(line, "manufacturer"); } catch (Exception e) {}  		try { product = get_string(line, "product"); } catch (Exception e) {} @@ -306,6 +310,21 @@ public class AltosConfigData {  		/* Config show replies */ +		try { +			if (line.startsWith("Config version")) { +				String[] bits = line.split("\\s+"); +				if (bits.length >= 3) { +					String[] cfg = bits[2].split("\\."); + +					if (cfg.length >= 2) { +						System.out.printf("major %s minor %s\n", cfg[0], cfg[1]); +						config_major = Integer.parseInt(cfg[0]); +						config_minor = Integer.parseInt(cfg[1]); +					} +				} +			} +		} catch (Exception e) {} +  		/* HAS_FLIGHT */  		try { main_deploy = get_int(line, "Main deploy:"); } catch (Exception e) {}  		try { apogee_delay = get_int(line, "Apogee delay:"); } catch (Exception e) {} | 
