LiquidCGS / FastIMU

the IMU library to rule them all (wip)
MIT License
139 stars 17 forks source link

MPU6886::calibrateAccelGyro() failure #5

Open mhaberler opened 1 year ago

mhaberler commented 1 year ago

Hi, trying Calibrated_sensor_output.ino with an esp32 and an MPU6886

MPU6886::calibrateAccelGyro() fails to read back the FIFO sample count here - the readBytes() request is NAK'd, hence fifo_count is zero, resulting in a divide-by-zero here

image

not sure what to do about it, short from replacing gyro calibration with averaging

thanks! Michael

ps: using Platformio, esp_wrover_kit 4.1 with JTAG, Salea LA versions are:

Platform espressif32 @ 6.1.0 (required: espressif32)
├── framework-arduinoespressif32 @ 3.20007.0 (required: platformio/framework-arduinoespressif32 @ ~3.20007.0)
├── tool-cmake @ 3.16.4 (required: platformio/tool-cmake @ ~3.16.0)
├── tool-esptoolpy @ 1.40500.0 (required: platformio/tool-esptoolpy @ ~1.40500.0)
├── tool-mkfatfs @ 2.0.1 (required: platformio/tool-mkfatfs @ ~2.0.0)
├── tool-mklittlefs @ 1.203.210628 (required: platformio/tool-mklittlefs @ ~1.203.0)
├── tool-mkspiffs @ 2.230.0 (required: platformio/tool-mkspiffs @ ~2.230.0)
├── tool-ninja @ 1.9.0 (required: platformio/tool-ninja @ ^1.7.0)
├── tool-openocd-esp32 @ 2.1100.20220706 (required: platformio/tool-openocd-esp32 @ ~2.1100.0)
├── toolchain-esp32ulp @ 1.23500.220830 (required: platformio/toolchain-esp32ulp @ ~1.23500.0)
├── toolchain-riscv32-esp @ 8.4.0+2021r2-patch5 (required: espressif/toolchain-riscv32-esp @ 8.4.0+2021r2-patch5)
└── toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5 (required: espressif/toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5)
LiquidCGS commented 1 year ago

Very late response as I don't get notifications for issues for some reason. it seems like the FIFO_EN bits are set up wrong as they're set up for the 6500's FIFO which is very slightly different, and that's making it not start up the FIFO.

If you disable calibration does it at least output anything?

I'll make a fix soonish, I don't have an mpu6886 to test at the moment.

bobobo1618 commented 10 months ago

I'm having the same problem. When I remove the calibration, I get data but they're extremely noisy.

LiquidCGS commented 10 months ago

I'll see if I can get my hands on an MPU6886 again to properly fix that IMU.

floBik commented 3 months ago

Please check if my PR #25 solves this Issue. It works for me, but I'm not sure if the calibration is working properly now.