CyU3PUsbSendEP0Data(..)  run-time 10 m second

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

cross mob
Anonymous
Not applicable


Hi all,
We have a run-time problem
Please could you give me the hand
 
ENVIRONMENT :

   

CYUSB3014 / EZ-USB FX3 SDK 1.3.3 
CODE BASE AN75779 / UVC1.0 F/W CODE
USB2.0 connect (1080 60P MJPEG)
Normally GOOD (no problem)
1080 60p mjpeg, 1frame tx time : 6~7 msec    

   


PROBLEM CODE :          
     apirv = CyU3PUsbSendEP0Data (4, (uint8_t *)glEp0Buffer);
     if (apirv != CY_U3P_SUCCESS)
          xxxlog(DBGTR, "SendEP0(%d), rv:%d \r\n", glEp0Buffer[0], apirv);
     
QUESTION :
      This is our test result.. 
     - apirv(return code) is always success.
     - but run-time is 10 msecond  
     - 4 byte transmission time take 10 msecond.
  
      1) We think that it is really so slowly.
         Why is usually spend about 10m second?
         We do not understand this thing. 

   


     cf) 60p frame time should always end whithin 16.67 msec.
     cf) PROCESSING_UNIT case same time..  therefore, uvc image stop
     cf) CAMERA_TERMINAL case same time..  therefore, uvc image stop
     cf) EXTENSION_UNIT  case same time..  therefore, uvc image stop
     

 

0 Likes
2 Replies
Anonymous
Not applicable

Hi,

   

How are you measuring the time interval? did you observe this on USB Trace? Or did you test it in the firmware? If so, how?

   

Regards,

   

- Madhu Sudhan

0 Likes
Anonymous
Not applicable


Hi, Madhu Sudhan
Time measurement was measured by GPIO out with an oscilloscope
Please refer to the code below
//del>CyU3PGpioSetValue(USB_LED, 0);     // led on
apirv = CyU3PUsbSendEP0Data (btxsz, (uint8_t *)glEp0Buffer);
//del>CyU3PGpioSetValue(USB_LED, 1);     // led off
if (apirv != CY_U3P_SUCCESS)
     xxxlog(DBGTR, "SendEP0(%d), rv:%d \r\n", glEp0Buffer[0], apirv);
 

0 Likes