altoslib: Add support for TeleMega v3.0 log files
authorKeith Packard <keithp@keithp.com>
Sat, 2 Dec 2017 21:59:17 +0000 (15:59 -0600)
committerKeith Packard <keithp@keithp.com>
Sat, 2 Dec 2017 21:59:17 +0000 (15:59 -0600)
These look much like TeleMega v2.0 log files, except that the mag
sensor data now comes from the mpu9250 instead of an external
hmc5883. The gyro and 3-axis accel data from the mpu9250 are the same
as the mpu6000.

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

index ea5aff5c83a7ba70de64cb591c7adfd6d1c98042..86343fe058c4f112d2f91bd9faf0446bac15722d 100644 (file)
@@ -31,6 +31,7 @@ public class AltosEepromRecordMega extends AltosEepromRecord {
        private int ground_roll() {
                switch (log_format) {
                case AltosLib.AO_LOG_FORMAT_TELEMEGA:
+               case AltosLib.AO_LOG_FORMAT_TELEMEGA_3:
                        return data32(16);
                case AltosLib.AO_LOG_FORMAT_TELEMEGA_OLD:
                        return data16(14);
@@ -41,6 +42,7 @@ public class AltosEepromRecordMega extends AltosEepromRecord {
        private int ground_pitch() {
                switch (log_format) {
                case AltosLib.AO_LOG_FORMAT_TELEMEGA:
+               case AltosLib.AO_LOG_FORMAT_TELEMEGA_3:
                        return data32(20);
                case AltosLib.AO_LOG_FORMAT_TELEMEGA_OLD:
                        return data16(16);
@@ -51,6 +53,7 @@ public class AltosEepromRecordMega extends AltosEepromRecord {
        private int ground_yaw() {
                switch (log_format) {
                case AltosLib.AO_LOG_FORMAT_TELEMEGA:
+               case AltosLib.AO_LOG_FORMAT_TELEMEGA_3:
                        return data32(24);
                case AltosLib.AO_LOG_FORMAT_TELEMEGA_OLD:
                        return data16(18);
index 82a5ea2a501b9b5103df52011248156db30f4a84..360759314d4bf9e123bf2e109271f66beb6375ff 100644 (file)
@@ -69,6 +69,7 @@ public class AltosEepromRecordSet implements AltosRecordSet {
                case AltosLib.AO_LOG_FORMAT_TELEMETRY:
                case AltosLib.AO_LOG_FORMAT_TELESCIENCE:
                case AltosLib.AO_LOG_FORMAT_TELEMEGA:
+               case AltosLib.AO_LOG_FORMAT_TELEMEGA_3:
                case AltosLib.AO_LOG_FORMAT_TELEMEGA_OLD:
                        record = new AltosEepromRecordMega(eeprom);
                        break;
index 77b3fcc48df52778ca4c76631c4cfb4c04d96467..c25a6273136c095b5b945fe71946631a7d393b25 100644 (file)
@@ -363,6 +363,7 @@ public class AltosLib {
        public static final int AO_LOG_FORMAT_TELEMINI3 = 12;
        public static final int AO_LOG_FORMAT_TELEFIRETWO = 13;
        public static final int AO_LOG_FORMAT_EASYMINI2 = 14;
+       public static final int AO_LOG_FORMAT_TELEMEGA_3 = 15;
        public static final int AO_LOG_FORMAT_NONE = 127;
 
        public static boolean isspace(int c) {