cancel
Showing results for 
Search instead for 
Did you mean: 

Please help me !! Problems with IsocReceiveData

linh nguyen
Associate II
Posted on May 26, 2017 at 10:59

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

but

Xfer_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-discovery
12 REPLIES 12
Posted on July 12, 2018 at 16:03

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? 

dirk.frerichs
Associate II

SOF interrupt is handled ( timer increment) but not used for UVC

Raju_bhai
Associate

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.