CX3 configuration custom sensor for streaming UYVY data

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
TzCh_3504586
Level 3
Level 3
5 likes given First like given

Hi,

I have a CX3 RDK with OV5640 sensor.

I can received the YUY2 format correctly and play on the e-cam by flashing the example firmware provided in SDK (cycx3_uvc_ov5640)

I want to stream UVYV data provided by my own ISP.

So I follow "EzUsbSuite_UG.pdf" to create my own project with customize configurations.

I create my new project using "CX3 Configuration Project", key in the configuration parameters,

and save the four auto generated source/header file : cyu3mipicsi.c, cycx3_uvcdscr.c, cycx3_uvc.h, cycx3_uvc.c

Then I build it in release mode and flash it to CX3.

But when I connect it to my device, e-CAM shows nothing but plain dark.

I also tried to re-create the cycx3_uvc_ov5640 project by creating a new project with Pre-Defined Configuration yuv422_ov5640.cycx.

And It works, the e-CAM tool could show the image frame.

But when I create a new project with blank configuration, and key in all the parameters the same as yuv422_ov5640.cycx,

e-CAM is dark again. 

Is there an explanation of why this is happening?

Like some function calls need to be coded myself instead of relying on auto generated codes?

Or did I miss something while creating this streaming project?

I'm using SDK version 1.3.4

And the following graph is my config of streaming UYVY data.

config.png

Thank you,

Paddy

0 Likes
1 Solution

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

View solution in original post

6 Replies
KandlaguntaR_36
Moderator
Moderator
Moderator
25 solutions authored 10 solutions authored 5 solutions authored

Hi Paddy,

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

lock attach
Attachments are accessible only for community members.

I double checked and it is connected on USB 3.0

Attachments are the pre-defined config project and self-defined config project for ov5640 I'm using.

0 Likes
lock attach
Attachments are accessible only for community members.

After comparing file by file,

I found the difference between two set of codes are:

  1. The pre-defined one set the CX3_UVC_DATA_BUF_SIZE to 0x5FF0 instead of 0x8FD0 under cycx3_uvc.h
  2. 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!

Thank you,

Paddy

0 Likes
TzCh_3504586
Level 3
Level 3
5 likes given First like given

Ok,

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.

Thank you!

Paddy

0 Likes

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

Hi srdr,

Thanks for the reply

Paddy

0 Likes