From cd3ac726d9645e5f62ecd021d7d3db250eb313c2 Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Thu, 13 Feb 2020 16:55:37 +0100 Subject: [PATCH 1/3] usbus/cdc/acm: Move USBUS_CDC_ACM_STDIO_BUF_SIZE to 'CONFIG_' namespace --- sys/include/usb/usbus/cdc/acm.h | 4 ++-- sys/usb/usbus/cdc/acm/cdc_acm_stdio.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/include/usb/usbus/cdc/acm.h b/sys/include/usb/usbus/cdc/acm.h index 8bd2f09c48..231d018446 100644 --- a/sys/include/usb/usbus/cdc/acm.h +++ b/sys/include/usb/usbus/cdc/acm.h @@ -46,8 +46,8 @@ extern "C" { * @brief Buffer size for STDIN and STDOUT data to and from USB when using * the USBUS_CDC_ACM_STDIO module */ -#ifndef USBUS_CDC_ACM_STDIO_BUF_SIZE -#define USBUS_CDC_ACM_STDIO_BUF_SIZE (128) +#ifndef CONFIG_USBUS_CDC_ACM_STDIO_BUF_SIZE +#define CONFIG_USBUS_CDC_ACM_STDIO_BUF_SIZE (128) #endif /** diff --git a/sys/usb/usbus/cdc/acm/cdc_acm_stdio.c b/sys/usb/usbus/cdc/acm/cdc_acm_stdio.c index a14dc1a073..9b133c15e8 100644 --- a/sys/usb/usbus/cdc/acm/cdc_acm_stdio.c +++ b/sys/usb/usbus/cdc/acm/cdc_acm_stdio.c @@ -38,8 +38,8 @@ #endif static usbus_cdcacm_device_t cdcacm; -static uint8_t _cdc_tx_buf_mem[USBUS_CDC_ACM_STDIO_BUF_SIZE]; -static uint8_t _cdc_rx_buf_mem[USBUS_CDC_ACM_STDIO_BUF_SIZE]; +static uint8_t _cdc_tx_buf_mem[CONFIG_USBUS_CDC_ACM_STDIO_BUF_SIZE]; +static uint8_t _cdc_rx_buf_mem[CONFIG_USBUS_CDC_ACM_STDIO_BUF_SIZE]; static isrpipe_t _cdc_stdio_isrpipe = ISRPIPE_INIT(_cdc_rx_buf_mem); void stdio_init(void) From 51c4f119a54385f3bfad400026917b90ad83b541 Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Thu, 13 Feb 2020 17:09:25 +0100 Subject: [PATCH 2/3] usbus/cdc/acm: Move USBUS_CDC_ACM_BULK_EP_SIZE to 'CONFIG_' namespace --- sys/include/usb/usbus/cdc/acm.h | 4 ++-- sys/usb/usbus/cdc/acm/cdc_acm.c | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/include/usb/usbus/cdc/acm.h b/sys/include/usb/usbus/cdc/acm.h index 231d018446..7f82fbb904 100644 --- a/sys/include/usb/usbus/cdc/acm.h +++ b/sys/include/usb/usbus/cdc/acm.h @@ -53,8 +53,8 @@ extern "C" { /** * @brief USB CDC ACM bulk endpoint size */ -#ifndef USBUS_CDC_ACM_BULK_EP_SIZE -#define USBUS_CDC_ACM_BULK_EP_SIZE (64) +#ifndef CONFIG_USBUS_CDC_ACM_BULK_EP_SIZE +#define CONFIG_USBUS_CDC_ACM_BULK_EP_SIZE (64) #endif /** @} */ diff --git a/sys/usb/usbus/cdc/acm/cdc_acm.c b/sys/usb/usbus/cdc/acm/cdc_acm.c index df79b99b0c..fd9ed9eae2 100644 --- a/sys/usb/usbus/cdc/acm/cdc_acm.c +++ b/sys/usb/usbus/cdc/acm/cdc_acm.c @@ -232,14 +232,14 @@ static void _init(usbus_t *usbus, usbus_handler_t *handler) usbus_enable_endpoint(ep); ep = usbus_add_endpoint(usbus, &cdcacm->iface_data, USB_EP_TYPE_BULK, USB_EP_DIR_IN, - USBUS_CDC_ACM_BULK_EP_SIZE); + CONFIG_USBUS_CDC_ACM_BULK_EP_SIZE); ep->interval = 0; /* Interval is not used with bulk endpoints */ usbus_enable_endpoint(ep); /* Store the endpoint reference to activate it * when DTE present is signalled by the host */ ep = usbus_add_endpoint(usbus, &cdcacm->iface_data, USB_EP_TYPE_BULK, USB_EP_DIR_OUT, - USBUS_CDC_ACM_BULK_EP_SIZE); + CONFIG_USBUS_CDC_ACM_BULK_EP_SIZE); ep->interval = 0; /* Interval is not used with bulk endpoints */ usbus_enable_endpoint(ep); @@ -319,12 +319,12 @@ static void _handle_in(usbus_cdcacm_device_t *cdcacm, (cdcacm->state != USBUS_CDC_ACM_LINE_STATE_DTE)) { return; } - /* copy at most USBUS_CDC_ACM_BULK_EP_SIZE chars from input into ep->buf */ + /* copy at most CONFIG_USBUS_CDC_ACM_BULK_EP_SIZE chars from input into ep->buf */ unsigned old = irq_disable(); while (!tsrb_empty(&cdcacm->tsrb)) { int c = tsrb_get_one(&cdcacm->tsrb); ep->buf[cdcacm->occupied++] = (uint8_t)c; - if (cdcacm->occupied >= USBUS_CDC_ACM_BULK_EP_SIZE) { + if (cdcacm->occupied >= CONFIG_USBUS_CDC_ACM_BULK_EP_SIZE) { break; } } From 934bede70e767508a5be832298dd2b86cee4d5b4 Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Thu, 13 Feb 2020 17:10:27 +0100 Subject: [PATCH 3/3] usbus/cdc/acm: Expose configurations to Kconfig --- sys/include/usb/usbus/cdc/acm.h | 13 ++++++++++ sys/usb/usbus/Kconfig | 2 ++ sys/usb/usbus/cdc/Kconfig | 1 + sys/usb/usbus/cdc/acm/Kconfig | 46 +++++++++++++++++++++++++++++++++ 4 files changed, 62 insertions(+) create mode 100644 sys/usb/usbus/cdc/Kconfig create mode 100644 sys/usb/usbus/cdc/acm/Kconfig diff --git a/sys/include/usb/usbus/cdc/acm.h b/sys/include/usb/usbus/cdc/acm.h index 7f82fbb904..6eba372af3 100644 --- a/sys/include/usb/usbus/cdc/acm.h +++ b/sys/include/usb/usbus/cdc/acm.h @@ -46,6 +46,9 @@ extern "C" { * @brief Buffer size for STDIN and STDOUT data to and from USB when using * the USBUS_CDC_ACM_STDIO module */ +#ifdef CONFIG_USBUS_CDC_ACM_STDIO_BUF_SIZE_EXP +#define CONFIG_USBUS_CDC_ACM_STDIO_BUF_SIZE (1<