-
Notifications
You must be signed in to change notification settings - Fork 101
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
OSError: Camera Init Failed #76
Comments
I have the same issue. Could you please help to take a look?
|
Make sure you execute your code after a hard reset and check to make sure the camera ribbon cable is fully inserted. I get this error only after a soft reset and am still looking for a solution. Works fine for me on first power up. |
I am also having this issue, so we have to hard reset every time we want to use the camera? Then that removes the use of practical use case unless I am missing something |
I was able to deinit before init to solve the issue on soft reset. |
I know this is old but a soft reset only clears the RAM. It doesn't clear out any hardware settings. so if you do a soft reset and attempt to restart the camera it will fail. only a hard reset will clear the hardware states. The same problem exists with SPI as well. |
IMO init should do this automatically, not hope that the developer finds the issue and figures out how to fix it… |
Micropyhton doesn't have anything build into it to let anything know that a soft reset is occurring. This is why most libraries do have a deinit function or are bound to I believe that there should be some way to register a callback function so that application or library C code can be notified and cleanup can be done that way. But that is not available so it's up to the user to do. |
Not sure what the implications of not cleaning up are or am really talking about that. Init can and should do the cleanup aka work every time. |
doesn't work that way. the init method has no clue whether or not it should clean up after settings that don't exist anymore. Remember the memory has been cleared. How is it supposed to know what pins were used last time? |
It’s the only way I know of to get it to reliably start every time. Deinit doesn’t crash if run first at boot and presumably does nothing. |
I can tell you that part of the problem is there is no "instance" or class for a camera that gets made. No way to to really keep track of it. I am working on writing the driver over again so it will compile properly with MicroPython 1.22 and to expose more of the esp32-camera feature set and hopefully correct the deinit issue. |
FYI I also have to take the picture twice and throw out the first one. The first picture is from BEFORE I requested it lol… |
I will do my best to streamline buffers. I have a pretty good way of handling frame buffers in the display and GUI framework module I wrote for MicroPython so I am very familiar with how to handle them and to make the C allocated frame buffers accessible to the Python side of things. |
There have been many comments and posts relating to
OSError: Camera Init Failed
error when trying to initialize the camera. I have reviewed every post, which the most recent was over a half a year a go, and all have gone unanswered.Steps that I have taken on my MacBookPro:
micropython_camera_feeeb5ea3_esp32_idf4_4.bin
(commit it905c798
on February 2, 2022)pip install esptool
python -m esptool --chip esp32 --port /dev/cu.usb1440 erase_flash
python esptool --chip esp32 --port /dev/cu.usb1440 write_flash -z 0x1000 micropython_camera_feeeb5ea3_esp32_idf4_4.bin
Everything was a success.
code .
They all failed with the same error:
OSError: Camera Init Failed
I tried with all three ESP32-CAM controllers.
I'm at a loss on what else I can try.
The text was updated successfully, but these errors were encountered: