Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
Which reads the data from the USB_cirrentTD.pData.
The issue is that the data seems to be from be one message late. (I have proved this with a USB analyzer).
Let say I'm sending the messages :
What the PSoc see is this :
For some reason, it seems that there is a delay of one message,and the message is queued in the USB_EP0_DR_BASE structure and in the USB_currentTD.pData I read old data.
I proved the above with an USB analyzer, and running the debug in parallel... for example (continuing the example above) I see the message [0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00] on the USB wire, and with the debugger I see that USB_currentTD.pData = 0x49
After the PSoC reset, the first message is always wrong, then the message are consistent, but delayed of one USB message.