diff options
| author | Damien George <damien.p.george@gmail.com> | 2018-02-01 17:57:44 +1100 |
|---|---|---|
| committer | Damien George <damien.p.george@gmail.com> | 2018-02-01 17:57:44 +1100 |
| commit | db702ba722fdf266a653d885e568c0088d109d13 (patch) | |
| tree | 365f5a629b1c07801cbbe89a6b23d848019729b9 /ports/stm32/usbd_cdc_interface.c | |
| parent | 71312d0bd10d47e958cca71ed6f6ce5bbdc93f88 (diff) | |
stm32/usbdev: Add support for high-speed USB device mode.
This patch adds support in the USBD configuration and CDC-MSC-HID class for
high-speed USB mode. To enable it the board configuration must define
USE_USB_HS, and either not define USE_USB_HS_IN_FS, or be an STM32F723 or
STM32F733 MCU which have a built-in HS PHY. High-speed mode is then
selected dynamically by passing "high_speed=True" to the pyb.usb_mode()
function, otherwise it defaults to full-speed mode.
This patch has been tested on an STM32F733.
Diffstat (limited to 'ports/stm32/usbd_cdc_interface.c')
| -rw-r--r-- | ports/stm32/usbd_cdc_interface.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ports/stm32/usbd_cdc_interface.c b/ports/stm32/usbd_cdc_interface.c index 2e9fba917..23085510c 100644 --- a/ports/stm32/usbd_cdc_interface.c +++ b/ports/stm32/usbd_cdc_interface.c @@ -198,7 +198,7 @@ void HAL_PCD_SOFCallback(PCD_HandleTypeDef *hpcd) { // the host waits for all data to arrive (ie, waits for a packet < max packet size). // To flush a packet of exactly max packet size, we need to send a zero-size packet. // See eg http://www.cypress.com/?id=4&rID=92719 - cdc->tx_need_empty_packet = (buffsize > 0 && buffsize % CDC_DATA_FS_MAX_PACKET_SIZE == 0 && cdc->tx_buf_ptr_out_shadow == cdc->tx_buf_ptr_in); + cdc->tx_need_empty_packet = (buffsize > 0 && buffsize % usbd_cdc_max_packet(usbd->pdev) == 0 && cdc->tx_buf_ptr_out_shadow == cdc->tx_buf_ptr_in); } } } |
