This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
I am noticing a problem with the delfino and the USB functionality and I need to better understand how it works in hardware and software. I am using the CDC class. When I do a USBBufferRead, it seems to read it in 64 byte chunks, even if the packet I send from my host is bigger (say 200 bytes for example). Where is this limitation coming from? Is this a hardware or software thing? In this case of a 200 byte packet, when I leave the interrupt handler, it will be triggered again to get the remaining data in 64 byte chunks.
The underlying issue here is that when I try and receive a bunch of packets of size > 64 bytes back to back, the interrupts will stop firing and the USB will crash. I need someone to help explain to me the underlying framework and why this might be happening.
Michael,
The CDC protocol uses bulk transfers. Bulk packets are limited to 64 bytes, so if you try to send more data, it will be split up by the host.
We've identified a bug in the USB library that causes the interrupts to stop. We're working on a fix and should be able to provide something in the next few days.
Sorry for the trouble.
Adam,
Please keep me updated on this bug. It sounds like the issue I am having. Feel free to contact me directly.
-Michael