Fix bugs in ICM-45686 IMU driver (PR #11418)#11455
Open
sensei-hacker wants to merge 1 commit intoiNavFlight:maintenance-9.xfrom
Open
Fix bugs in ICM-45686 IMU driver (PR #11418)#11455sensei-hacker wants to merge 1 commit intoiNavFlight:maintenance-9.xfrom
sensei-hacker wants to merge 1 commit intoiNavFlight:maintenance-9.xfrom
Conversation
- Fix settings.yaml: quote "ICM45686" string in acc_hardware table - Fix accel LPF fallback: write BYPASS not ODR_DIV_8 on IREG failure - Fix IREG polling: use delayMicroseconds(10) not delay(1) to match waited_us counter - Fix reset polling: replace while(1) with do/while pattern used by all other drivers - Fix temperature formula: use float literals (12.8f) to avoid double promotion on F4 - Add named constant ICM456XX_INT_CONFIG_DELAY_MS for post-interrupt settle delay - Remove unused endianness defines (ICM456XX_RA_SREG_CTRL, SREG_DATA_ENDIAN_SEL_*) - Add missing trailing newlines to all modified files
|
Test firmware build ready — commit Download firmware for PR #11455 228 targets built. Find your board's
|
Member
Author
|
@Yuri-Sharapov |
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
This PR fixes several issues in the ICM-45686 IMU driver introduced in #11418. The driver structure and INAV integration are correct; these are targeted fixes to specific issues found during review.
Changes
ICM45686string inacc_hardwaretable (YAML parse error)ODR_DIV_8again instead ofBYPASSon IREG failure (comment said BYPASS, code did not match; gyro fallback was correct)delay(1)(1 ms) withdelayMicroseconds(10)to match thewaited_uscounter units; previous code had a ~100x timeout overrunwhile(1)withdo/whilepattern consistent with all other drivers in the codebase12.8ffloat literal instead of12.8double to avoid soft-float promotion on F4 targetsICM456XX_INT_CONFIG_DELAY_MSfor the post-interrupt-config settle delayICM456XX_RA_SREG_CTRL,ICM456XX_SREG_DATA_ENDIAN_SEL_*) kept "for future use"Testing
USE_IMU_ICM45686enabled — zero warnings or errorsRelated
Fixes issues found during review of #11418.