Skip to content
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

[WIP] icm20689: track consecutive failures and trigger reset #14646

Closed
wants to merge 9 commits into from

Conversation

dagar
Copy link
Member

@dagar dagar commented Apr 11, 2020

@dagar
Copy link
Member Author

dagar commented Apr 11, 2020

This appears to have been successful in recovering the "stuck" icm20689 on a particular CUAV v5 nano with no power cycling.

Screenshot from 2020-04-11 14-09-33

@dagar
Copy link
Member Author

dagar commented Apr 11, 2020

It's not clear to me this is much of a problem in general, but in an effort to make these drivers as robust as possible I'm going to implement the consecutive failure count + reset everywhere.

@dagar dagar force-pushed the pr-icm20689_reset branch 3 times, most recently from 353c0c3 to ff302ea Compare April 11, 2020 20:05
@dagar
Copy link
Member Author

dagar commented Apr 11, 2020

That was effective in catching the problem and triggering a reset, but I'd prefer to avoid it entirely if we can.
Screenshot from 2020-04-11 16-32-32

Next I'm going to try reducing the SPI bus speed for the icm20689.

@dagar dagar force-pushed the pr-icm20689_reset branch 2 times, most recently from 96e9cf9 to ff302ea Compare April 11, 2020 21:45
@dagar
Copy link
Member Author

dagar commented Apr 11, 2020

Next I'm going to try reducing the SPI bus speed for the icm20689.

No impact on the bad board. I'll look at adding the self test.

@dagar
Copy link
Member Author

dagar commented Apr 14, 2020

I'm fairly certain there's an actual problem with the icm20689 on the test rack's CUAV v5 Nano. This is actually a good case to review from the driver's perspective because we can catch the error fairly early and trigger a reset, but that might actually be the wrong thing to do. The sensor will reset, work for a brief period, then start producing errors, repeat. The end result is enough valid data the sensors module doesn't actual flag a timeout.

@dagar dagar force-pushed the pr-icm20689_reset branch from ff302ea to 79b616c Compare April 15, 2020 19:01
@dagar
Copy link
Member Author

dagar commented Jun 22, 2020

Fixed in master.

@dagar dagar closed this Jun 22, 2020
@dagar dagar deleted the pr-icm20689_reset branch June 22, 2020 22:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant