summaryrefslogtreecommitdiff
path: root/altoslib
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-07-14 00:45:13 -0700
committerKeith Packard <keithp@keithp.com>2014-07-14 00:45:13 -0700
commit9e9151c3b4bb9ce329e1b44440a7aceb9f39b9a0 (patch)
tree6670ac6be66fd88d7bbe790bc9fdf721cc01cdac /altoslib
parent0fd867f504dd7df62e95da98ded511bb7b9e4c66 (diff)
altoslib: Parse eeprom 'altitude-32' fields
This lets us tell if the altimeter supports 32-bit GPS altitudes in the eeprom log. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib')
-rw-r--r--altoslib/AltosEepromHeader.java35
-rw-r--r--altoslib/AltosLib.java14
2 files changed, 49 insertions, 0 deletions
diff --git a/altoslib/AltosEepromHeader.java b/altoslib/AltosEepromHeader.java
index 47e9eceb..71030655 100644
--- a/altoslib/AltosEepromHeader.java
+++ b/altoslib/AltosEepromHeader.java
@@ -96,6 +96,22 @@ public class AltosEepromHeader extends AltosEeprom {
case AltosLib.AO_LOG_SOFTWARE_VERSION:
state.set_firmware_version(data);
break;
+ case AltosLib.AO_LOG_FREQUENCY:
+ case AltosLib.AO_LOG_APOGEE_LOCKOUT:
+ case AltosLib.AO_LOG_RADIO_RATE:
+ case AltosLib.AO_LOG_IGNITE_MODE:
+ case AltosLib.AO_LOG_PAD_ORIENTATION:
+ case AltosLib.AO_LOG_RADIO_ENABLE:
+ case AltosLib.AO_LOG_AES_KEY:
+ case AltosLib.AO_LOG_APRS:
+ case AltosLib.AO_LOG_BEEP_SETTING:
+ case AltosLib.AO_LOG_TRACKER_SETTING:
+ case AltosLib.AO_LOG_PYRO_TIME:
+ case AltosLib.AO_LOG_APRS_ID:
+ break;
+ case AltosLib.AO_LOG_ALTITUDE_32:
+ state.set_altitude_32(config_a);
+ break;
}
}
@@ -161,6 +177,22 @@ public class AltosEepromHeader extends AltosEeprom {
case AltosLib.AO_LOG_BARO_CRC:
out.printf ("# Baro crc: %d\n", config_a);
break;
+ case AltosLib.AO_LOG_FREQUENCY:
+ case AltosLib.AO_LOG_APOGEE_LOCKOUT:
+ case AltosLib.AO_LOG_RADIO_RATE:
+ case AltosLib.AO_LOG_IGNITE_MODE:
+ case AltosLib.AO_LOG_PAD_ORIENTATION:
+ case AltosLib.AO_LOG_RADIO_ENABLE:
+ case AltosLib.AO_LOG_AES_KEY:
+ case AltosLib.AO_LOG_APRS:
+ case AltosLib.AO_LOG_BEEP_SETTING:
+ case AltosLib.AO_LOG_TRACKER_SETTING:
+ case AltosLib.AO_LOG_PYRO_TIME:
+ case AltosLib.AO_LOG_APRS_ID:
+ break;
+ case AltosLib.AO_LOG_ALTITUDE_32:
+ out.printf("# Altitude-32: %d\n", config_a);
+ break;
}
}
@@ -205,6 +237,9 @@ public class AltosEepromHeader extends AltosEeprom {
} else if (tokens[0].equals("log-format")) {
cmd = AltosLib.AO_LOG_LOG_FORMAT;
config_a = Integer.parseInt(tokens[1]);
+ } else if (tokens[0].equals("altitude-32")) {
+ cmd = AltosLib.AO_LOG_ALTITUDE_32;
+ config_a = Integer.parseInt(tokens[1]);
} else if (tokens[0].equals("software-version")) {
cmd = AltosLib.AO_LOG_SOFTWARE_VERSION;
data = tokens[1];
diff --git a/altoslib/AltosLib.java b/altoslib/AltosLib.java
index eb188d6b..68bdd17f 100644
--- a/altoslib/AltosLib.java
+++ b/altoslib/AltosLib.java
@@ -51,6 +51,20 @@ public class AltosLib {
public static final int AO_LOG_SERIAL_NUMBER = 2002;
public static final int AO_LOG_LOG_FORMAT = 2003;
+ public static final int AO_LOG_FREQUENCY = 2004;
+ public static final int AO_LOG_APOGEE_LOCKOUT = 2005;
+ public static final int AO_LOG_RADIO_RATE = 2006;
+ public static final int AO_LOG_IGNITE_MODE = 2007;
+ public static final int AO_LOG_PAD_ORIENTATION = 2008;
+ public static final int AO_LOG_RADIO_ENABLE = 2009;
+ public static final int AO_LOG_AES_KEY = 2010;
+ public static final int AO_LOG_APRS = 2011;
+ public static final int AO_LOG_BEEP_SETTING = 2012;
+ public static final int AO_LOG_TRACKER_SETTING = 2013;
+ public static final int AO_LOG_PYRO_TIME = 2014;
+ public static final int AO_LOG_APRS_ID = 2015;
+ public static final int AO_LOG_ALTITUDE_32 = 2016;
+
/* Added for header fields in telemega files */
public static final int AO_LOG_BARO_RESERVED = 3000;
public static final int AO_LOG_BARO_SENS = 3001;