Browse Source

shell: add Kconfig option for configurable autoflush behavior

Introduced a new Kconfig option `SHELL_PRINTF_AUTOFLUSH` to allow
configuring the autoflush behavior of shell printing functions.

Updated `Z_SHELL_FPRINTF_DEFINE` to use the
`CONFIG_SHELL_PRINTF_AUTOFLUSH` setting instead of hardcoding
the autoflush behavior to `true`.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@verkada.com>
(cherry picked from commit 8991b954bc)
pull/85049/head
Jakub Rzeszutko 6 months ago committed by Dan Kalowsky
parent
commit
98a1a1510c
  1. 2
      include/zephyr/shell/shell.h
  2. 7
      subsys/shell/Kconfig

2
include/zephyr/shell/shell.h

@ -930,7 +930,7 @@ extern void z_shell_print_stream(const void *user_ctx, const char *data, @@ -930,7 +930,7 @@ extern void z_shell_print_stream(const void *user_ctx, const char *data,
static struct shell_ctx UTIL_CAT(_name, _ctx); \
Z_SHELL_HISTORY_DEFINE(_name##_history, CONFIG_SHELL_HISTORY_BUFFER); \
Z_SHELL_FPRINTF_DEFINE(_name##_fprintf, &_name, _out_buf, CONFIG_SHELL_PRINTF_BUFF_SIZE, \
true, z_shell_print_stream); \
IS_ENABLED(CONFIG_SHELL_PRINTF_AUTOFLUSH), z_shell_print_stream); \
LOG_INSTANCE_REGISTER(shell, _name, CONFIG_SHELL_LOG_LEVEL); \
Z_SHELL_STATS_DEFINE(_name); \
static K_KERNEL_STACK_DEFINE(_name##_stack, CONFIG_SHELL_STACK_SIZE); \

7
subsys/shell/Kconfig

@ -89,6 +89,13 @@ config SHELL_PRINTF_BUFF_SIZE @@ -89,6 +89,13 @@ config SHELL_PRINTF_BUFF_SIZE
It is working like stdio buffering in Linux systems
to limit number of peripheral access calls.
config SHELL_PRINTF_AUTOFLUSH
bool "Indicate if the buffer should be automatically flushed"
default y
help
Specify whether the shell's printing functions should automatically
flush the printf buffer.
config SHELL_DEFAULT_TERMINAL_WIDTH
int "Default terminal width"
range 1 $(UINT16_MAX)

Loading…
Cancel
Save