You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
341 lines
9.6 KiB
341 lines
9.6 KiB
# Shell configuration options |
|
|
|
# Copyright (c) 2014-2015 Wind River Systems, Inc. |
|
# Copyright (c) 2016 Intel Corporation |
|
# Copyright (c) 2018 Nordic Semiconductor ASA |
|
# SPDX-License-Identifier: Apache-2.0 |
|
|
|
menuconfig SHELL |
|
bool "Shell" |
|
imply LOG_RUNTIME_FILTERING |
|
select POLL |
|
|
|
if SHELL |
|
|
|
module = SHELL |
|
module-str = Shell |
|
source "subsys/logging/Kconfig.template.log_config" |
|
source "subsys/shell/backends/Kconfig.backends" |
|
|
|
config SHELL_MINIMAL |
|
bool "Default config to reduce flash and memory requirements" |
|
help |
|
This is a meta-configuration option to significantly reduce the flash |
|
and memory requirements of the shell. Enabling it will choose Kconfig |
|
defaults which favor reduced flash or memory requirements over extra |
|
features. |
|
|
|
config SHELL_DEVICE_HELPERS |
|
bool "Shell device helpers" |
|
imply DEVICE_DT_METADATA |
|
default y if !SHELL_MINIMAL |
|
|
|
config SHELL_THREAD_PRIORITY_OVERRIDE |
|
bool "Override default shell thread priority" |
|
help |
|
Option to change the default value of shell thread priority. |
|
|
|
if SHELL_THREAD_PRIORITY_OVERRIDE |
|
config SHELL_THREAD_PRIORITY |
|
int "Shell thread priority" |
|
default 0 |
|
help |
|
Set thread priority of the shell |
|
endif |
|
|
|
config SHELL_STACK_SIZE |
|
int "Shell thread stack size" |
|
default 3168 if OPENTHREAD_SHELL |
|
default 3072 if 64BIT |
|
default 2048 if MULTITHREADING |
|
default 0 if !MULTITHREADING |
|
help |
|
Stack size for thread created for each instance. |
|
|
|
config SHELL_BACKSPACE_MODE_DELETE |
|
bool "Default escape code for backspace is DELETE (0x7F)" |
|
default y |
|
help |
|
Terminals have different escape code settings for backspace button. |
|
Some terminals send code: 0x08 (backspace) other 0x7F (delete). When |
|
this option is set shell will expect 0x7F for backspace key. |
|
|
|
config SHELL_PROMPT_CHANGE |
|
bool "Allow prompt change in runtime" |
|
default y if !SHELL_MINIMAL |
|
help |
|
Allow for the modification of the shell prompt at runtime. |
|
Enabling this will allocate additional RAM memory where |
|
the string of the prompt will be stored. |
|
|
|
config SHELL_PROMPT_BUFF_SIZE |
|
int "Shell prompt buffer size" |
|
depends on SHELL_PROMPT_CHANGE |
|
range 2 40 |
|
default 10 if SHELL_MINIMAL |
|
default 20 |
|
help |
|
Maximum prompt size in bytes. One byte is reserved for the string |
|
terminator character. |
|
|
|
config SHELL_CMD_BUFF_SIZE |
|
int "Shell command buffer size" |
|
default 128 if SHELL_MINIMAL |
|
default 256 |
|
help |
|
Maximum command size in bytes. One byte is reserved for the string |
|
terminator character. |
|
|
|
config SHELL_PRINTF_BUFF_SIZE |
|
int "Shell print buffer size" |
|
default 30 |
|
help |
|
Maximum text buffer size for fprintf function. |
|
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) |
|
default 80 |
|
help |
|
Default terminal width is used to break lines. |
|
|
|
config SHELL_DEFAULT_TERMINAL_HEIGHT |
|
int "Default terminal height" |
|
default 24 |
|
|
|
config SHELL_ARGC_MAX |
|
int "Maximum arguments in shell command" |
|
range 3 $(UINT8_MAX) |
|
default 30 if NET_L2_WIFI_SHELL |
|
default 20 |
|
help |
|
Maximum number of arguments that can build a command. |
|
|
|
config SHELL_TAB |
|
bool "The Tab button support in shell" |
|
default y if !SHELL_MINIMAL |
|
help |
|
Enable using the Tab button in the shell. The button |
|
can be used for prompting commands, or for autocompletion. |
|
This feature has high impact on flash usage. |
|
|
|
config SHELL_TAB_AUTOCOMPLETION |
|
bool "Commands autocompletion with the Tab button" |
|
depends on SHELL_TAB |
|
default y if !SHELL_MINIMAL |
|
help |
|
Enable commands and subcommands autocompletion with the Tab |
|
key. This function can be deactivated to save some flash. |
|
|
|
config SHELL_ASCII_FILTER |
|
bool "Filter incoming ASCII characters" |
|
default y |
|
help |
|
Shell will not collect characters that are not in |
|
ASCII range: <0, 127>. As a result filtered characters will not be |
|
printed on the terminal and passed to the command handler. |
|
|
|
config SHELL_WILDCARD |
|
bool "Wildcard support in shell" |
|
select POSIX_C_LIB_EXT |
|
default y if !SHELL_MINIMAL |
|
help |
|
Enables using wildcards: * and ? in the shell. |
|
|
|
config SHELL_MSG_CMD_NOT_FOUND |
|
bool "': command not found' message in the shell" |
|
default y |
|
help |
|
If enabled, the shell prints out this message. |
|
|
|
config SHELL_MSG_SPECIFY_SUBCOMMAND |
|
bool "'Please specify a subcommand.' message in the shell" |
|
default y |
|
help |
|
If enabled, the shell prints out this message. |
|
|
|
config SHELL_ECHO_STATUS |
|
bool "Echo on shell" |
|
default y |
|
help |
|
If enabled shell prints back every input byte. |
|
|
|
config SHELL_START_OBSCURED |
|
bool "Display asterisk when echoing" |
|
help |
|
If enabled, don't echo actual character, but echo * instead. |
|
This is used for login prompts. |
|
|
|
config SHELL_VT100_COMMANDS |
|
bool "VT100 commands in shell" |
|
default y |
|
help |
|
Enables VT100 commands in shell (e.g. cursor position, clear screen etc.). |
|
|
|
config SHELL_VT100_COLORS |
|
bool "Colors in shell" |
|
depends on SHELL_VT100_COMMANDS |
|
default y if !SHELL_MINIMAL |
|
help |
|
If enabled VT100 colors are used in shell (e.g. print errors in red). |
|
|
|
config SHELL_GETOPT |
|
bool "Threadsafe getopt support in shell" |
|
select POSIX_C_LIB_EXT |
|
help |
|
This config creates a separate getopt_state for the shell instance. |
|
It ensures that using getopt with shell is thread safe. |
|
When more threads are using getopt please call getopt_state_get to |
|
get getopt state of the shell thread. |
|
|
|
config SHELL_METAKEYS |
|
bool "Metakeys" |
|
default y if !SHELL_MINIMAL |
|
help |
|
Enables shell meta keys: Ctrl+a, Ctrl+b, Ctrl+c, Ctrl+d, Ctrl+e, |
|
Ctrl+f, Ctrl+k, Ctrl+l, Ctrl+u, Ctrl+w, Alt+b, Alt+f |
|
Meta keys will not be active when shell echo is set to off. |
|
|
|
config SHELL_HELP |
|
bool "Help message" |
|
default y if !SHELL_MINIMAL |
|
help |
|
Enables shell functions for printing formatted help message. |
|
|
|
config SHELL_HELP_OPT_PARSE |
|
bool "Parse -h and --help options" |
|
depends on SHELL_HELP |
|
depends on !SHELL_GETOPT |
|
default y |
|
help |
|
Shell parses command to find '-h' or '--help' string. If the shell |
|
finds the string, it will automatically print a help message |
|
for a command. |
|
|
|
config SHELL_HELP_ON_WRONG_ARGUMENT_COUNT |
|
bool "Printing help on wrong argument count" |
|
depends on SHELL_HELP |
|
default y if !SHELL_MINIMAL |
|
|
|
config SHELL_HISTORY |
|
bool "History in shell" |
|
default y if !SHELL_MINIMAL |
|
select RING_BUFFER |
|
help |
|
Enable commands history. History can be accessed using up and down |
|
arrows or Ctrl+n and Ctrl+p meta keys. |
|
|
|
config SHELL_HISTORY_BUFFER |
|
int "History buffer in bytes" |
|
default 128 if SHELL_MINIMAL |
|
default 512 |
|
depends on SHELL_HISTORY |
|
help |
|
Number of bytes dedicated for storing executed commands. |
|
|
|
config SHELL_STATS |
|
bool "Shell statistics" |
|
default y if !SHELL_MINIMAL |
|
|
|
config SHELL_CMDS |
|
bool "Built-in commands" |
|
default y if !SHELL_MINIMAL |
|
help |
|
Enable built-in commands like 'clear', 'history', etc. |
|
|
|
config SHELL_CMDS_RESIZE |
|
bool "Resize command" |
|
depends on SHELL_CMDS |
|
depends on SHELL_VT100_COMMANDS |
|
default y if !SHELL_MINIMAL |
|
help |
|
By default shell assumes width of a terminal screen set to 80 |
|
characters. Each time terminal screen width is changed resize command |
|
must be called to ensure correct text display on the terminal screen. |
|
The resize command can be turned off to save code memory (~0,5k). |
|
|
|
config SHELL_CMDS_SELECT |
|
bool "Select command" |
|
depends on SHELL_CMDS |
|
help |
|
This option enables select command. It can be used to set new root |
|
command. Exit to main command tree is with alt+r. |
|
|
|
config SHELL_CMD_ROOT |
|
string "Set a root command at init" |
|
help |
|
This option sets a root command at shell init, |
|
and when exiting to main command tree with alt+r. |
|
|
|
config SHELL_LOG_BACKEND |
|
bool "Shell log backend" |
|
depends on LOG && !LOG_MODE_MINIMAL |
|
select MPSC_PBUF |
|
select LOG_OUTPUT |
|
default y if LOG |
|
help |
|
When enabled, backend will use the shell for logging. |
|
This option is enabled by default. |
|
Disabling this option disables log output to all shell backends. |
|
Disabling log output to a specific shell backend can be achieved |
|
using the shell backend's LOG_LEVEL option |
|
(e.g. CONFIG_SHELL_TELNET_INIT_LOG_LEVEL_NONE=y). |
|
|
|
config SHELL_LOG_BACKEND_CUSTOM |
|
bool "Use custom backend implementation" |
|
help |
|
When enabled, standard implementation of shell log backend is not included. |
|
It allows to provide custom implementation of multiplexing logging messages |
|
with shell data. |
|
|
|
config SHELL_LOG_FORMAT_TIMESTAMP |
|
bool "Format timestamp" |
|
default y |
|
depends on SHELL_LOG_BACKEND |
|
help |
|
Enable timestamp formatting. |
|
|
|
config SHELL_AUTOSTART |
|
bool "Auto-start shell at boot" |
|
default y |
|
help |
|
If enabled, shell will be automatically started. |
|
|
|
config SHELL_CMDS_RETURN_VALUE |
|
bool "Retval command" |
|
depends on SHELL_CMDS |
|
default y |
|
help |
|
This option enables the retval command. It is used to retrieve |
|
the return value from the most recently executed command. |
|
|
|
config SHELL_CUSTOM_HEADER |
|
bool "Include Custom Shell Header" |
|
help |
|
When enabled, a custom application provided header, named |
|
"zephyr_custom_shell.h", is included at the end of shell.h. This enables |
|
extension of the shell APIs at the macro level. Please use cautiously! |
|
The internal shell API may change in future releases. |
|
|
|
config SHELL_TX_TIMEOUT_MS |
|
int "Shell TX timeout in milliseconds" |
|
default 500 if SHELL_LOG_BACKEND |
|
default 50 |
|
help |
|
The timeout in milliseconds for the shell TX mutex. This is used to |
|
prevent deadlocks when called from other than the shell's processing thread. |
|
When using the shell log backend, the timeout should be longer to avoid |
|
timeouts due to log processing. A value of 0 means no timeout. |
|
|
|
source "subsys/shell/modules/Kconfig" |
|
|
|
endif # SHELL
|
|
|