Please confirm whether you are operating in USB 2.0 or USB 3.0.
Can you upload both the projects 1) CX3 with Pre-defined configuration as yuv422_ov5640.cycx 2) a new project with blank configuration, and key in all the parameters the same as yuv422_ov5640.cycx
After comparing file by file,
I found the difference between two set of codes are:
- The pre-defined one set the CX3_UVC_DATA_BUF_SIZE to 0x5FF0 instead of 0x8FD0 under cycx3_uvc.h
- Pre-defined one calls CyCx3_ImageSensor_Trigger_Autofocus() twice after waking up the ImageSensor in cycx3_uvc.c(line 297/298)
And even if I make these two set of code identical, the video is still not streaming at all.
(Identical means i copied cycx3_uvc.c, cycx3_uvc.h, cycx3_uvcdscr.c, cyu3mipicsi.c from pre-defined config into the self-defined config project.)
I'm made some modification to made these two set of code more "identical", easier to do comparison.
Please take a look!
OV5640_ver2.zip 1,018.2 K
I think I found the problem.
If I made any mistakes please let me know, thanks!
If I'm building the self-defined configuration project, it'll generate the customize "cyu3imagesensor.c" filled with dummy config settings.
while pre-defined OV5640 uses their own archieve file which located in ~\Cypress\EZ-USB FX3 SDK\1.3\firmware\u3p_firmware\lib\fx3_debug\cy_ov5640.a
And refer to this post: How add resolution ov5640 CX3 using gpif II
I suppose that I couldn't recreate OV5640 without it's settings.
I'll move on and try to build it around a different sensor now.
You are correct. Self-defined configuration project comes with dummy values. You need replace them with correct sensor settings.
Pre-defined configuration project comes up correct sensor settings which are provided in a library. i.e. ~\Cypress\EZ-USB FX3 SDK\1.3\firmware\u3p_firmware\lib\fx3_debug\cy_ov5640.a
Thanks for the reply