diff options
Diffstat (limited to 'driver/accel_bma2x2.h')
-rw-r--r-- | driver/accel_bma2x2.h | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/driver/accel_bma2x2.h b/driver/accel_bma2x2.h index cade4a15ff..9beb384405 100644 --- a/driver/accel_bma2x2.h +++ b/driver/accel_bma2x2.h @@ -74,22 +74,24 @@ extern const struct accelgyro_drv bma2x2_accel_drv; #define BMA2x2_BW_SELECT_ADDR 0x10 #define BMA2x2_BW_MSK 0x1F -#define BMA2x2_BW_7_81HZ 0x08 /* LowPass 7.81HZ */ -#define BMA2x2_BW_15_63HZ 0x09 /* LowPass 15.63HZ */ -#define BMA2x2_BW_31_25HZ 0x0A /* LowPass 31.25HZ */ -#define BMA2x2_BW_62_50HZ 0x0B /* LowPass 62.50HZ */ +#define BMA2x2_BW_7_81HZ 0x08 /* LowPass 7.8125HZ */ +#define BMA2x2_BW_15_63HZ 0x09 /* LowPass 15.625HZ */ +#define BMA2x2_BW_31_25HZ 0x0A /* LowPass 31.25HZ */ +#define BMA2x2_BW_62_50HZ 0x0B /* LowPass 62.50HZ */ #define BMA2x2_BW_125HZ 0x0C /* LowPass 125HZ */ #define BMA2x2_BW_250HZ 0x0D /* LowPass 250HZ */ #define BMA2x2_BW_500HZ 0x0E /* LowPass 500HZ */ #define BMA2x2_BW_1000HZ 0x0F /* LowPass 1000HZ */ #define BMA2x2_BW_TO_REG(_bw) \ - ((_bw) < 125000 ? BMA2x2_BW_7_81HZ + __fls((_bw) / 7810) : \ - BMA2x2_BW_125HZ + __fls((_bw) / 125000)) + ((_bw) < 125000 ? \ + BMA2x2_BW_7_81HZ + __fls(((_bw) * 10) / 78125) : \ + BMA2x2_BW_125HZ + __fls((_bw) / 125000)) #define BMA2x2_REG_TO_BW(_reg) \ - ((_reg) < BMA2x2_BW_125HZ ? 7810 << ((_reg) - BMA2x2_BW_7_81HZ) : \ - 125000 << ((_reg) - BMA2x2_BW_125HZ)) + ((_reg) < BMA2x2_BW_125HZ ? \ + (78125 << ((_reg) - BMA2x2_BW_7_81HZ)) / 10 : \ + 125000 << ((_reg) - BMA2x2_BW_125HZ)) #define BMA2x2_MODE_CTRL_ADDR 0x11 #define BMA2x2_LOW_NOISE_CTRL_ADDR 0x12 |