2017-05-26 01:59 AM
I am developing a UVC Host FULL Speed Driver in Kit STM32F4 Discovery .
I brought up Webcam and it streaming data.
But when I receive data from
Isochronos Endpoint
My source :
USBH_IsocReceiveData(phost,imgBuffer,EpOutSize,pipe_out_uvc);
uint32_t time_count = phost->Timer;while (1){
URB_Status = USBH_LL_GetURBState(phost,pipe_out_uvc);
if (USBH_URB_DONE == URB_Status && phost->Timer-time_count > tbInterval_stream){
time_count = phost->Timer;
uint32_t
Xfer_
len =USBH_LL_GetLastXferSize (phost, pipe_out_uvc);if(
Xfer_len
){USBH_UsrLog('[DEBUG]==========>header size : %d',*imgBuffer);
}
}
}
I received event
USBH_URB_DONE
butXfer_len always
equal 0 and nothing in
imgBuffer
.Please help me fix my problem. Thanks you so much !!!
I using lib usb in STM32Cube FW_F4 V1.16.0
#usb #isochronos-endpoint #isochronos #isocreceivedata #stm32f4-discovery2018-07-12 09:03 AM
Yes but still you test the phost->timer which is incremented by the SOF interrupt in order to go on with further transfers. My question was : do you know why at a certain point those interrupts stop happening?
2018-08-10 01:59 AM
SOF interrupt is handled ( timer increment) but not used for UVC
2023-11-27 10:11 PM - edited 2023-11-27 10:12 PM
i went stm32f7xx_ll_usb.c and changed the Rx FIFO size and for me it is working and i am getting some data in buffer now.