Align the magnetometer axis with the accel/gyro

This commit is contained in:
Robert Dickenson
2016-03-06 17:32:56 +11:00
committed by Lorenz Meier
parent 2f69afb738
commit 0a33ca6e57

View File

@@ -255,7 +255,7 @@ MPU9250_mag::measure(struct ak8963_regs data)
mag_report mrb;
mrb.timestamp = hrt_absolute_time();
#if 0
mrb.x_raw = data.x;
mrb.y_raw = data.y;
mrb.z_raw = data.z;
@@ -263,6 +263,14 @@ MPU9250_mag::measure(struct ak8963_regs data)
float xraw_f = data.x;
float yraw_f = data.y;
float zraw_f = data.z;
#endif
mrb.x_raw = data.y;
mrb.y_raw = data.x;
mrb.z_raw = -data.z;
float xraw_f = data.y;
float yraw_f = data.x;
float zraw_f = -data.z;
/* apply user specified rotation */
rotate_3f(_parent->_rotation, xraw_f, yraw_f, zraw_f);
@@ -489,7 +497,7 @@ MPU9250_mag::ioctl(struct file *filp, int cmd, unsigned long arg)
return 48; // fixed full scale measurement range of +/- 4800 uT == 48 Gauss
case MAGIOCSELFTEST:
printf("MPU9250_mag::ioctl() MAGIOCSELFTEST\n");
// printf("MPU9250_mag::ioctl() MAGIOCSELFTEST\n");
return self_test();
#ifdef MAGIOCSHWLOWPASS
@@ -514,7 +522,7 @@ MPU9250_mag::ioctl(struct file *filp, int cmd, unsigned long arg)
int
MPU9250_mag::self_test(void)
{
return 1;
return 0;
}
void