altoslib/altosuilib: Update library version to 7
[fw/altos] / altoslib / AltosTelemetryMegaSensor.java
index 8afabd3064afc9e8327602a92764eb6fefdc71c7..bb3fdb376b1426d084f31a1604e5e796e8c970f4 100644 (file)
@@ -15,7 +15,7 @@
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_7;
 
 public class AltosTelemetryMegaSensor extends AltosTelemetryStandard {
        int     accel;
@@ -34,9 +34,12 @@ public class AltosTelemetryMegaSensor extends AltosTelemetryStandard {
        int     mag_y;
        int     mag_z;
 
+       int     orient;
+
        public AltosTelemetryMegaSensor(int[] bytes) {
                super(bytes);
 
+               orient        = int8(5);
                accel         = int16(6);
                pres          = int32(8);
                temp          = int16(12);
@@ -61,24 +64,15 @@ public class AltosTelemetryMegaSensor extends AltosTelemetryStandard {
                state.set_pressure(pres);
                state.set_temperature(temp / 100.0);
 
-               AltosIMU imu = new AltosIMU();
-               
-               imu.accel_x = AltosIMU.convert_accel(accel_x);
-               imu.accel_y = AltosIMU.convert_accel(accel_y);
-               imu.accel_z = AltosIMU.convert_accel(accel_z);
-
-               imu.gyro_x = AltosIMU.convert_gyro(gyro_x);
-               imu.gyro_y = AltosIMU.convert_gyro(gyro_y);
-               imu.gyro_z = AltosIMU.convert_gyro(gyro_z);
-
-               state.imu = imu;
-
-               AltosMag mag = new AltosMag();
+               state.set_orient(orient);
 
-               mag.x = AltosMag.convert_gauss(mag_x);
-               mag.y = AltosMag.convert_gauss(mag_y);
-               mag.z = AltosMag.convert_gauss(mag_z);
+               state.set_imu(new AltosIMU(accel_y,     /* along */
+                                          accel_x,     /* across */
+                                          accel_z,     /* through */
+                                          gyro_y,      /* along */
+                                          gyro_x,      /* across */
+                                          gyro_z));    /* through */
 
-               state.mag = mag;
+               state.set_mag(new AltosMag(mag_x, mag_y, mag_z));
        }
 }