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

Delay startup of STM32/decks with 1s to avoid GAP8 freeze #69

Merged
merged 2 commits into from
Apr 12, 2022

Conversation

evoggy
Copy link
Member

@evoggy evoggy commented Apr 12, 2022

When moving from bootloader to firmware on the nRF51 or when doing quick power off/on on the button, we've seen that the GAP8 end up in a state where it freezes and we need to power it off for a long while to get it to start again. It seems to be handling "quick" off/on cycles badly. This is fairly easy to reproduce in two cases:

  • Put the Crazyflie in bootloader then press the power again to move from bootloader to firmware => GAP8 might not start (this is also true for cload)
  • Press the power button repeatedly or just do a quick off/on => GAP8 will eventually not start

Note that the behavior seems to be a bit different on different boards, some are very easy to freeze others not.

Initially the time when the STM32/decks domain was powered off was about 350-400ms when moving from bootloader to firmware. Keeping the power off for longer seems to solve the issue with the GAP8 freeze, this is also true for quickly powering off/on the platform. After doing some quick testing it seems as if 1s is enough, but we should test some more boards.

At this point we have information about the 1-wire memories and it would be possible to only have this delay when the AI-deck is attached, but this would create a special case that might be confusing down the line if there's any issues.

@evoggy
Copy link
Member Author

evoggy commented Apr 12, 2022

@whoenig Do you think this would cause any issues for you when powering up a swarm?

@whoenig
Copy link
Contributor

whoenig commented Apr 12, 2022

I don't think this would cause an issue. We more or less power on in parallel and not sequentially.

@krichardsson
Copy link
Contributor

Added protection to not use syslink too early when we have delayed the start up sequence

@krichardsson krichardsson merged commit 508bdc2 into master Apr 12, 2022
@krichardsson krichardsson deleted the evoggy/startup-delay branch April 12, 2022 14:40
@knmcguire knmcguire added this to the next release milestone May 10, 2022
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.

4 participants