FX3 SDK: Need an alternative CyU3PUsbGetEP0Data suppressing STATUS stage | Cypress Semiconductor
FX3 SDK: Need an alternative CyU3PUsbGetEP0Data suppressing STATUS stage
I have recently migrated from FX2 to FX3, and now I struggle with how to receive the result of vendor requests. The most efficient means for just telling success or failure is the STATUS stage.
The FX2 has had a register bit "HSNAK" that caused the STATUS stage of a vendor request to be postponed, e.g. until the firmware has completed data processing.
The FX3 SDK lacks of such a feature. As soon as OUT Data have been "fetched" (CyU3PUsbGetEP0Data) it sends out ACK in the STATUS stage.
Can by any means the FX2 behaviour be ported to FX3? I have found register bits like DEV_EPO_CS.NAK (bit 15) or PROT_EPO_CS1.NRDY (bit 1). Are they appropriate for the STATUS stage?
Unfortunately, a distinct "HSNAK" bit especially for STATUS stage is missing. I understand that there is a race condition when the firmware tries to set NAK bits after the DATA stage of a control transfer. Is there a way to ensure that the firmware wins this race?
Thanks, and Best Regards