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.
Before this, CircuitPython was unusable on the SAM E54 XPLAINED devkit. After this, I'm able to initialize the following cards successfully:
This is using the built in full sized SD card slot on the devkit.
Before the second change, after any attempt to construct an sdioio.SDCard instance (failed or successful) the pins would remain "in use" and a new instance could not be constructed. Now, an SDCard instance can be deinitialized with
deinit()
or by reset of the interpreter, and a new instance can be created.If no card is inserted, it takes a long time to fail to initialize; this is the same as before.
sd_mmc_check(0)
blocks for a long time, it's not the surrounding 'try 100 times' loop that is the problem, so adding a keyboard interrupt check there is not helpful.Todo:
Closes #7727
Closes #6914