Our device has two IN endpoints and one OUT endpoint. EP1 is used for control and status on the device. I am working on sending batches of data to the PC via EP2. After sending bytes over EP2 I can no longer send anything over EP1.
Here is a relative sequence:
EP1 - read control, write status, two way communication via EP1
...
EP1 - read command to send batch of data
EP2 - write batch of data
EP1 - read request for status
EP1 - write status
The PC is not receiving the status and repeatedly sends requests. Each time I get a request I write to EP1 but nothing gets through. None of the USB0 register bits seems out of order (that I can tell since there are a LOT of them...) I've looked at the FIFOs, control and status for endpoint 1, control and status for endpoint 2, etc. EP1 communication works fine until send data over EP2. Then I can receive over EP1 but not send.
Andy ideas? Questions?