提交 328a697c 编写于 作者: liyong_zhang's avatar liyong_zhang

[components][drivers][usb][usb_device][cdc_vcom]: Add 'RT_VCOM_TX_TIMEOUT' to...

[components][drivers][usb][usb_device][cdc_vcom]: Add 'RT_VCOM_TX_TIMEOUT' to configure TX_TIMEOUT whick may block vcom tx thread for a long time.  Add 'RT_VCOM_TASK_STK_SIZE', 'RT_VCOM_TX_USE_DMA', 'RT_VCOM_SERNO', 'RT_VCOM_SER_LEN', 'RT_VCOM_TX_TIMEOUT' to Kconfig
上级 f97e19c5
...@@ -392,6 +392,23 @@ menu "Using USB" ...@@ -392,6 +392,23 @@ menu "Using USB"
bool "Enable to use device as winusb device" bool "Enable to use device as winusb device"
default n default n
endif 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 if RT_USB_DEVICE_WINUSB
config RT_WINUSB_GUID config RT_WINUSB_GUID
string "Guid for winusb" string "Guid for winusb"
......
...@@ -22,7 +22,12 @@ ...@@ -22,7 +22,12 @@
#ifdef RT_USB_DEVICE_CDC #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_RX_BUFSIZE 128
#define CDC_MAX_PACKET_SIZE 64 #define CDC_MAX_PACKET_SIZE 64
#define VCOM_DEVICE "vcom" #define VCOM_DEVICE "vcom"
...@@ -880,7 +885,7 @@ static void vcom_tx_thread_entry(void* parameter) ...@@ -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); 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")); RT_DEBUG_LOG(RT_DEBUG_USB, ("vcom tx timeout\n"));
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册