From: Keith Packard Date: Sun, 28 May 2017 20:58:05 +0000 (-0700) Subject: altoslib: Extract a few more values from config to cal_data X-Git-Tag: 1.8~72 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=9e1295ff74d03f940fc68e6795bf30687162a440 altoslib: Extract a few more values from config to cal_data Make it possible to display model/version data in the flight stats table. Signed-off-by: Keith Packard --- diff --git a/altoslib/AltosCalData.java b/altoslib/AltosCalData.java index a9955ba8..960de30a 100644 --- a/altoslib/AltosCalData.java +++ b/altoslib/AltosCalData.java @@ -349,9 +349,16 @@ public class AltosCalData { public AltosCalData(AltosConfigData config_data) { set_serial(config_data.serial); + set_ticks_per_sec(100.0); set_flight(config_data.flight); set_callsign(config_data.callsign); + set_config(config_data.config_major, config_data.config_minor, config_data.flight_log_max); + set_firmware_version(config_data.version); + set_flight_params(config_data.apogee_delay / ticks_per_sec, config_data.apogee_lockout / ticks_per_sec); + set_pad_orientation(config_data.pad_orientation); + set_product(config_data.product); set_accel_plus_minus(config_data.accel_cal_plus, config_data.accel_cal_minus); + set_accel_zero(config_data.accel_zero_along, config_data.accel_zero_across, config_data.accel_zero_through); set_ms5607(config_data.ms5607); try { set_mma655x_inverted(config_data.mma655x_inverted()); 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) {}