Setup
- Cypress Development Board, with FX1
- out bulk transfer on EP6 - double buffering
- ports I/O (IFCONFIG:0.1 = 00b)
Firmware is based upon the samplecode 'bulkloop' supplied with the Development Board. Extract from ISR_EP6inout: { .... EP6BCL = 64; // write anything to BC to allow EP to be written to again EZUSB_IRQ_CLEAR(); // Clear USB interrupt EPIRQ = bmEPIRQ_EP6; }
Problem
- only the first 2 out packets generate an EP6inout interupt on the usb-device
- the following transfers (third, fourth, aso) generate a time-out
Question It seems like the endpoint is not re-armed. When changing to triple buffering one more packet is transferred. The same occurs when using quadruple buffering: 4 packets are transferred, the next packets are blocked. What must be changed on the configuration and/or re-arming to allow more packets to be send?