diff options
author | Keith Packard <keithp@keithp.com> | 2011-08-14 00:00:54 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2011-08-14 00:00:54 -0700 |
commit | ef7f60df841f1eb22b9cec0d7f68cf2c003d6b30 (patch) | |
tree | 58d45a81455dc5dea3ad0465aff550f668c52752 /altosui/AltosConfigData.java | |
parent | 746d6a472a20243a8c0eacc8edf8e81e0641bc17 (diff) |
altosui: Respect storage limits in flight log max config0.9.6.0
Compute the maximum flight log using the data returned from the 'f'
command (total storage and erase block size). Limit menu to choices
which fall within this limit, complain if the user asks for too big a value.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosui/AltosConfigData.java')
-rw-r--r-- | altosui/AltosConfigData.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/altosui/AltosConfigData.java b/altosui/AltosConfigData.java index 710231d7..272dd402 100644 --- a/altosui/AltosConfigData.java +++ b/altosui/AltosConfigData.java @@ -54,7 +54,8 @@ public class AltosConfigData implements Iterable<String> { int radio_calibration; int flight_log_max; int ignite_mode; - + int storage_size; + int storage_erase_unit; static String get_string(String line, String label) throws ParseException { if (line.startsWith(label)) { @@ -84,7 +85,7 @@ public class AltosConfigData implements Iterable<String> { } public AltosConfigData(AltosSerial serial_line) throws InterruptedException, TimeoutException { - serial_line.printf("c s\nv\n"); + serial_line.printf("c s\nf\nv\n"); lines = new LinkedList<String>(); radio_setting = 0; for (;;) { @@ -116,6 +117,9 @@ public class AltosConfigData implements Iterable<String> { try { version = get_string(line,"software-version"); } catch (Exception e) {} try { product = get_string(line,"product"); } 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) {} + /* signals the end of the version info */ if (line.startsWith("software-version")) break; |