The USB driver works great until I have to send large packets of data to the USB device I am developing. It will get a random number of large packets successfully, and then halfway through one of the large packets, the interrupts will stop firing, and I cannot recover. I need to get to the bottom of why this is happening and I am having a heck of a time.
I will attach a picture showing that data reception randomly stops. On the top, you can see the full packet that our PC tool sent, the bottom left is our custom buffer for the data and on the right is the buffer supplied to the USB device when we set up the USB CDC object. You can see that where it is highlighted is where it breaks down. The disconnect seems to happen between the wire, and the USB device Rx buffer (g_pi8USBRxBuffer); data acquisition appears to stall because interrupts stopped.