-
Notifications
You must be signed in to change notification settings - Fork 7.6k
sensor: Add ICM42686 Driver Support #92579
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
sensor: Add ICM42686 Driver Support #92579
Conversation
b71b4bd
to
729ca0b
Compare
As a first step to enable the similar variants (e.g: ICM42686), refactor common functionality into icm4268x files. As a result, applications using the icm42688 will need to have both compatible properties: "invensense,icm42688" and "invensense,icm4268x" defined. In-tree boards have been modified to comply with this pattern. This patch does not contain functional changes. The driver should work the same as before. Signed-off-by: Luis Ubieda <luisf@croxel.com>
729ca0b
to
0f64e78
Compare
Addressing low-hanging fruits. Put in a separate commit in order to make it easier to keep track of changes. Signed-off-by: Luis Ubieda <luisf@croxel.com>
Now this driver supports both ICM42688 and ICM42686. Tested with read-decode as well as streaming mode. Signed-off-by: Luis Ubieda <luisf@croxel.com>
When IMU is set to stream with High-res mode, the FSR settings are fixed: - ICM42688 at 16g and 2000dps. - ICM42686 at 32g and 4000dps. Unless this is enforced, the driver will provide incorrect scaling for readings coming through streaming when the current FS setting is any different than these. Signed-off-by: Luis Ubieda <luisf@croxel.com>
Additionally, remove overlay from sensor-shell sample, which is redundant. Signed-off-by: Luis Ubieda <luisf@croxel.com>
For build-time validation. Signed-off-by: Luis Ubieda <luisf@croxel.com>
0f64e78
to
7477da4
Compare
|
Looks like the issues flagged by SonarQube are due to moving existing in-tree files. I wonder if we're good with addressing them on follow-up PRs instead of blocking this one. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great addition! I also tested this on real hardware, both targets (42688 and 42686) work perfectly.
Description
This PR adds support for ICM42686 driver, by extending and refactoring existing ICM42688 driver.
The new variant contains feature parity with the original driver:
Testing
This was tested on VMU RT1170, which contains both ICM42688 and ICM42686, running the sensor-shell sample to set up and obtain sensor readings: