-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Esp32s2: implement ParallelImageCapture #4880
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
Conversation
It was possible for _only_ a low allocation to be performed. In this case, `high_head` is NULL, and the comparison `MP_STATE_VM(first_embedded_allocation) < high_head` would fail. Closes: adafruit#4871
In ParallelImageCapture we need to grab a group of pins by number
`idf.py monitor` connects to the debug UART and shows the messages. In contrast to a traditional terminal program, it also has the limited ability to transform hex addresses into file & line number information, especially for debug builds. This requires the elf file be copied to a specific place.
.. these files have been re-formatted by our code-formatting scripts, so their content does NOT match upstream.
* realloc the dma descriptors and buffers, so we can change the image size * NULL out the camera pointer after deinit, so deinit is idempotent
we do this our own way in CP
.. adopting validate_pins from RGBMatrix into shared-bindings .. updating other platforms for API change
@ladyada this is ready for testing if you're inclined & have the hardware. I also need to re-test the other boards, since the constructor was changed and I shouldn't be too confident I didn't introduce problems there. |
ok ill get a kaluga 1.3 |
@jepler I tried this code with the updated ov7670 library on my Kaluga 1.3 -- It "works" but the display is a bit confused. |
hmm -- If I swap the height/width setting , then I get a normal image, but the camera size is reduced to 160 x 120 -- progress
|
Going back to the 320x240 (as opposed to 240x320) but adding a 90 degree rotation to the displayio init gives me a full screen. I guess it is just something about this display.
|
@jepler On my display, I found that if I use the "standard" ILI9341 Init sequence then I get the full display filling the screen similar to what I get with the 90 degree rotation with your init sequence. Also, just to satisfy my curiosity why is the color depth in your example set to 65535 and not 65536? It does not seem to make any difference, but if it is a 16 bit value, shouldn't it be 65536? |
OK, I tested with rp2040 and samd51 and they both work after updating the lib & example! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tested with great success on esp32s2
This is tested as working with
Note that with a DEBUG=1 build and the Kaluga's pinout, CircuitPython will just crash when the camera module drives its "D4" pin, since this pin is shared with the JTAG peripheral! You just have to NOT use debug builds 🤕