summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcomponents/drivers/Kconfig17
-rw-r--r--components/drivers/usb/usbdevice/class/cdc_vcom.c9
2 files changed, 24 insertions, 2 deletions
diff --git a/components/drivers/Kconfig b/components/drivers/Kconfig
index f70ed4961f..f750c1c69b 100755
--- a/components/drivers/Kconfig
+++ b/components/drivers/Kconfig
@@ -392,6 +392,23 @@ menu "Using USB"
bool "Enable to use device as winusb device"
default n
endif
+ if RT_USB_DEVICE_CDC
+ config RT_VCOM_TASK_STK_SIZE
+ int "virtual com thread stack size"
+ default 512
+ config RT_VCOM_TX_USE_DMA
+ bool "Enable to use dma for vcom tx"
+ default n
+ config RT_VCOM_SERNO
+ string "serial number of virtual com"
+ default "32021919830108"
+ config RT_VCOM_SER_LEN
+ int "serial number length of virtual com"
+ default 14
+ config RT_VCOM_TX_TIMEOUT
+ int "tx timeout(ticks) of virtual com"
+ default 1000
+ endif
if RT_USB_DEVICE_WINUSB
config RT_WINUSB_GUID
string "Guid for winusb"
diff --git a/components/drivers/usb/usbdevice/class/cdc_vcom.c b/components/drivers/usb/usbdevice/class/cdc_vcom.c
index c83043314e..336cfcb152 100644
--- a/components/drivers/usb/usbdevice/class/cdc_vcom.c
+++ b/components/drivers/usb/usbdevice/class/cdc_vcom.c
@@ -22,7 +22,12 @@
#ifdef RT_USB_DEVICE_CDC
-#define TX_TIMEOUT 1000
+#ifdef RT_VCOM_TX_TIMEOUT
+#define VCOM_TX_TIMEOUT RT_VCOM_TX_TIMEOUT
+#else /*!RT_VCOM_TX_TIMEOUT*/
+#define VCOM_TX_TIMEOUT 1000
+#endif /*RT_VCOM_TX_TIMEOUT*/
+
#define CDC_RX_BUFSIZE 128
#define CDC_MAX_PACKET_SIZE 64
#define VCOM_DEVICE "vcom"
@@ -880,7 +885,7 @@ static void vcom_tx_thread_entry(void* parameter)
rt_usbd_io_request(func->device, data->ep_in, &data->ep_in->request);
- if (rt_completion_wait(&data->wait, TX_TIMEOUT) != RT_EOK)
+ if (rt_completion_wait(&data->wait, VCOM_TX_TIMEOUT) != RT_EOK)
{
RT_DEBUG_LOG(RT_DEBUG_USB, ("vcom tx timeout\n"));
}