mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-03 01:46:26 +00:00
All values were scaled by 8 instead of 12 for 16g compile-time selected range. This resulted with values around 6.5 m/s^2. Scaling for runtime configurable ranges was broken for all except 2g range option due to totally broken lis2dh_range_to_reg_val(). Fix wrong scaling for 16g compile-time and all runtime selectable ranges by reworking code that scales raw value. While doing this, change lis2dh->scale type from 16 to 32 bits. This allows to slightly increase final result precision by using the fact that raw values have maximum 12 bits precision, allowing us to multiply lis2dh->scale by (1 << 4) compared to previous implementation. Fix bug #19872. Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com> |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
Kconfig | ||
lis2dh_trigger.c | ||
lis2dh.c | ||
lis2dh.h |