Fix esp32-camera support after ESP-IDF v6 upgrade#11059
Open
dhalbert wants to merge 2 commits into
Open
Conversation
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.
Before ESP-IDF v6.0, the espcamera API shared the I2C bus that CircuitPython had already created, by passing its handle to esp-camera:
The bus handle went away in recent version of
esp32-camera, so the sharing needed to happen a different way.busio/I2C.cwas changed to record the port of a createdI2Cobject, and that port is now passed to esp32-camera:Before this change,
esp32-cameracreated a second I2C instance on the same pins, which caused the I2C device known to CircuitPython to be different from the one used byesp32-camera.I also updated the
esp32-camerasubmodule to v2.1.7 on theadafruitfork, merging in our changes. I removed some additions we had made because some equivalent changes were made upstream.I tested on a Memento, which now works fine and takes pictures.
Claude Code helped with this diagnosis and fix. I thought it might be an issue with SCCB support due to I2C driver changes, but that was incorrect.