usb: cdc_acm: disable logging if used for shell with logging
This prevents recursive logging loop when USB CDC ACM is used for shell with logging. Change affects both USB stacks. Signed-off-by: Xudong Zheng <7pkvm5aw@slicealias.com>
This commit is contained in:
parent
2a67664c55
commit
e8c4867806
2 changed files with 13 additions and 9 deletions
|
|
@ -56,15 +56,17 @@
|
||||||
/* definitions */
|
/* definitions */
|
||||||
|
|
||||||
#include <zephyr/logging/log.h>
|
#include <zephyr/logging/log.h>
|
||||||
#if DT_NODE_HAS_COMPAT(DT_CHOSEN(zephyr_console), zephyr_cdc_acm_uart) \
|
|
||||||
&& defined(CONFIG_LOG_BACKEND_UART) \
|
|
||||||
&& defined(CONFIG_USB_CDC_ACM_LOG_LEVEL) \
|
|
||||||
&& CONFIG_USB_CDC_ACM_LOG_LEVEL != LOG_LEVEL_NONE
|
|
||||||
/* Prevent endless recursive logging loop and warn user about it */
|
/* Prevent endless recursive logging loop and warn user about it */
|
||||||
|
#if defined(CONFIG_USB_CDC_ACM_LOG_LEVEL) && CONFIG_USB_CDC_ACM_LOG_LEVEL != LOG_LEVEL_NONE
|
||||||
|
#define CHOSEN_CONSOLE DT_NODE_HAS_COMPAT(DT_CHOSEN(zephyr_console), zephyr_cdc_acm_uart)
|
||||||
|
#define CHOSEN_SHELL DT_NODE_HAS_COMPAT(DT_CHOSEN(zephyr_shell_uart), zephyr_cdc_acm_uart)
|
||||||
|
#if (CHOSEN_CONSOLE && defined(CONFIG_LOG_BACKEND_UART)) || \
|
||||||
|
(CHOSEN_SHELL && defined(CONFIG_SHELL_LOG_BACKEND))
|
||||||
#warning "USB_CDC_ACM_LOG_LEVEL forced to LOG_LEVEL_NONE"
|
#warning "USB_CDC_ACM_LOG_LEVEL forced to LOG_LEVEL_NONE"
|
||||||
#undef CONFIG_USB_CDC_ACM_LOG_LEVEL
|
#undef CONFIG_USB_CDC_ACM_LOG_LEVEL
|
||||||
#define CONFIG_USB_CDC_ACM_LOG_LEVEL LOG_LEVEL_NONE
|
#define CONFIG_USB_CDC_ACM_LOG_LEVEL LOG_LEVEL_NONE
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
LOG_MODULE_REGISTER(usb_cdc_acm, CONFIG_USB_CDC_ACM_LOG_LEVEL);
|
LOG_MODULE_REGISTER(usb_cdc_acm, CONFIG_USB_CDC_ACM_LOG_LEVEL);
|
||||||
|
|
||||||
/* 115200bps, no parity, 1 stop bit, 8bit char */
|
/* 115200bps, no parity, 1 stop bit, 8bit char */
|
||||||
|
|
|
||||||
|
|
@ -21,15 +21,17 @@
|
||||||
#include "usbd_msg.h"
|
#include "usbd_msg.h"
|
||||||
|
|
||||||
#include <zephyr/logging/log.h>
|
#include <zephyr/logging/log.h>
|
||||||
#if DT_NODE_HAS_COMPAT(DT_CHOSEN(zephyr_console), zephyr_cdc_acm_uart) \
|
|
||||||
&& defined(CONFIG_LOG_BACKEND_UART) \
|
|
||||||
&& defined(CONFIG_USBD_CDC_ACM_LOG_LEVEL) \
|
|
||||||
&& CONFIG_USBD_CDC_ACM_LOG_LEVEL != LOG_LEVEL_NONE
|
|
||||||
/* Prevent endless recursive logging loop and warn user about it */
|
/* Prevent endless recursive logging loop and warn user about it */
|
||||||
#warning "USB_CDC_ACM_LOG_LEVEL forced to LOG_LEVEL_NONE"
|
#if defined(CONFIG_USBD_CDC_ACM_LOG_LEVEL) && CONFIG_USBD_CDC_ACM_LOG_LEVEL != LOG_LEVEL_NONE
|
||||||
|
#define CHOSEN_CONSOLE DT_NODE_HAS_COMPAT(DT_CHOSEN(zephyr_console), zephyr_cdc_acm_uart)
|
||||||
|
#define CHOSEN_SHELL DT_NODE_HAS_COMPAT(DT_CHOSEN(zephyr_shell_uart), zephyr_cdc_acm_uart)
|
||||||
|
#if (CHOSEN_CONSOLE && defined(CONFIG_LOG_BACKEND_UART)) || \
|
||||||
|
(CHOSEN_SHELL && defined(CONFIG_SHELL_LOG_BACKEND))
|
||||||
|
#warning "USBD_CDC_ACM_LOG_LEVEL forced to LOG_LEVEL_NONE"
|
||||||
#undef CONFIG_USBD_CDC_ACM_LOG_LEVEL
|
#undef CONFIG_USBD_CDC_ACM_LOG_LEVEL
|
||||||
#define CONFIG_USBD_CDC_ACM_LOG_LEVEL LOG_LEVEL_NONE
|
#define CONFIG_USBD_CDC_ACM_LOG_LEVEL LOG_LEVEL_NONE
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
LOG_MODULE_REGISTER(usbd_cdc_acm, CONFIG_USBD_CDC_ACM_LOG_LEVEL);
|
LOG_MODULE_REGISTER(usbd_cdc_acm, CONFIG_USBD_CDC_ACM_LOG_LEVEL);
|
||||||
|
|
||||||
UDC_BUF_POOL_DEFINE(cdc_acm_ep_pool,
|
UDC_BUF_POOL_DEFINE(cdc_acm_ep_pool,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue