Good day. In Superspeed, there are two 3 info that we need to retrieve from the ITP packet. However i am not sure how to retrieve them from the 32 unsigned bit from ITP in Cypress.
There are 3 info:
1) Bus interval counter
3) Bus Interval Adjustment Control
I am using
apiRetStatus = CyU3PUsbGetDevProperty (CY_U3P_USB_PROP_ITPINFO, &ITP_value);
to get the value from DevProperty. So now i got 32 bit ITP_value, but how can get each info separately?
Besides that, how to check for Delay Flag(DF) in Link control Word of ITP packe??
Really appreciate who can help. Thanks.
Can help for the problem above? I am still can't find the solution yet. I didn't have any Hardware Analyzer to see it.
When nobody here has the knowledge to answer your quest, there is the choice to create a "MyCase" which will be ansewerd by Cypress directly. To do so, at top of this page "support&Community -> Technical Support -> Create a MyCase".
Thanks Bob, just know it can be done by this way.
The CyU3PUsbGetDevProperty function, when used as you have done, will return a 32-bit value in "ITP_value".
Here, ITP_value[13:0] == ITP_value & 0x3FFF == microframe counter which indicates which of the 8 125-microsecond micro-frames last occurred... This is based on ITPs recieved from Host
I read this entry and I would like to know if any ITP is notified to the application regardless whether the DL flag in the LCW is set or not? Because there is a hint in the USB 3.0 spec that in case the DL flag is set a device may ignore that ITP.
What does the FX3 in such a case?
Fx3 device ignores ITP's with DL bit set.
This cannot be worked around as the silicon is designed that way.