diff options
-rw-r--r-- | include/driver/mpu9250.h | 2 | ||||
-rw-r--r-- | src/driver/mpu9250.cc | 15 |
2 files changed, 16 insertions, 1 deletions
diff --git a/include/driver/mpu9250.h b/include/driver/mpu9250.h index bc0a11f..5a12150 100644 --- a/include/driver/mpu9250.h +++ b/include/driver/mpu9250.h @@ -274,7 +274,7 @@ class MPU9250 { bool getRawMagnet(int *x, int *y, int *z); void getAccel(float *g_x, float *g_y, float *g_z); void getGyro(float *dps_x, float *dps_y, float *dps_z); - void getMagnet(int *x, int *y, int *z); + bool getMagnet(float *ut_x, float *ut_y, float *ut_z); float getTemperature(); void setAccelEnable(bool x, bool y, bool z); void setGyroEnable(bool x, bool y, bool z); diff --git a/src/driver/mpu9250.cc b/src/driver/mpu9250.cc index de47597..3ad91c7 100644 --- a/src/driver/mpu9250.cc +++ b/src/driver/mpu9250.cc @@ -222,6 +222,21 @@ bool MPU9250::getRawMagnet(int *x, int *y, int *z) } } +bool MPU9250::getMagnet(float *ut_x, float *ut_y, float *ut_z) +{ + int x, y, z; + bool success = getRawMagnet(&x, &y, &z); + + if (!success) { + return false; + } + + *ut_x = x * 0.15; + *ut_y = y * 0.15; + *ut_z = z * 0.15; + return true; +} + // mpu9250.dfa void MPU9250::nineAxis() |