From 28817725fc42df64b409853e002eb1c9d0476cd5 Mon Sep 17 00:00:00 2001 From: Damien George Date: Wed, 16 Apr 2014 23:17:29 +0100 Subject: [PATCH] stmhal: Replace magic number 3 with CDC_IN_EP define. --- stmhal/usbd_cdc_interface.c | 5 +++-- stmhal/usbdev/class/cdc_msc_hid/inc/usbd_cdc_msc_hid.h | 5 +++++ stmhal/usbdev/class/cdc_msc_hid/src/usbd_cdc_msc_hid.c | 3 --- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/stmhal/usbd_cdc_interface.c b/stmhal/usbd_cdc_interface.c index 552f7cc9ec..b81ab11b24 100644 --- a/stmhal/usbd_cdc_interface.c +++ b/stmhal/usbd_cdc_interface.c @@ -265,10 +265,11 @@ void USBD_CDC_HAL_TIM_PeriodElapsedCallback(void) { if (UserTxBufPtrOut != UserTxBufPtrOutShadow) { // We have sent data and are waiting for the low-level USB driver to // finish sending it over the USB in-endpoint. - if (UserTxBufPtrWaitCount < 10) { + // We have a 15 * 10ms = 150ms timeout + if (UserTxBufPtrWaitCount < 15) { PCD_HandleTypeDef *hpcd = hUSBDDevice.pData; USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; - if (USBx_INEP(3)->DIEPTSIZ & USB_OTG_DIEPTSIZ_XFRSIZ) { + if (USBx_INEP(CDC_IN_EP & 0x7f)->DIEPTSIZ & USB_OTG_DIEPTSIZ_XFRSIZ) { // USB in-endpoint is still reading the data UserTxBufPtrWaitCount++; return; diff --git a/stmhal/usbdev/class/cdc_msc_hid/inc/usbd_cdc_msc_hid.h b/stmhal/usbdev/class/cdc_msc_hid/inc/usbd_cdc_msc_hid.h index e1ae578e32..798bdc99db 100644 --- a/stmhal/usbdev/class/cdc_msc_hid/inc/usbd_cdc_msc_hid.h +++ b/stmhal/usbdev/class/cdc_msc_hid/inc/usbd_cdc_msc_hid.h @@ -13,6 +13,11 @@ #define MSC_IN_EP (0x81) #define MSC_OUT_EP (0x01) +// Need to define here for usbd_cdc_interface.c (it needs CDC_IN_EP) +#define CDC_IN_EP (0x83) +#define CDC_OUT_EP (0x03) +#define CDC_CMD_EP (0x82) + // only CDC_MSC and CDC_HID are available #define USBD_MODE_CDC (0x01) #define USBD_MODE_MSC (0x02) diff --git a/stmhal/usbdev/class/cdc_msc_hid/src/usbd_cdc_msc_hid.c b/stmhal/usbdev/class/cdc_msc_hid/src/usbd_cdc_msc_hid.c index 6dc0af0e65..aa8c0c80cf 100644 --- a/stmhal/usbdev/class/cdc_msc_hid/src/usbd_cdc_msc_hid.c +++ b/stmhal/usbdev/class/cdc_msc_hid/src/usbd_cdc_msc_hid.c @@ -4,9 +4,6 @@ #define USB_CDC_MSC_CONFIG_DESC_SIZ (98) #define USB_CDC_HID_CONFIG_DESC_SIZ (100) #define CDC_IFACE_NUM (1) -#define CDC_IN_EP (0x83) -#define CDC_OUT_EP (0x03) -#define CDC_CMD_EP (0x82) #define MSC_IFACE_NUM (0) #define HID_IFACE_NUM_WITH_CDC (0) #define HID_IFACE_NUM_WITH_MSC (1)