summaryrefslogtreecommitdiff
path: root/altosui/AltosConfigData.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2011-08-14 00:00:54 -0700
committerKeith Packard <keithp@keithp.com>2011-08-14 00:00:54 -0700
commitef7f60df841f1eb22b9cec0d7f68cf2c003d6b30 (patch)
tree58d45a81455dc5dea3ad0465aff550f668c52752 /altosui/AltosConfigData.java
parent746d6a472a20243a8c0eacc8edf8e81e0641bc17 (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.java8
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;