summaryrefslogtreecommitdiff
path: root/driver/accel_bma2x2.h
diff options
context:
space:
mode:
Diffstat (limited to 'driver/accel_bma2x2.h')
-rw-r--r--driver/accel_bma2x2.h18
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