0x107 means timeout (the card didn't respond in time, in your case to ACMD41 configuration command). There is a bunch of possible reasons, but I'd try another card first (4GB should be safe size). You can also format the card on your PC to see whether it helps, but it's likely unrelated to 0x107 here... you mentioned you managed to run the SDMMC example on your device so I don't assume your PIN setup is wrong - however, you can check your SD PINs based on the board's schematics (eg https://github.com/SeeedDocument/forum_ ... M_V1.6.pdf - Micro SD socket lines must be configured according to the scheme: eg CMD line goes to HS2_CMD link which translates to GPIO15 on the main module, and so on). Also, check for conflicting PIN assignments, ie single PIN being used by multiple peripherals or by the system.
Furthermore, you can enable VERBOSE logging mode (via idf.py menuconfig) and see more details on what's happening inside your code. But if you once saw your example working, it is quite likely you have incidentally changed your app configuration or such. Maybe try to go step by step from the scratch - first connect the card only, then enable the camera, then add image processing, etc etc.
Good luck.
Loading Image From SD Card
-
- Posts: 11
- Joined: Thu Oct 24, 2024 6:24 am
Re: Loading Image From SD Card
Actually the same PIN setup and SD Card is working when i run it in SDMMC App that is probably written in C. But Shifting the same commands to C++ program (that i have provided above) this error arises. The only reason i am shifting towards C++ that i want to load image from SD Card using OpenCV as it has examples written in C++ only.pacucha42 wrote: ↑Wed Oct 30, 2024 3:13 pm0x107 means timeout (the card didn't respond in time, in your case to ACMD41 configuration command). There is a bunch of possible reasons, but I'd try another card first (4GB should be safe size). You can also format the card on your PC to see whether it helps, but it's likely unrelated to 0x107 here... you mentioned you managed to run the SDMMC example on your device so I don't assume your PIN setup is wrong - however, you can check your SD PINs based on the board's schematics (eg https://github.com/SeeedDocument/forum_ ... M_V1.6.pdf - Micro SD socket lines must be configured according to the scheme: eg CMD line goes to HS2_CMD link which translates to GPIO15 on the main module, and so on). Also, check for conflicting PIN assignments, ie single PIN being used by multiple peripherals or by the system.
Furthermore, you can enable VERBOSE logging mode (via idf.py menuconfig) and see more details on what's happening inside your code. But if you once saw your example working, it is quite likely you have incidentally changed your app configuration or such. Maybe try to go step by step from the scratch - first connect the card only, then enable the camera, then add image processing, etc etc.
Good luck.
I am also trying to debug the issue but at some point i become clueless to further continue on this.
Re: Loading Image From SD Card
You can share your VERBOSE log here and let me see - can't guarantee I'll find the root cause, though. Again: if you had managed to run the SDMMC example on your ESP32-CAM board, appropriate setup obviously exists. If you start again from that point, you should be able to find a stable configuration, C++ is not the point.
Afaik, we don't have own OpenCV port yet, the library is still under construction (see https://github.com/espressif/idf-extra- ... ts/pull/94). You can try other open-source projects, like https://github.com/joachimBurket/esp32-opencv
Have you tried to replace the SD card, btw?
Afaik, we don't have own OpenCV port yet, the library is still under construction (see https://github.com/espressif/idf-extra- ... ts/pull/94). You can try other open-source projects, like https://github.com/joachimBurket/esp32-opencv
Have you tried to replace the SD card, btw?
-
- Posts: 11
- Joined: Thu Oct 24, 2024 6:24 am
Re: Loading Image From SD Card
Thanks for your quick response and support, FYI i have successfully mounted the SD Card there was issue with slot_config.width, it was set to 1 and after updating it to 4(Hardcoded) as in C example it started working. There was a condition to check for it but that wasn't working don't know exact reason behind that.pacucha42 wrote: ↑Thu Oct 31, 2024 8:18 amYou can share your VERBOSE log here and let me see - can't guarantee I'll find the root cause, though. Again: if you had managed to run the SDMMC example on your ESP32-CAM board, appropriate setup obviously exists. If you start again from that point, you should be able to find a stable configuration, C++ is not the point.
Afaik, we don't have own OpenCV port yet, the library is still under construction (see https://github.com/espressif/idf-extra- ... ts/pull/94). You can try other open-source projects, like https://github.com/joachimBurket/esp32-opencv
Have you tried to replace the SD card, btw?
For OpenCV i am using that opensource package you have mentioned but the only issue is i am able to load "png" images only for now, that is causing memory issue if i go with higher resolutions like 480x320 etc but on 320x240 with GrayScale mode it is fine for now.
Re: Loading Image From SD Card
Ok, it sounds like your main trouble is resolved. I cannot provide much help for processing pictures, not my domain. Generally, you can expect troubles with the system resources when processing any larger image data - ESP32* is embedded platform, which naturally brings in quite a few limitations That's why the OpenCV port proposed is simplified and minimised version of the original library... still, you can achieve nice results.
Good luck with your project.
Good luck with your project.
-
- Posts: 11
- Joined: Thu Oct 24, 2024 6:24 am
Re: Loading Image From SD Card
Thank you so muchpacucha42 wrote: ↑Thu Oct 31, 2024 10:43 amOk, it sounds like your main trouble is resolved. I cannot provide much help for processing pictures, not my domain. Generally, you can expect troubles with the system resources when processing any larger image data - ESP32* is embedded platform, which naturally brings in quite a few limitations That's why the OpenCV port proposed is simplified and minimised version of the original library... still, you can achieve nice results.
Good luck with your project.
Who is online
Users browsing this forum: MicroController and 98 guests