drivers/imu/bmi270: Improved and extended BMI270 drivers. - #1164
Open
easytarget wants to merge 1 commit into
Open
easytarget wants to merge 1 commit into
easytarget wants to merge 1 commit into
Conversation
Replaces existing `bmi270` driver with a version using the a much smaller device configuration loaded using improved timings. This results in a drop in replacement driver that is 25x faster to load and 5x smaller in size. The driver has been extended to allow sensor scaling changes and data rates to be adjusted after init, powersave modes to be set, and exposes the internal temperature sensor. An additional `bmi270_legacy` driver is also included; this uses the full 'legacy' device config from Bosch and brings access to many Tablet and Phone related features: orientation, drop detection, step counting, tap detection and more. Signed-off-by: Owen <owen@easytarget.org>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two drivers for the popular BMI270 IMU
The first replaces the existing
bmi270driver with a updated version using a much smaller device configuration and timings. This results in a 'drop in' replacement driver that is 25x faster to load and 5x smaller in size.In addition this version of the driver has been extended to allow sensor scaling and data rates to be adjusted after init.
The second is a a greatly extended
bmi270_legacydriver; this uses the 'legacy' device config from Bosch.init()time.Both drivers have extensive in-line documentation; dedicated examples and extended README files
This is based on the work I did earlier this year here: https://codeberg.org/easytarget/bmi270-micropython
Testing
Both of these drivers have been extensively tested during development on a M5Stack Tab5 (ESP32P4 based) which has a BMI270 device on board.
Generative AI
I did not use generative AI tools when creating this PR.