Adafruit OV 5640 not recognised on giga R1

Hi, yeah, so, the fixed helped reduce SDRAM bandwidth but only enough to fix the display issues to the PC. There’s still not enough bandwidth for the screen.

The only other thing to do is to reduce the refresh rate on the screen. class RGBDisplay – RGB Display Driver — MicroPython 1.20 documentation. This may cause the screen to unlock though. The display controllers kinda assume 60 hz and don’t like it when you are not going that fast. Maybe try 50 and then 40 and then 30 and see what happens.

The interrupt snapshot has nothing to do this this. It’s purely that the SDRAM is not able to deliver data in time. Both the camera and screen are real-time processes that can’t be back-pressured so they drop data when SDRAM doesn’t deliver things in time.

Moving the screen buffer into another bank helps reduce contention but it still doesn’t give the display enough bandwidth.

The only other fix I have is to set the number of frame buffers on the camera to 1. sensor.set_framebuffers(1). This will heavily reduce the camera performance (half FPS), but, it greatly reduces the load on the SDRAM.

I will try. Oh and I tested it with OV7690 and it still happens so this is not a sensor or 5640 driver issue, so I think its safe to go forward with the pull request.

Reducing frame rate had no effect on this, but setting the buffer did - though the fps seems lower than half.
I will soon try order drivers as I don’t remember it being so bad

Just tested it with 4.5.0 and the issue doesn’t happen so it’s something with the never versions that went wrong. Though on both 4.5.0 and new version the image is totally broken on OV7690 on QVGA.
I will make this into a new issue as its not related - found at Screen stuttering on GIGA R1 since 4.5.1 · Issue #2038 · openmv/openmv · GitHub