diff --git a/Makefile.dep b/Makefile.dep index 12fdaa68cbf1..a5fcadd42a6e 100644 --- a/Makefile.dep +++ b/Makefile.dep @@ -401,6 +401,12 @@ ifneq (,$(filter shell,$(USEMODULE))) USEMODULE += stdin endif +ifneq (,$(filter stdio_ethos,$(USEMODULE))) + USEMODULE += ethos + USEMODULE += stdin + USEMODULE += stdio_uart +endif + ifneq (,$(filter stdin,$(USEMODULE))) ifneq (,$(filter stdio_uart,$(USEMODULE))) USEMODULE += stdio_uart_rx diff --git a/dist/tools/ethos/README.md b/dist/tools/ethos/README.md index 36a23102992e..e7fccabfb1f5 100644 --- a/dist/tools/ethos/README.md +++ b/dist/tools/ethos/README.md @@ -8,8 +8,8 @@ To use, add # GNRC_NETIF_NUMOF := 2 - USEMODULE += ethos gnrc_netdev - CFLAGS += '-DETHOS_UART=UART_DEV(0)' -DETHOS_BAUDRATE=115200 -DUSE_ETHOS_FOR_STDIO + USEMODULE += stdio_ethos gnrc_netdev + CFLAGS += '-DETHOS_UART=UART_DEV(0)' -DETHOS_BAUDRATE=115200 -to app Makefile, "make clean all flash", then run this tool so follows: +to app Makefile, "make clean all flash", then run this tool as follows: # sudo ./ethos diff --git a/drivers/ethos/ethos.c b/drivers/ethos/ethos.c index de636a422aef..b7707e138dae 100644 --- a/drivers/ethos/ethos.c +++ b/drivers/ethos/ethos.c @@ -34,6 +34,10 @@ #include "net/ethernet.h" #ifdef USE_ETHOS_FOR_STDIO +#error USE_ETHOS_FOR_STDIO is deprecated, use USEMODULE+=stdio_ethos instead +#endif + +#ifdef MODULE_STDIO_ETHOS #include "stdio_uart.h" #include "isrpipe.h" extern isrpipe_t stdio_uart_isrpipe; @@ -104,7 +108,7 @@ static void _handle_char(ethos_t *dev, char c) _reset_state(dev); } break; -#ifdef USE_ETHOS_FOR_STDIO +#ifdef MODULE_STDIO_ETHOS case ETHOS_FRAME_TYPE_TEXT: dev->framesize++; isrpipe_write_one(&stdio_uart_isrpipe, c); diff --git a/drivers/include/ethos.h b/drivers/include/ethos.h index 768284c67ca5..fdc4408d3955 100644 --- a/drivers/include/ethos.h +++ b/drivers/include/ethos.h @@ -34,7 +34,7 @@ extern "C" { #endif /* if using ethos + stdio, use STDIO_UART values unless overridden */ -#ifdef USE_ETHOS_FOR_STDIO +#ifdef MODULE_STDIO_ETHOS #include "stdio_uart.h" #ifndef ETHOS_UART #define ETHOS_UART STDIO_UART_DEV diff --git a/examples/gnrc_border_router/Makefile b/examples/gnrc_border_router/Makefile index 82f8f7ff945a..da4089ad588d 100644 --- a/examples/gnrc_border_router/Makefile +++ b/examples/gnrc_border_router/Makefile @@ -28,11 +28,11 @@ BOARD_BLACKLIST += mips-malta pic32-wifire pic32-clicker ruuvitag thingy52 # UART, but not on native, as native has a tap interface towards the host. ifeq (,$(filter native,$(BOARD))) GNRC_NETIF_NUMOF := 2 - USEMODULE += ethos + USEMODULE += stdio_ethos # ethos baudrate can be configured from make command ETHOS_BAUDRATE ?= 115200 - CFLAGS += -DETHOS_BAUDRATE=$(ETHOS_BAUDRATE) -DUSE_ETHOS_FOR_STDIO + CFLAGS += -DETHOS_BAUDRATE=$(ETHOS_BAUDRATE) else GNRC_NETIF_NUMOF := 2 TERMFLAGS += -z [::1]:17754 diff --git a/examples/gnrc_border_router/README.md b/examples/gnrc_border_router/README.md index b9bb82613df5..ccefaeda328a 100644 --- a/examples/gnrc_border_router/README.md +++ b/examples/gnrc_border_router/README.md @@ -95,8 +95,8 @@ has the following: ```make ifeq (,$(filter native,$(BOARD))) GNRC_NETIF_NUMOF := 2 -USEMODULE += ethos -CFLAGS += '-DETHOS_UART=UART_DEV(0)' -DETHOS_BAUDRATE=115200 -DUSE_ETHOS_FOR_STDIO +USEMODULE += stdio_ethos +CFLAGS += '-DETHOS_UART=UART_DEV(0)' -DETHOS_BAUDRATE=115200 FEATURES_REQUIRED += periph_uart endif # include UHCP client diff --git a/makefiles/pseudomodules.inc.mk b/makefiles/pseudomodules.inc.mk index 70d47865a2c5..400036730d1e 100644 --- a/makefiles/pseudomodules.inc.mk +++ b/makefiles/pseudomodules.inc.mk @@ -74,6 +74,7 @@ PSEUDOMODULES += sock_ip PSEUDOMODULES += sock_tcp PSEUDOMODULES += sock_udp PSEUDOMODULES += stdin +PSEUDOMODULES += stdio_ethos PSEUDOMODULES += stdio_uart_rx # print ascii representation in function od_hex_dump() diff --git a/sys/stdio_uart/stdio_uart.c b/sys/stdio_uart/stdio_uart.c index 031f6d23195d..60eb1a83bb0e 100644 --- a/sys/stdio_uart/stdio_uart.c +++ b/sys/stdio_uart/stdio_uart.c @@ -35,7 +35,7 @@ #include "periph/uart.h" #include "isrpipe.h" -#ifdef USE_ETHOS_FOR_STDIO +#ifdef MODULE_STDIO_ETHOS #include "ethos.h" extern ethos_t ethos; #endif @@ -61,18 +61,16 @@ void stdio_init(void) cb = (uart_rx_cb_t) isrpipe_write_one; arg = &stdio_uart_isrpipe; #else -#ifdef USE_ETHOS_FOR_STDIO -#error "ethos needs stdio_uart_rx" -#endif cb = NULL; arg = NULL; #endif -#ifndef USE_ETHOS_FOR_STDIO - uart_init(STDIO_UART_DEV, STDIO_UART_BAUDRATE, cb, arg); -#else +#ifdef MODULE_STDIO_ETHOS uart_init(ETHOS_UART, ETHOS_BAUDRATE, cb, arg); +#else + uart_init(STDIO_UART_DEV, STDIO_UART_BAUDRATE, cb, arg); #endif + #if MODULE_VFS vfs_bind_stdio(); #endif @@ -91,10 +89,10 @@ ssize_t stdio_read(void* buffer, size_t count) ssize_t stdio_write(const void* buffer, size_t len) { -#ifndef USE_ETHOS_FOR_STDIO - uart_write(STDIO_UART_DEV, (const uint8_t *)buffer, len); -#else +#ifdef MODULE_STDIO_ETHOS ethos_send_frame(ðos, (const uint8_t *)buffer, len, ETHOS_FRAME_TYPE_TEXT); +#else + uart_write(STDIO_UART_DEV, (const uint8_t *)buffer, len); #endif return len; } diff --git a/tests/gnrc_ipv6_ext/Makefile b/tests/gnrc_ipv6_ext/Makefile index 009a309074b1..34f986f4d4d9 100644 --- a/tests/gnrc_ipv6_ext/Makefile +++ b/tests/gnrc_ipv6_ext/Makefile @@ -21,10 +21,10 @@ ifeq (native,$(BOARD)) TERMFLAGS ?= $(TAP) else - USEMODULE += ethos + USEMODULE += stdio_ethos ETHOS_BAUDRATE ?= 115200 - CFLAGS += -DETHOS_BAUDRATE=$(ETHOS_BAUDRATE) -DUSE_ETHOS_FOR_STDIO + CFLAGS += -DETHOS_BAUDRATE=$(ETHOS_BAUDRATE) TERMDEPS += ethos TERMPROG ?= sudo $(RIOTTOOLS)/ethos/ethos TERMFLAGS ?= $(TAP) $(PORT) $(ETHOS_BAUDRATE) diff --git a/tests/gnrc_rpl_srh/Makefile b/tests/gnrc_rpl_srh/Makefile index 098caf6be454..4d2f5b2e38c6 100644 --- a/tests/gnrc_rpl_srh/Makefile +++ b/tests/gnrc_rpl_srh/Makefile @@ -24,10 +24,10 @@ ifeq (native,$(BOARD)) TERMFLAGS ?= $(TAP) else - USEMODULE += ethos + USEMODULE += stdio_ethos ETHOS_BAUDRATE ?= 115200 - CFLAGS += -DETHOS_BAUDRATE=$(ETHOS_BAUDRATE) -DUSE_ETHOS_FOR_STDIO + CFLAGS += -DETHOS_BAUDRATE=$(ETHOS_BAUDRATE) TERMDEPS += ethos TERMPROG ?= sudo $(RIOTTOOLS)/ethos/ethos TERMFLAGS ?= $(TAP) $(PORT) $(ETHOS_BAUDRATE) diff --git a/tests/gnrc_sock_dns/Makefile b/tests/gnrc_sock_dns/Makefile index 435acea851ea..006ac7dab3a0 100644 --- a/tests/gnrc_sock_dns/Makefile +++ b/tests/gnrc_sock_dns/Makefile @@ -25,10 +25,10 @@ ifeq (native,$(BOARD)) TERMFLAGS ?= $(TAP) else - USEMODULE += ethos + USEMODULE += stdio_ethos ETHOS_BAUDRATE ?= 115200 - CFLAGS += -DETHOS_BAUDRATE=$(ETHOS_BAUDRATE) -DUSE_ETHOS_FOR_STDIO + CFLAGS += -DETHOS_BAUDRATE=$(ETHOS_BAUDRATE) TERMDEPS += ethos TERMPROG ?= sudo $(RIOTTOOLS)/ethos/ethos TERMFLAGS ?= $(TAP) $(PORT) $(ETHOS_BAUDRATE) diff --git a/tests/riotboot_flashwrite/Makefile b/tests/riotboot_flashwrite/Makefile index 32f127d70c63..9fe4200fa086 100644 --- a/tests/riotboot_flashwrite/Makefile +++ b/tests/riotboot_flashwrite/Makefile @@ -39,11 +39,11 @@ LOW_MEMORY_BOARDS := nucleo-f334r8 GNRC_NETIF_NUMOF := 2 # uncomment these to use ethos -#USEMODULE += ethos gnrc_uhcpc +#USEMODULE += stdio_ethos gnrc_uhcpc # ## ethos baudrate can be configured from make command #ETHOS_BAUDRATE ?= 115200 -#CFLAGS += -DETHOS_BAUDRATE=$(ETHOS_BAUDRATE) -DUSE_ETHOS_FOR_STDIO +#CFLAGS += -DETHOS_BAUDRATE=$(ETHOS_BAUDRATE) ifneq (,$(filter $(BOARD),$(LOW_MEMORY_BOARDS))) $(info Using low-memory configuration for microcoap_server.)