altoslib: Parse eeprom 'altitude-32' fields
authorKeith Packard <keithp@keithp.com>
Mon, 14 Jul 2014 07:45:13 +0000 (00:45 -0700)
committerKeith Packard <keithp@keithp.com>
Mon, 14 Jul 2014 07:45:13 +0000 (00:45 -0700)
This lets us tell if the altimeter supports 32-bit GPS altitudes in
the eeprom log.

Signed-off-by: Keith Packard <keithp@keithp.com>
altoslib/AltosEepromHeader.java
altoslib/AltosLib.java

index 47e9ecebad9bfd981fb61081c226a9fa4766fa02..7103065526aa693283f38587ee474cae75791c61 100644 (file)
@@ -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];
index eb188d6b5a7c3be8b2585bacf1853dfc5a852951..68bdd17fdcbe95621842963f29ad5dbe67e42f78 100644 (file)
@@ -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;