The __init__.py file does not support high-pass filter (HPF) settings for LSM6DSOX sensor. The LSM6DSOX has a different control register configuration compared to other IMU parts supported by this library. This is in register _LSM6DS_CTRL8_XL.
The HPF has 8 bandwidth options (ODR/4 to ODR/800)
Bit 2 of CTRL8_XL has to be set to 1 to enable HPF (default 0 is for LPF)
I've modified the __init__.py file as a test and it seems to work OK with LSM6DSOX. This is tested using Adafruit STM32F405 Feather and the LSM6DSOX board with a I2C connection. The HPF filters out steady-state (gravity) and passes motions. This file will break the library for other IMU parts. I don't know enough to make this work for all the parts.
init.py.zip
isnt the bit selected by the high_pass_filter property RWBits(2, _LSM6DS_CTRL8_XL, 5) selecting the wrong bit. isnt the bandwidth selected by the first 3 bits not by bits 5 and 6?
The
__init__.py
file does not support high-pass filter (HPF) settings for LSM6DSOX sensor. The LSM6DSOX has a different control register configuration compared to other IMU parts supported by this library. This is in register_LSM6DS_CTRL8_XL
.I've modified the
__init__.py
file as a test and it seems to work OK with LSM6DSOX. This is tested using Adafruit STM32F405 Feather and the LSM6DSOX board with a I2C connection. The HPF filters out steady-state (gravity) and passes motions. This file will break the library for other IMU parts. I don't know enough to make this work for all the parts. init.py.zipThanks for this library Regards, Bob U.