altos/test: Adjust CRC error rate after FEC fix
[fw/altos] / altoslib / AltosIMU.java
index 87570a79a5458ec580198c714f56d3c92c39e78a..01ecc1616630fbaca656ee5918a1404c4770cc2d 100644 (file)
@@ -22,37 +22,37 @@ import java.util.concurrent.*;
 import java.io.*;
 
 public class AltosIMU implements Cloneable {
-       public int              accel_x = AltosLib.MISSING;
-       public int              accel_y = AltosLib.MISSING;
-       public int              accel_z = AltosLib.MISSING;
+       private int             accel_x = AltosLib.MISSING;
+       private int             accel_y = AltosLib.MISSING;
+       private int             accel_z = AltosLib.MISSING;
 
-       public int              accel_along = AltosLib.MISSING;
-       public int              accel_across = AltosLib.MISSING;
-       public int              accel_through = AltosLib.MISSING;
+       private int             accel_along = AltosLib.MISSING;
+       private int             accel_across = AltosLib.MISSING;
+       private int             accel_through = AltosLib.MISSING;
 
-       public int              gyro_x = AltosLib.MISSING;
-       public int              gyro_y = AltosLib.MISSING;
-       public int              gyro_z = AltosLib.MISSING;
+       private int             gyro_x = AltosLib.MISSING;
+       private int             gyro_y = AltosLib.MISSING;
+       private int             gyro_z = AltosLib.MISSING;
 
-       public int              gyro_roll = AltosLib.MISSING;
-       public int              gyro_pitch = AltosLib.MISSING;
-       public int              gyro_yaw = AltosLib.MISSING;
+       private int             gyro_roll = AltosLib.MISSING;
+       private int             gyro_pitch = AltosLib.MISSING;
+       private int             gyro_yaw = AltosLib.MISSING;
 
-       public int              mag_x = AltosLib.MISSING;
-       public int              mag_y = AltosLib.MISSING;
-       public int              mag_z = AltosLib.MISSING;
+       private int             mag_x = AltosLib.MISSING;
+       private int             mag_y = AltosLib.MISSING;
+       private int             mag_z = AltosLib.MISSING;
 
-       public int              mag_along = AltosLib.MISSING;
-       public int              mag_across = AltosLib.MISSING;
-       public int              mag_through = AltosLib.MISSING;
+       private int             mag_along = AltosLib.MISSING;
+       private int             mag_across = AltosLib.MISSING;
+       private int             mag_through = AltosLib.MISSING;
 
-       public int              imu_model = AltosLib.MISSING;
-       public int              mag_model = AltosLib.MISSING;
+       private int             imu_model = AltosLib.MISSING;
+       private int             mag_model = AltosLib.MISSING;
 
-       public static final double      counts_per_g_mpu = 2048.0;
-       public static final double      counts_per_g_bmx = 2048.0;
-       public static final double      counts_per_g_adxl = 20.5;
-       public static final double      counts_per_g_bmi088 = 1365.0;
+       private static final double     counts_per_g_mpu = 2048.0;
+       private static final double     counts_per_g_bmx = 2048.0;
+       private static final double     counts_per_g_adxl = 20.5;
+       private static final double     counts_per_g_bmi088 = 1365.0;
 
        private static double counts_per_g(int imu_type, int imu_model) {
                switch (imu_model) {
@@ -73,11 +73,13 @@ public class AltosIMU implements Cloneable {
                case imu_type_easymega_v1:
                case imu_type_easymega_v2:
                        return counts_per_g_mpu;
-               case  imu_type_telemega_v4:
+               case imu_type_telemega_v4:
                case imu_type_easytimer_v1:
                        return counts_per_g_bmx;
                case imu_type_easymotor_v2:
                        return counts_per_g_adxl;
+               case imu_type_easytimer_v2:
+                       return counts_per_g_bmi088;
                }
 
                return AltosLib.MISSING;
@@ -90,13 +92,13 @@ public class AltosIMU implements Cloneable {
                return counts / cpg * AltosConvert.gravity;
        }
 
-       public static final double      GYRO_FULLSCALE_DEGREES_MPU = 2000.0;
-       public static final double      GYRO_COUNTS_MPU = 32767.0;
-       public static final double      counts_per_degree_mpu = GYRO_COUNTS_MPU / GYRO_FULLSCALE_DEGREES_MPU;
-       public static final double      GYRO_FULLSCALE_DEGREES_BMX = 2000.0;
-       public static final double      GYRO_COUNTS_BMX = 32767.0;
-       public static final double      counts_per_degree_bmx = GYRO_COUNTS_BMX / GYRO_FULLSCALE_DEGREES_BMX;
-       public static final double      counts_per_degree_bmi088 = 16.384;
+       private static final double     GYRO_FULLSCALE_DEGREES_MPU = 2000.0;
+       private static final double     GYRO_COUNTS_MPU = 32767.0;
+       private static final double     counts_per_degree_mpu = GYRO_COUNTS_MPU / GYRO_FULLSCALE_DEGREES_MPU;
+       private static final double     GYRO_FULLSCALE_DEGREES_BMX = 2000.0;
+       private static final double     GYRO_COUNTS_BMX = 32767.0;
+       private static final double     counts_per_degree_bmx = GYRO_COUNTS_BMX / GYRO_FULLSCALE_DEGREES_BMX;
+       private static final double     counts_per_degree_bmi088 = 16.384;
 
        private static double counts_per_degree(int imu_type, int imu_model) {
                switch (imu_model) {
@@ -131,11 +133,11 @@ public class AltosIMU implements Cloneable {
                return counts / cpd;
        }
 
-       public static final double MAG_FULLSCALE_GAUSS_MPU = 48.00;     /* 4800µT */
-       public static final double MAG_COUNTS_MPU = 32767.0;
-       public static final double counts_per_gauss_mpu = MAG_COUNTS_MPU / MAG_FULLSCALE_GAUSS_MPU;
+       private static final double MAG_FULLSCALE_GAUSS_MPU = 48.00;    /* 4800µT */
+       private static final double MAG_COUNTS_MPU = 32767.0;
+       private static final double counts_per_gauss_mpu = MAG_COUNTS_MPU / MAG_FULLSCALE_GAUSS_MPU;
 
-       public static final double counts_per_gauss_bmx = 100.0;        /* BMX driver converts to µT */
+       private static final double counts_per_gauss_bmx = 100.0;       /* BMX driver converts to µT */
 
        public static double counts_per_gauss(int imu_type, int imu_model) {
                switch (imu_model) {
@@ -156,7 +158,7 @@ public class AltosIMU implements Cloneable {
                return AltosLib.MISSING;
        }
 
-       public boolean parse_string(String line) {
+       private boolean parse_string(String line) {
                if (line.startsWith("Accel:")) {
 
                        String[] items = line.split("\\s+");
@@ -251,6 +253,8 @@ public class AltosIMU implements Cloneable {
 
        public static final int imu_type_easymotor_v2 = 6;      /* ADXL375 (accel only) */
 
+       public static final int imu_type_easytimer_v2 = 7;      /* BMI088 */
+
        private int accel_across(int imu_type) {
 
                if (accel_across != AltosLib.MISSING)
@@ -274,8 +278,10 @@ public class AltosIMU implements Cloneable {
        }
 
        private int accel_along(int imu_type) {
-               if (accel_along != AltosLib.MISSING)
+               if (accel_along != AltosLib.MISSING) {
+                       System.out.printf("accel along %d\n", accel_along);
                        return accel_along;
+               }
 
                switch (imu_type) {
                case imu_type_telemega_v1_v2:
@@ -391,6 +397,7 @@ public class AltosIMU implements Cloneable {
        private static boolean is_primary_accel(int imu_type) {
                switch (imu_type) {
                case imu_type_easytimer_v1:
+               case imu_type_easytimer_v2:
                        return true;
                default:
                        return false;
@@ -402,6 +409,7 @@ public class AltosIMU implements Cloneable {
                        AltosIMU        imu = new AltosIMU(link);
                        AltosCalData    cal_data = listener.cal_data();
 
+                       System.out.printf("imu_model %d mag_model %d\n", imu.imu_model, imu.mag_model);
                        if (imu_type != AltosLib.MISSING)
                                cal_data.set_imu_type(imu_type);
                        if (imu != null) {