altoslib: Fix parsing of old TM log GPS sat data
[fw/altos] / altoslib / AltosTelemetryMegaSensor.java
index 396bdb16eddfe9aef965d3d6a12b1b23f7446b6f..4c64b55456b9ef8731593aafc2c2177ff0132aa2 100644 (file)
@@ -16,7 +16,7 @@
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altoslib_11;
+package org.altusmetrum.altoslib_12;
 
 public class AltosTelemetryMegaSensor extends AltosTelemetryStandard {
        int     orient() { return int8(5); }
@@ -34,15 +34,17 @@ public class AltosTelemetryMegaSensor extends AltosTelemetryStandard {
        int     gyro_z() { return int16(24); }
 
        int     mag_x() { return int16(26); }
-       int     mag_y() { return int16(28); }
-       int     mag_z() { return int16(30); }
+       int     mag_z() { return int16(28); }
+       int     mag_y() { return int16(30); }
 
        public AltosTelemetryMegaSensor(int[] bytes) throws AltosCRCException {
                super(bytes);
        }
 
-       public void provide_data(AltosDataListener listener, AltosCalData cal_data) {
-               super.provide_data(listener, cal_data);
+       public void provide_data(AltosDataListener listener) {
+               super.provide_data(listener);
+
+               AltosCalData cal_data = listener.cal_data();
 
                listener.set_acceleration(cal_data.acceleration(accel()));
                listener.set_pressure(pres());
@@ -64,8 +66,8 @@ public class AltosTelemetryMegaSensor extends AltosTelemetryStandard {
                int     gyro_pitch = gyro_x();
                int     gyro_yaw = gyro_z();
 
-               int     mag_along = mag_x();
-               int     mag_across = mag_y();
+               int     mag_along = mag_y();
+               int     mag_across = mag_x();
                int     mag_through = mag_z();
 
                listener.set_accel(cal_data.accel_along(accel_along),