From e525e231435a4ef4bef5e23e16b54205f4778711 Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Thu, 11 Nov 2021 14:13:55 +0100 Subject: [PATCH] drivers/dfplayer: add no_strerror option to Kconfig --- drivers/dfplayer/Kconfig | 13 ++++++++++++- drivers/dfplayer/Makefile.include | 2 +- sys/shell/commands/sc_dfplayer.c | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/drivers/dfplayer/Kconfig b/drivers/dfplayer/Kconfig index 1e72cdcce4..a59d6342d4 100644 --- a/drivers/dfplayer/Kconfig +++ b/drivers/dfplayer/Kconfig @@ -5,7 +5,7 @@ # directory for more details. # -config MODULE_DFPLAYER +menuconfig MODULE_DFPLAYER bool "DFPlayer Mini MP3 Player" depends on HAS_PERIPH_UART depends on HAS_PERIPH_GPIO @@ -16,3 +16,14 @@ config MODULE_DFPLAYER select HAVE_MULTIMEDIA_DEVICE # Perhaps this could be moved to its own symbol to enable the dfplayer commands select MODULE_FMT if MODULE_SHELL_COMMANDS + +config DFPLAYER_NO_STRERROR + bool + prompt "Avoid using strerror in shell command" if !(HAS_ARCH_AVR8 || HAS_ARCH_MSP430) + depends on MODULE_DFPLAYER + depends on MODULE_SHELL_COMMANDS + # no strerror() on AVR and MSP430 + default y if (HAS_ARCH_AVR8 || HAS_ARCH_MSP430) + help + Say y to print error codes as numbers when using the shell, instead of the corresponding + standard error string. diff --git a/drivers/dfplayer/Makefile.include b/drivers/dfplayer/Makefile.include index 375b43386a..a5fb5c0bda 100644 --- a/drivers/dfplayer/Makefile.include +++ b/drivers/dfplayer/Makefile.include @@ -3,5 +3,5 @@ USEMODULE_INCLUDES += $(USEMODULE_INCLUDES_dfplayer) ifneq (,$(filter arch_avr8 arch_msp430,$(FEATURES_USED))) # no strerror() on AVR and MSP430 - CFLAGS += -DDFPLAYER_NO_STRERROR + CFLAGS += -DCONFIG_DFPLAYER_NO_STRERROR endif diff --git a/sys/shell/commands/sc_dfplayer.c b/sys/shell/commands/sc_dfplayer.c index 8c5a54040b..45fdc69d5d 100644 --- a/sys/shell/commands/sc_dfplayer.c +++ b/sys/shell/commands/sc_dfplayer.c @@ -56,7 +56,7 @@ static const char *_states[] = { static void _print_error(int retval) { print_str("Error: "); -#ifdef DFPLAYER_NO_STRERROR +#ifdef CONFIG_DFPLAYER_NO_STRERROR print_s32_dec(retval); #else print_str(strerror(-retval));