|
From: Abhishek M. <abm...@ya...> - 2014-01-03 03:00:23
|
Hi Tim,
The reason we send the control transfer to start the frame is that we want to make sure that we always sync up with the frame. We always make sure that FSYNC goes high and LSYNC goes high then we activate the data. Once the FSYNC goes low we know that we got the full frame and then we terminate the GPIF waveform at the firmware level. But we also tried doing the video streaming but we lost sync with the frame. The way we did it instead of terminating GPIF waveform once we get the first frame, we reset it. GPIF waveform runs forever and continuously sending frame data to the host. Even though we are making sure that host is always receiving in a separate thread, we get only 58 FPS but our camera is running at 60 FPS. I believe this leads to buffer overflow and this causes the frame to go out of phase.
I hope it makes sense.
Regards,
Abhishek Madaan
On Thursday, January 2, 2014 1:00 PM, Tim Roberts <ti...@pr...> wrote:
Abhishek Madaan wrote:
>
>I have couple of other questions. Sometimes i get a following error from the libusb
>
>
>"warning [handle_timeout] async cancel failed -5 errno=22 "
Error -5 is LIBUSB_ERROR_NOT_FOUND. This probably just indicates a
timing coincidence -- your timeout expired just as the request was
completed, so there was no request to cancel.
Could you please explain why I am seeing this error.
It's not an error. It's a warning.
My second question with Cypress CyAPI.h i can use the SetXferSize to set the size of the transfer. When we used this in PC, we did see performance enhancement in fetching the image. Is there any way to set the SetXferSize in libusb?
You are already doing that. The buffer you pass to
libusb_fill_bulk_transfer is the transfer size. The Cypress library
happens to default to using many small transfers instead of one
larger transfer. Earlier versions of Linux had a limitation on the
size of a single transfer.
Is your interface entirely synchronous? That is, you must always
sent a vendor request before each frame is transferred? There is no
"streaming" mode? That reduces your performance, of course, but it
also means you don't really need to worry about queueing up multiple
requests.
--
Tim Roberts, ti...@pr... Providenza & Boekelheide, Inc.
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT
organizations don't have a clear picture of how application performance
affects their revenue. With AppDynamics, you get 100% visibility into your
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
libusb-devel mailing list
lib...@li...
https://lists.sourceforge.net/lists/listinfo/libusb-devel |