diff options
| author | hathach <[email protected]> | 2021-01-08 22:34:36 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2021-01-08 22:34:36 +0700 |
| commit | 6e6e6265e4feb797ddbd835dc1bee865d04219e6 (patch) | |
| tree | b2d1009368cfc9c2a0a0999b869fa22cf51eba95 /src/device | |
| parent | fb896be201602ce38105a934d3a59886b46d1268 (diff) | |
use dcd_event_bus_reset() with speed to replace bus_signal
Diffstat (limited to 'src/device')
| -rw-r--r-- | src/device/usbd.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/device/usbd.c b/src/device/usbd.c index 791d533ae..f6b00563d 100644 --- a/src/device/usbd.c +++ b/src/device/usbd.c @@ -1103,6 +1103,24 @@ bool usbd_edpt_open(uint8_t rhport, tusb_desc_endpoint_t const * desc_ep) { TU_LOG2(" Open EP %02X with Size = %u\r\n", desc_ep->bEndpointAddress, desc_ep->wMaxPacketSize.size); + if (TUSB_XFER_ISOCHRONOUS == desc_ep->bmAttributes.xfer) + { + TU_ASSERT(desc_ep->wMaxPacketSize.size <= (_usbd_dev.speed == TUSB_SPEED_HIGH ? 1024 : 1023)); + } + else + { + uint16_t const max_epsize = (_usbd_dev.speed == TUSB_SPEED_HIGH ? 512 : 64); + + if (TUSB_XFER_BULK == desc_ep->bmAttributes.xfer) + { + // Bulk must be EXACTLY 512/64 bytes + TU_ASSERT(desc_ep->wMaxPacketSize.size == max_epsize); + }else + { + TU_ASSERT(desc_ep->wMaxPacketSize.size <= max_epsize); + } + } + return dcd_edpt_open(rhport, desc_ep); } |
