* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_13;
+package org.altusmetrum.altoslib_14;
import java.util.concurrent.*;
import java.io.*;
public static final double MAG_COUNTS_MPU = 32767.0;
public static final double counts_per_gauss_mpu = MAG_COUNTS_MPU / MAG_FULLSCALE_GAUSS_MPU;
- public static final double MAG_FULLSCALE_GAUSS_BMX_XY = 11.50; /* 1150µT */
- public static final double MAG_FULLSCALE_GAUSS_BMX_Z = 25.00; /* 2500µT */
- public static final double MAG_COUNTS_BMX = 32767.0;
- public static final double counts_per_gauss_bmx_xy = MAG_COUNTS_BMX / MAG_FULLSCALE_GAUSS_BMX_XY;
- public static final double counts_per_gauss_bmx_z = MAG_COUNTS_BMX / MAG_FULLSCALE_GAUSS_BMX_Z;
+ public static final double counts_per_gauss_bmx = 100.0; /* BMX driver converts to µT */
public static double counts_per_gauss(int imu_type, int axis) {
switch(imu_type) {
case imu_type_easymega_v2:
return counts_per_gauss_mpu;
case imu_type_telemega_v4:
- switch (axis) {
- case imu_axis_x:
- case imu_axis_y:
- return counts_per_gauss_bmx_xy;
- case imu_axis_z:
- return counts_per_gauss_bmx_z;
- }
- /* fall through */
+ return 100.0;
default:
return AltosLib.MISSING;
}
case imu_type_easymega_v1:
return gyro_x;
case imu_type_easymega_v2:
+ return -gyro_y;
case imu_type_telemega_v4:
return -gyro_y;
default:
case imu_type_telemega_v3:
case imu_type_easymega_v1:
return mag_x;
- case imu_type_telemega_v4:
case imu_type_easymega_v2:
return -mag_y;
+ case imu_type_telemega_v4:
+ return mag_y;
default:
return AltosLib.MISSING;
}