diff --git a/os/ex/ST/lis3mdl.c b/os/ex/ST/lis3mdl.c index e47ca146f..1e6db51ad 100644 --- a/os/ex/ST/lis3mdl.c +++ b/os/ex/ST/lis3mdl.c @@ -151,7 +151,7 @@ static msg_t read_cooked(void *ip, float axes[]) { msg = read_raw(ip, raw); for(i = 0; i < LIS3MDL_NUMBER_OF_AXES ; i++){ - axes[i] = raw[i] / ((LIS3MDLDriver *)ip)->sensitivity[i]; + axes[i] = raw[i] * ((LIS3MDLDriver *)ip)->sensitivity[i]; axes[i] -= ((LIS3MDLDriver *)ip)->bias[i]; } return msg; diff --git a/os/ex/ST/lis3mdl.h b/os/ex/ST/lis3mdl.h index fbafc7fe2..2f49491f3 100644 --- a/os/ex/ST/lis3mdl.h +++ b/os/ex/ST/lis3mdl.h @@ -70,10 +70,10 @@ #define LIS3MDL_12GA 12.0f #define LIS3MDL_16GA 16.0f -#define LIS3MDL_SENS_4GA 6842.0f -#define LIS3MDL_SENS_8GA 3421.0f -#define LIS3MDL_SENS_12GA 2281.0f -#define LIS3MDL_SENS_16GA 1711.0f +#define LIS3MDL_SENS_4GA 0.00014615f +#define LIS3MDL_SENS_8GA 0.00029231f +#define LIS3MDL_SENS_12GA 0.0004384f +#define LIS3MDL_SENS_16GA 0.00058445f /** @} */ /**