From af621ec91bda512fccfe9505ed0a6708335fa9e5 Mon Sep 17 00:00:00 2001 From: Gunar Schorcht Date: Sat, 25 Dec 2021 13:12:16 +0100 Subject: [PATCH] sys/usb/cdc/acm: implementation of stdio_available --- makefiles/stdio.inc.mk | 1 + sys/usb/usbus/cdc/acm/Kconfig | 1 + sys/usb/usbus/cdc/acm/cdc_acm_stdio.c | 7 +++++++ 3 files changed, 9 insertions(+) diff --git a/makefiles/stdio.inc.mk b/makefiles/stdio.inc.mk index 462f902a96..477bb6d97e 100644 --- a/makefiles/stdio.inc.mk +++ b/makefiles/stdio.inc.mk @@ -17,6 +17,7 @@ endif ifneq (,$(filter stdio_cdc_acm,$(USEMODULE))) USEMODULE += usbus_cdc_acm USEMODULE += isrpipe + USEMODULE += stdio_available endif ifneq (,$(filter stdio_rtt,$(USEMODULE))) diff --git a/sys/usb/usbus/cdc/acm/Kconfig b/sys/usb/usbus/cdc/acm/Kconfig index 68a8ea1d1f..42c2866452 100644 --- a/sys/usb/usbus/cdc/acm/Kconfig +++ b/sys/usb/usbus/cdc/acm/Kconfig @@ -58,5 +58,6 @@ config MODULE_STDIO_CDC_ACM bool "CDC ACM" depends on MODULE_USBUS_CDC_ACM select MODULE_ISRPIPE + select MODULE_STDIO_AVAILABLE endchoice diff --git a/sys/usb/usbus/cdc/acm/cdc_acm_stdio.c b/sys/usb/usbus/cdc/acm/cdc_acm_stdio.c index 568eddf703..a145b03412 100644 --- a/sys/usb/usbus/cdc/acm/cdc_acm_stdio.c +++ b/sys/usb/usbus/cdc/acm/cdc_acm_stdio.c @@ -51,6 +51,13 @@ void stdio_init(void) #endif } +#if IS_USED(MODULE_STDIO_AVAILABLE) +int stdio_available(void) +{ + return tsrb_avail(&_cdc_stdio_isrpipe.tsrb); +} +#endif + ssize_t stdio_read(void* buffer, size_t len) { (void)buffer;