raspberrypi / pico-extras

BSD 3-Clause "New" or "Revised" License
480 stars 120 forks source link

usb_device.c: Fix EP buffer size limitation for isochronous endpoints #78

Open maximus64 opened 4 months ago

maximus64 commented 4 months ago

The buffer size for USB endpoints was previously limited by the endpoints buffer stride, which is 128 bytes * 2 for isochronous endpoints and 64 bytes for bulk transfers.

According to the USB full-speed specification, the maximum frame size can go up to 1023 bytes. The RP2040 microcontroller has 4KB of DPSRAM, which can support this maximum frame size.

This commit removes the 128 bytes * 2 limitation for isochronous endpoints, allowing support for the full 1023-byte frame size.