Stopping during still capture in CX3

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

cross mob
RameshRajan
Level 2
Level 2
50 sign-ins First like received First solution authored

Hi,

I am able to stream 4160x3120 @20fps over USB 2.0 with my cx3 based custom board. My goal is to capture the still but while I am trying to capture still, the app is getting stopped instead of capturing. Sometimes it is capturing image but it is totally black(it is giving unsupported format error in photos app). 

I have observed UART logs which shows Commit buffer failure. Log is as follows -- AppStop       AppStart    AppStop... Commit buffer failure.

I have referred related threads but I couldn't solve it. 

Please find What I did...

1. I am following method 2 of UVC to capture the still. I have configured it in my configuration descriptor( Class-specific Video Streaming Input Header Descriptor).

2. DMA size that I am using is 256KB (without 2-stage bootloader)

3. DMA buffer size that I am using is 48KB and buffer count is 3.

 By 2 and 3 steps I would have over come the Commit buffer error but I couldn't. 

I would like to know 

1. Do I need to mention still capture method in each and every resolution descriptor? Though i have mentioned there also but no use.

2. I heard that increasing H-blanking will solve Commit buffer error, Can I have an alternative for this(because sensor settings are not accessible for some reasons)

3. Why the app is getting stopped while trying to capture image, does fps creating any bad influence?

Help is most appreciated.

Thank you,

Abdul.

0 Likes
1 Solution
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello Abdul,

Is it possible for you to share your firmware and UART debug prints (with CX3_DEBUG_ENABLED, PRINT_FRAME_INFO, and CX3_ERROR_THREAD_ENABLE  enabled) for us to check?

Also, please confirm if you have followed section 2.3.5 of AN75779 for adding still capture to your application

Regards,

Rashi

Regards,
Rashi

View solution in original post

0 Likes
4 Replies
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello Abdul,

Is it possible for you to share your firmware and UART debug prints (with CX3_DEBUG_ENABLED, PRINT_FRAME_INFO, and CX3_ERROR_THREAD_ENABLE  enabled) for us to check?

Also, please confirm if you have followed section 2.3.5 of AN75779 for adding still capture to your application

Regards,

Rashi

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

Hi Rashi,

Thank you for your reply, Sorry I couldn't share my firmware with you.

I have enabled  CX3_DEBUG_ENABLED, PRINT_FRAME_INFO, and CX3_ERROR_THREAD_ENABLE   and got log. Please find it below.

Yes, I have followed section 2.3.5 of AN75779 for adding still capture correctly.

Looking for your reply.

Thank you, 

Abdul.

0 Likes

Hello Abdul,

From the debug prints it looks like multiple partial buffers are received before still capture is done which leads to clear feature request from host

To confirm this can you add one more variable in this case

if(dmaBuffer.count < CX3_UVC_DATA_BUF_SIZE) {...} and print it in the for loop.

When Still capture is triggered, we see "USB Connection not detected" print - kindly let me know hen is this printed from the firmware.

Please capture the USB traces using Wireshark and share it with us for further debugging

Also, confirm the DMA buffer size is not an exact multiple of frame size used for still capture. Let me know the expected size of the still capture image frame.

Regards,
Rashi
0 Likes
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello,

Glad to hear that the issue was resolved when the Still trigger (SET/GET) requests were handled properly

Regards,
Rashi
0 Likes