Dr. Matthew Swabey 80a7744b42
sensor_mpu9250: Fix or improve reliability (#6170)
Fixes common MPU-9250 accelerometer issues for RPi Linux MCU and
improves reliability on all other architectures by adjusting the MPU-*
reading algorithm to only read whole Klipper messages' worth of
data from MPU-* and eliminating many unnecessary checks of the MPU FIFO
fill-level that consumed bus bandwidth needed for data transfer. Fixes
intermittent "Lost communication with MCU 'rpi'" due to "Timer too
close" and transposed / corrupted data due to FIFO overrun/data loss
when using MPU-* accelerometers. In addition FIFO overrun checks are
performed by testing the MPU interrupt flag vs. inferring from the FIFO
fill level.

Stress tested for 13hrs with two MPU-6500 attached to one I2C bus on RPi
    and one on a PR2040
Stress tested for 23hrs with two MPU-6500 attached to one I2C bus on RPi
    and one on a ATmega328P (Seeduino Nano)

Signed-off-by: Matthew Swabey <matthew@swabey.org>
2023-04-19 12:34:22 -04:00
..
2023-03-01 20:43:53 -05:00
2022-07-28 20:43:19 -04:00
2022-09-03 12:23:55 -04:00
2022-05-13 13:53:17 -04:00
2022-04-18 11:07:05 -04:00
2023-03-14 21:11:33 -04:00
2022-06-30 13:56:35 -04:00
2023-03-20 10:58:25 -04:00
2023-03-20 10:58:25 -04:00
2023-03-20 10:58:25 -04:00
2023-03-20 10:58:25 -04:00
2023-03-20 10:58:25 -04:00