USB (manual memory management) maximum transfer size | Cypress Semiconductor
USB (manual memory management) maximum transfer size
I'm looking for some clarification on the maximum amount of data that can be transferred in a single USB_LoadInEP() call.
The TRM states what the maximum packet size is in the various USB configuration modes, but that does not necessarily equate to an API call. I understand that in manual mode, the maximum packet size (wMaxPacket in the USB endpoint descriptor) is 64 bytes. Is it therefore safe to assume that the maximum amount of data that can be sent in a single USB_LoadInEP() call is whatever this value is set to? If I need to send more data, do I break up the data into multiple wMaxPacket chunks? i.e. can I get confirmation the API will *not* break up large transfers for me? If I'm sending *exactly* wMaxPacket bytes, do I have to send a zero length packet after sending wMaxPacket bytes?