778 lines
20 KiB
Plaintext
778 lines
20 KiB
Plaintext
# Shell backends configuration options
|
|
|
|
# Copyright (c) 2018 Nordic Semiconductor ASA
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menuconfig SHELL_BACKENDS
|
|
bool "Shell backends"
|
|
default y
|
|
help
|
|
Enable shell backends.
|
|
|
|
if SHELL_BACKENDS
|
|
|
|
# Workaround for not being able to have commas in macro arguments
|
|
DT_CHOSEN_Z_SHELL_UART := zephyr,shell-uart
|
|
|
|
config SHELL_BACKEND_SERIAL
|
|
bool "Serial backend"
|
|
# Serial (UART) requires interrupts and the RTT backend cannot be used from an ISR context.
|
|
default n if SHELL_BACKEND_RTT
|
|
default "$(dt_chosen_enabled,$(DT_CHOSEN_Z_SHELL_UART))"
|
|
select SERIAL
|
|
select RING_BUFFER
|
|
help
|
|
Enable serial backend.
|
|
|
|
if SHELL_BACKEND_SERIAL
|
|
|
|
config SHELL_BACKEND_SERIAL_INIT_PRIORITY
|
|
int "Initialization priority"
|
|
default APPLICATION_INIT_PRIORITY
|
|
range 0 99
|
|
help
|
|
Initialization priority for UART backend. This must be bigger than
|
|
the initialization priority of the used serial device.
|
|
|
|
config SHELL_PROMPT_UART
|
|
string "Displayed prompt name"
|
|
default "uart:~$ "
|
|
help
|
|
Displayed prompt name for UART backend. If prompt is set, the shell will
|
|
send two newlines during initialization.
|
|
|
|
config SHELL_BACKEND_SERIAL_INTERRUPT_DRIVEN
|
|
bool "Interrupt driven"
|
|
default y
|
|
depends on SERIAL_SUPPORT_INTERRUPT
|
|
|
|
config SHELL_ASYNC_API
|
|
bool "Asynchronous shell API"
|
|
default n
|
|
depends on UART_ASYNC_API
|
|
help
|
|
This option enables asynchronous shell API.
|
|
|
|
choice SHELL_BACKEND_SERIAL_API
|
|
prompt "Mode"
|
|
default SHELL_BACKEND_SERIAL_API_ASYNC if SHELL_ASYNC_API
|
|
default SHELL_BACKEND_SERIAL_API_INTERRUPT_DRIVEN if SHELL_BACKEND_SERIAL_INTERRUPT_DRIVEN
|
|
default SHELL_BACKEND_SERIAL_API_POLLING
|
|
|
|
config SHELL_BACKEND_SERIAL_API_POLLING
|
|
prompt "Polling"
|
|
|
|
config SHELL_BACKEND_SERIAL_API_INTERRUPT_DRIVEN
|
|
bool "Interrupt driven"
|
|
depends on SERIAL_SUPPORT_INTERRUPT
|
|
select UART_INTERRUPT_DRIVEN
|
|
|
|
|
|
config SHELL_BACKEND_SERIAL_API_ASYNC
|
|
bool "Asynchronous"
|
|
depends on SERIAL_SUPPORT_ASYNC
|
|
select UART_ASYNC_RX_HELPER
|
|
|
|
endchoice
|
|
|
|
config SHELL_BACKEND_SERIAL_FORCE_TX_BLOCKING_MODE
|
|
bool "Force blocking mode for TX"
|
|
help
|
|
Force blocking mode for TX.
|
|
|
|
config SHELL_BACKEND_SERIAL_TX_RING_BUFFER_SIZE
|
|
int "Set TX ring buffer size"
|
|
default 8
|
|
depends on SHELL_BACKEND_SERIAL_API_INTERRUPT_DRIVEN
|
|
help
|
|
If UART is utilizing DMA transfers then increasing ring buffer size
|
|
increases transfers length and reduces number of interrupts.
|
|
|
|
config SHELL_BACKEND_SERIAL_RX_RING_BUFFER_SIZE
|
|
int "Set RX ring buffer size"
|
|
depends on SHELL_BACKEND_SERIAL_API_INTERRUPT_DRIVEN || SHELL_BACKEND_SERIAL_API_POLLING
|
|
default 256 if MCUMGR_TRANSPORT_SHELL
|
|
default 64
|
|
help
|
|
RX ring buffer size impacts accepted latency of handling incoming
|
|
bytes by shell. If shell input is coming from the keyboard then it is
|
|
usually enough if ring buffer is few bytes (more than one due to
|
|
escape sequences). However, if bulk data is transferred it may be
|
|
required to increase it.
|
|
|
|
if SHELL_BACKEND_SERIAL_API_ASYNC
|
|
|
|
config SHELL_BACKEND_SERIAL_ASYNC_RX_TIMEOUT
|
|
int "RX inactivity timeout (in microseconds)"
|
|
default 10000
|
|
help
|
|
Inactivity timeout after which received data is reported.
|
|
|
|
config SHELL_BACKEND_SERIAL_ASYNC_RX_BUFFER_COUNT
|
|
int "Number of RX buffers"
|
|
default 4
|
|
range 2 64
|
|
help
|
|
Number of RX buffers. Some UART driver implementations changes buffers
|
|
on timeout so this number should be big enough to cover handling on
|
|
time incoming data. 4 should be enough for almost all the cases unless
|
|
CPU load is high and there is very high shell thread latency.
|
|
|
|
config SHELL_BACKEND_SERIAL_ASYNC_RX_BUFFER_SIZE
|
|
int "Size of the RX buffer"
|
|
default 16
|
|
help
|
|
Size of a single RX buffer. Together with buffer count it defines the
|
|
space that can hold RX data. It may be decreased if shell input is
|
|
slow and may need to be increased if long messages are pasted directly
|
|
to the shell prompt.
|
|
|
|
endif # SHELL_BACKEND_SERIAL_API_ASYNC
|
|
|
|
config SHELL_BACKEND_SERIAL_RX_POLL_PERIOD
|
|
int "RX polling period (in milliseconds)"
|
|
default 10
|
|
depends on SHELL_BACKEND_SERIAL_API_POLLING
|
|
help
|
|
Determines how often UART is polled for RX byte.
|
|
|
|
config SHELL_BACKEND_SERIAL_CHECK_DTR
|
|
bool "Check DTR signal before TX"
|
|
depends on SHELL_BACKEND_SERIAL_API_INTERRUPT_DRIVEN
|
|
depends on UART_LINE_CTRL
|
|
help
|
|
Check DTR signal before TX.
|
|
|
|
module = SHELL_BACKEND_SERIAL
|
|
default-timeout = 100
|
|
source "subsys/shell/Kconfig.template.shell_log_queue_timeout"
|
|
|
|
default-size = 512
|
|
source "subsys/shell/Kconfig.template.shell_log_queue_size"
|
|
|
|
choice
|
|
prompt "Initial log level limit"
|
|
default SHELL_BACKEND_SERIAL_LOG_LEVEL_DEFAULT
|
|
|
|
config SHELL_BACKEND_SERIAL_LOG_LEVEL_DEFAULT
|
|
bool "System limit (LOG_MAX_LEVEL)"
|
|
|
|
config SHELL_BACKEND_SERIAL_LOG_LEVEL_DBG
|
|
bool "Debug"
|
|
|
|
config SHELL_BACKEND_SERIAL_LOG_LEVEL_INF
|
|
bool "Info"
|
|
|
|
config SHELL_BACKEND_SERIAL_LOG_LEVEL_WRN
|
|
bool "Warning"
|
|
|
|
config SHELL_BACKEND_SERIAL_LOG_LEVEL_ERR
|
|
bool "Error"
|
|
|
|
config SHELL_BACKEND_SERIAL_LOG_LEVEL_NONE
|
|
bool "None"
|
|
|
|
endchoice
|
|
|
|
config SHELL_BACKEND_SERIAL_LOG_LEVEL
|
|
int
|
|
default 0 if SHELL_BACKEND_SERIAL_LOG_LEVEL_NONE
|
|
default 1 if SHELL_BACKEND_SERIAL_LOG_LEVEL_ERR
|
|
default 2 if SHELL_BACKEND_SERIAL_LOG_LEVEL_WRN
|
|
default 3 if SHELL_BACKEND_SERIAL_LOG_LEVEL_INF
|
|
default 4 if SHELL_BACKEND_SERIAL_LOG_LEVEL_DBG
|
|
default 5 if SHELL_BACKEND_SERIAL_LOG_LEVEL_DEFAULT
|
|
|
|
endif # SHELL_BACKEND_SERIAL
|
|
|
|
config SHELL_BACKEND_RTT
|
|
bool "RTT backend"
|
|
select CONSOLE
|
|
select RTT_CONSOLE
|
|
select SEGGER_RTT_CUSTOM_LOCKING
|
|
depends on USE_SEGGER_RTT
|
|
help
|
|
Enable RTT backend.
|
|
|
|
if SHELL_BACKEND_RTT
|
|
|
|
config SHELL_PROMPT_RTT
|
|
string "Displayed prompt name"
|
|
default "rtt:~$ "
|
|
help
|
|
Displayed prompt name for RTT backend. If prompt is set, the shell will
|
|
send two newlines during initialization.
|
|
|
|
config SHELL_BACKEND_RTT_BUFFER
|
|
int "Buffer number used for shell input and output."
|
|
range 0 SEGGER_RTT_MAX_NUM_UP_BUFFERS
|
|
default 0
|
|
help
|
|
Select index of up-buffer used for shell output, by default it uses
|
|
terminal up-buffer and its settings.
|
|
|
|
config SHELL_BACKEND_RTT_RETRY_CNT
|
|
int "Number of retries"
|
|
default 4
|
|
help
|
|
Number of TX retries before dropping the data and assuming that
|
|
RTT session is inactive.
|
|
|
|
config SHELL_BACKEND_RTT_RETRY_DELAY_MS
|
|
int "Delay between TX retries in milliseconds"
|
|
default 5
|
|
help
|
|
Sleep period between TX retry attempts. During RTT session, host pulls
|
|
data periodically. Period starts from 1-2 milliseconds and can be
|
|
increased if traffic on RTT increases (also from host to device). In
|
|
case of heavy traffic data can be lost and it may be necessary to
|
|
increase delay or number of retries.
|
|
|
|
config SHELL_RTT_RX_POLL_PERIOD
|
|
int "RX polling period (in milliseconds)"
|
|
default 10
|
|
help
|
|
Determines how often RTT is polled for RX byte.
|
|
|
|
module = SHELL_BACKEND_RTT
|
|
default-timeout = 100
|
|
source "subsys/shell/Kconfig.template.shell_log_queue_timeout"
|
|
|
|
default-size = 512
|
|
source "subsys/shell/Kconfig.template.shell_log_queue_size"
|
|
|
|
choice
|
|
prompt "Initial log level limit"
|
|
default SHELL_RTT_INIT_LOG_LEVEL_DEFAULT
|
|
|
|
config SHELL_RTT_INIT_LOG_LEVEL_DEFAULT
|
|
bool "System limit (LOG_MAX_LEVEL)"
|
|
|
|
config SHELL_RTT_INIT_LOG_LEVEL_DBG
|
|
bool "Debug"
|
|
|
|
config SHELL_RTT_INIT_LOG_LEVEL_INF
|
|
bool "Info"
|
|
|
|
config SHELL_RTT_INIT_LOG_LEVEL_WRN
|
|
bool "Warning"
|
|
|
|
config SHELL_RTT_INIT_LOG_LEVEL_ERR
|
|
bool "Error"
|
|
|
|
config SHELL_RTT_INIT_LOG_LEVEL_NONE
|
|
bool "None"
|
|
|
|
endchoice
|
|
|
|
config SHELL_RTT_INIT_LOG_LEVEL
|
|
int
|
|
default 0 if SHELL_RTT_INIT_LOG_LEVEL_NONE
|
|
default 1 if SHELL_RTT_INIT_LOG_LEVEL_ERR
|
|
default 2 if SHELL_RTT_INIT_LOG_LEVEL_WRN
|
|
default 3 if SHELL_RTT_INIT_LOG_LEVEL_INF
|
|
default 4 if SHELL_RTT_INIT_LOG_LEVEL_DBG
|
|
default 5 if SHELL_RTT_INIT_LOG_LEVEL_DEFAULT
|
|
|
|
module = SHELL_RTT
|
|
module-str = RTT shell backend
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
endif # SHELL_BACKEND_RTT
|
|
|
|
config SHELL_BACKEND_MQTT
|
|
bool "MQTT backend"
|
|
depends on NET_TCP
|
|
depends on NET_IPV4
|
|
depends on NETWORKING
|
|
select DNS_RESOLVER
|
|
select HWINFO
|
|
select MQTT_LIB
|
|
select NET_MGMT
|
|
select NET_MGMT_EVENT
|
|
help
|
|
Enable MQTT backend.
|
|
|
|
if SHELL_BACKEND_MQTT
|
|
|
|
config SHELL_MQTT_SERVER_ADDR
|
|
string "MQTT server address"
|
|
default "192.168.0.100"
|
|
help
|
|
MQTT server address.
|
|
|
|
config SHELL_MQTT_SERVER_PORT
|
|
int "MQTT server port"
|
|
default 1883
|
|
help
|
|
MQTT server port.
|
|
|
|
config SHELL_MQTT_SERVER_USERNAME
|
|
string "MQTT server username"
|
|
help
|
|
MQTT server username.
|
|
|
|
config SHELL_MQTT_SERVER_PASSWORD
|
|
string "MQTT server password"
|
|
help
|
|
MQTT server password.
|
|
|
|
config SHELL_MQTT_RX_BUF_SIZE
|
|
int "RX buffer size"
|
|
default 256
|
|
help
|
|
Buffer size for the MQTT data reception.
|
|
|
|
config SHELL_MQTT_TX_BUF_SIZE
|
|
int "TX buffer size"
|
|
range 32 $(UINT16_MAX)
|
|
default 256
|
|
help
|
|
Buffer size for the MQTT data transmission.
|
|
|
|
module = SHELL_BACKEND_MQTT
|
|
default-timeout = 100
|
|
source "subsys/shell/Kconfig.template.shell_log_queue_timeout"
|
|
|
|
default-size = 512
|
|
source "subsys/shell/Kconfig.template.shell_log_queue_size"
|
|
|
|
choice
|
|
prompt "Initial log level limit"
|
|
default SHELL_MQTT_INIT_LOG_LEVEL_DEFAULT
|
|
|
|
config SHELL_MQTT_INIT_LOG_LEVEL_DEFAULT
|
|
bool "System limit (LOG_MAX_LEVEL)"
|
|
|
|
config SHELL_MQTT_INIT_LOG_LEVEL_DBG
|
|
bool "Debug"
|
|
|
|
config SHELL_MQTT_INIT_LOG_LEVEL_INF
|
|
bool "Info"
|
|
|
|
config SHELL_MQTT_INIT_LOG_LEVEL_WRN
|
|
bool "Warning"
|
|
|
|
config SHELL_MQTT_INIT_LOG_LEVEL_ERR
|
|
bool "Error"
|
|
|
|
config SHELL_MQTT_INIT_LOG_LEVEL_NONE
|
|
bool "None"
|
|
|
|
endchoice # SHELL_MQTT_INIT_LOG_LEVEL
|
|
|
|
config SHELL_MQTT_INIT_LOG_LEVEL
|
|
int
|
|
default 0 if SHELL_MQTT_INIT_LOG_LEVEL_NONE
|
|
default 1 if SHELL_MQTT_INIT_LOG_LEVEL_ERR
|
|
default 2 if SHELL_MQTT_INIT_LOG_LEVEL_WRN
|
|
default 3 if SHELL_MQTT_INIT_LOG_LEVEL_INF
|
|
default 4 if SHELL_MQTT_INIT_LOG_LEVEL_DBG
|
|
default 5 if SHELL_MQTT_INIT_LOG_LEVEL_DEFAULT
|
|
|
|
module = SHELL_MQTT
|
|
module-str = MQTT shell backend
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
endif # SHELL_BACKEND_MQTT
|
|
|
|
config SHELL_BACKEND_RPMSG
|
|
bool "RPMsg backend."
|
|
depends on OPENAMP
|
|
help
|
|
Enable RPMsg backend.
|
|
|
|
if SHELL_BACKEND_RPMSG
|
|
|
|
config SHELL_PROMPT_RPMSG
|
|
string "Displayed prompt name"
|
|
default "ipc:~$ "
|
|
help
|
|
Displayed prompt name for RPMsg backend. If prompt is set, the shell will
|
|
send two newlines during initialization.
|
|
|
|
config SHELL_RPMSG_SERVICE_NAME
|
|
string "Service name"
|
|
default "rpmsg-tty"
|
|
help
|
|
The service name associated with the RPMsg endpoint.
|
|
|
|
config SHELL_RPMSG_SRC_ADDR
|
|
hex "Local address"
|
|
default 0xffffffff # The ANY address
|
|
help
|
|
Local address of the RPMsg endpoint.
|
|
|
|
config SHELL_RPMSG_DST_ADDR
|
|
hex "Remote address"
|
|
default 0xffffffff # The ANY address
|
|
help
|
|
Target address of the RPMsg endpoint.
|
|
|
|
config SHELL_RPMSG_MAX_RX
|
|
int "Receive buffer size"
|
|
default 10
|
|
help
|
|
The maximum number of received messages to be queued.
|
|
|
|
module = SHELL_BACKEND_RPMSG
|
|
default-timeout = 100
|
|
source "subsys/shell/Kconfig.template.shell_log_queue_timeout"
|
|
|
|
default-size = 512
|
|
source "subsys/shell/Kconfig.template.shell_log_queue_size"
|
|
|
|
choice
|
|
prompt "Initial log level limit"
|
|
default SHELL_RPMSG_INIT_LOG_LEVEL_DEFAULT
|
|
|
|
config SHELL_RPMSG_INIT_LOG_LEVEL_DEFAULT
|
|
bool "System limit (LOG_MAX_LEVEL)"
|
|
|
|
config SHELL_RPMSG_INIT_LOG_LEVEL_DBG
|
|
bool "Debug"
|
|
|
|
config SHELL_RPMSG_INIT_LOG_LEVEL_INF
|
|
bool "Info"
|
|
|
|
config SHELL_RPMSG_INIT_LOG_LEVEL_WRN
|
|
bool "Warning"
|
|
|
|
config SHELL_RPMSG_INIT_LOG_LEVEL_ERR
|
|
bool "Error"
|
|
|
|
config SHELL_RPMSG_INIT_LOG_LEVEL_NONE
|
|
bool "None"
|
|
|
|
endchoice # SHELL_RPMSG_INIT_LOG_LEVEL
|
|
|
|
config SHELL_RPMSG_INIT_LOG_LEVEL
|
|
int
|
|
default 0 if SHELL_RPMSG_INIT_LOG_LEVEL_NONE
|
|
default 1 if SHELL_RPMSG_INIT_LOG_LEVEL_ERR
|
|
default 2 if SHELL_RPMSG_INIT_LOG_LEVEL_WRN
|
|
default 3 if SHELL_RPMSG_INIT_LOG_LEVEL_INF
|
|
default 4 if SHELL_RPMSG_INIT_LOG_LEVEL_DBG
|
|
default 5 if SHELL_RPMSG_INIT_LOG_LEVEL_DEFAULT
|
|
|
|
module = SHELL_RPMSG
|
|
module-str = RPMsg shell backend
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
endif # SHELL_BACKEND_RPMSG
|
|
|
|
config SHELL_BACKEND_TELNET
|
|
bool "TELNET backend."
|
|
depends on NET_TCP
|
|
depends on NET_IPV4 || NET_IPV6
|
|
select NET_SOCKETS_SERVICE
|
|
select NET_SOCKETS
|
|
help
|
|
Enable TELNET backend.
|
|
|
|
if SHELL_BACKEND_TELNET
|
|
|
|
config SHELL_TELNET_INIT_PRIORITY
|
|
int "Initialization priority"
|
|
default 95
|
|
range 0 99
|
|
help
|
|
Initialization priority for telnet shell backend. This must be higher
|
|
than socket service initialization priority, as socket service has to
|
|
be initialized earlier.
|
|
|
|
config SHELL_PROMPT_TELNET
|
|
string "Displayed prompt name"
|
|
default "~$ "
|
|
help
|
|
Displayed prompt name for TELNET backend. If prompt is set, the shell will
|
|
send two newlines during initialization.
|
|
|
|
config SHELL_TELNET_PORT
|
|
int "Telnet port number"
|
|
default 23
|
|
help
|
|
This option is used to configure on which port telnet is going
|
|
to be bound.
|
|
|
|
config SHELL_TELNET_LINE_BUF_SIZE
|
|
int "Telnet line buffer size"
|
|
default 80
|
|
help
|
|
This option can be used to modify the size of the buffer storing
|
|
shell output line, prior to sending it through the network.
|
|
Of course an output line can be longer than such size, it just
|
|
means sending it will start as soon as it reaches this size.
|
|
It really depends on what type of output is expected.
|
|
A lot of short lines: better reduce this value. On the contrary,
|
|
raise it.
|
|
|
|
config SHELL_TELNET_SEND_TIMEOUT
|
|
int "Telnet line send timeout"
|
|
default 100
|
|
help
|
|
This option can be used to modify the duration of the timer that kick
|
|
in when a line buffer is not empty but did not yet meet the line feed.
|
|
|
|
config SHELL_TELNET_SUPPORT_COMMAND
|
|
bool "Add support for telnet commands (IAC) [EXPERIMENTAL]"
|
|
select EXPERIMENTAL
|
|
help
|
|
Current support is so limited it's not interesting to enable it.
|
|
However, if proven to be needed at some point, it will be possible
|
|
to extend such support. It does have support for echo and "character
|
|
at a time" mode, which enable the history and line-editing features
|
|
of the shell.
|
|
IMPORTANT: This will increase network usage as a TCP packet will be
|
|
sent each time a character is typed in the telnet client.
|
|
|
|
module = SHELL_TELNET
|
|
default-timeout = 100
|
|
source "subsys/shell/Kconfig.template.shell_log_queue_timeout"
|
|
|
|
default-size = 512
|
|
source "subsys/shell/Kconfig.template.shell_log_queue_size"
|
|
|
|
choice
|
|
prompt "Initial log level limit"
|
|
default SHELL_TELNET_INIT_LOG_LEVEL_DEFAULT
|
|
|
|
config SHELL_TELNET_INIT_LOG_LEVEL_DEFAULT
|
|
bool "System limit (LOG_MAX_LEVEL)"
|
|
|
|
config SHELL_TELNET_INIT_LOG_LEVEL_DBG
|
|
bool "Debug"
|
|
|
|
config SHELL_TELNET_INIT_LOG_LEVEL_INF
|
|
bool "Info"
|
|
|
|
config SHELL_TELNET_INIT_LOG_LEVEL_WRN
|
|
bool "Warning"
|
|
|
|
config SHELL_TELNET_INIT_LOG_LEVEL_ERR
|
|
bool "Error"
|
|
|
|
config SHELL_TELNET_INIT_LOG_LEVEL_NONE
|
|
bool "None"
|
|
|
|
endchoice
|
|
|
|
config SHELL_TELNET_INIT_LOG_LEVEL
|
|
int
|
|
default 0 if SHELL_TELNET_INIT_LOG_LEVEL_NONE
|
|
default 1 if SHELL_TELNET_INIT_LOG_LEVEL_ERR
|
|
default 2 if SHELL_TELNET_INIT_LOG_LEVEL_WRN
|
|
default 3 if SHELL_TELNET_INIT_LOG_LEVEL_INF
|
|
default 4 if SHELL_TELNET_INIT_LOG_LEVEL_DBG
|
|
default 5 if SHELL_TELNET_INIT_LOG_LEVEL_DEFAULT
|
|
|
|
module = SHELL_TELNET
|
|
module-str = TELNET shell backend
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
endif # SHELL_TELNET_BACKEND
|
|
|
|
config SHELL_BACKEND_WEBSOCKET
|
|
bool "Websocket backend."
|
|
depends on HTTP_SERVER_WEBSOCKET
|
|
depends on NET_NATIVE_IP
|
|
select NET_SOCKETS_SERVICE
|
|
select NET_SOCKETS
|
|
help
|
|
Enable Websocket backend.
|
|
|
|
if SHELL_BACKEND_WEBSOCKET
|
|
|
|
config SHELL_WEBSOCKET_BACKEND_COUNT
|
|
int "How many Webconsole sessions are supported"
|
|
default 2
|
|
range 1 8
|
|
help
|
|
Each connection consumes memory so select the value according to your
|
|
needs. Also note that each console session needs unique HTTP endpoint
|
|
configured.
|
|
Note that if you have only one HTTP endpoint for the websocket console,
|
|
setting the this value to 2, allows latter console session to kick out
|
|
the previous one. If set this value to 1, then the latter connecting
|
|
webconsole session will fail. If you have multiple HTTP endpoints, then
|
|
This value should be increased accordingly.
|
|
|
|
config SHELL_WEBSOCKET_PROMPT
|
|
string "Displayed prompt name"
|
|
default ""
|
|
help
|
|
Displayed prompt name for Websocket backend. If prompt is set, the shell will
|
|
send two newlines during initialization.
|
|
|
|
config SHELL_WEBSOCKET_ENDPOINT_URL
|
|
string "Websocket endpoint URL"
|
|
default "console"
|
|
help
|
|
What is the HTTP endpoint URL where the client should connect to.
|
|
|
|
config SHELL_WEBSOCKET_IP_ADDR
|
|
string "Websocket IP listen address"
|
|
default ""
|
|
help
|
|
This option is used to configure on which IP address and network interface
|
|
the HTTP server is listening. If left empty, then all network interfaces are
|
|
listened.
|
|
|
|
config SHELL_WEBSOCKET_PORT
|
|
int "Websocket port number"
|
|
default 443 if NET_SOCKETS_SOCKOPT_TLS
|
|
default 80
|
|
help
|
|
This option is used to configure on which port websocket is going
|
|
to be bound.
|
|
|
|
config SHELL_WEBSOCKET_LINE_BUF_SIZE
|
|
int "Websocket line buffer size"
|
|
default 100
|
|
help
|
|
This option can be used to modify the size of the buffer storing
|
|
shell output line, prior to sending it through the network.
|
|
Of course an output line can be longer than such size, it just
|
|
means sending it will start as soon as it reaches this size.
|
|
It really depends on what type of output is expected.
|
|
A lot of short lines: better reduce this value. On the contrary,
|
|
raise it.
|
|
|
|
config SHELL_WEBSOCKET_SEND_TIMEOUT
|
|
int "Websocket line send timeout"
|
|
default 100
|
|
help
|
|
This option can be used to modify the duration of the timer that kick
|
|
in when a line buffer is not empty but did not yet meet the line feed.
|
|
|
|
module = SHELL_WEBSOCKET
|
|
default-timeout = 100
|
|
source "subsys/shell/Kconfig.template.shell_log_queue_timeout"
|
|
|
|
default-size = 512
|
|
source "subsys/shell/Kconfig.template.shell_log_queue_size"
|
|
|
|
choice
|
|
prompt "Initial log level limit"
|
|
default SHELL_WEBSOCKET_INIT_LOG_LEVEL_DEFAULT
|
|
|
|
config SHELL_WEBSOCKET_INIT_LOG_LEVEL_DEFAULT
|
|
bool "System limit (LOG_MAX_LEVEL)"
|
|
|
|
config SHELL_WEBSOCKET_INIT_LOG_LEVEL_DBG
|
|
bool "Debug"
|
|
|
|
config SHELL_WEBSOCKET_INIT_LOG_LEVEL_INF
|
|
bool "Info"
|
|
|
|
config SHELL_WEBSOCKET_INIT_LOG_LEVEL_WRN
|
|
bool "Warning"
|
|
|
|
config SHELL_WEBSOCKET_INIT_LOG_LEVEL_ERR
|
|
bool "Error"
|
|
|
|
config SHELL_WEBSOCKET_INIT_LOG_LEVEL_NONE
|
|
bool "None"
|
|
|
|
endchoice
|
|
|
|
config SHELL_WEBSOCKET_INIT_LOG_LEVEL
|
|
int
|
|
default 0 if SHELL_WEBSOCKET_INIT_LOG_LEVEL_NONE
|
|
default 1 if SHELL_WEBSOCKET_INIT_LOG_LEVEL_ERR
|
|
default 2 if SHELL_WEBSOCKET_INIT_LOG_LEVEL_WRN
|
|
default 3 if SHELL_WEBSOCKET_INIT_LOG_LEVEL_INF
|
|
default 4 if SHELL_WEBSOCKET_INIT_LOG_LEVEL_DBG
|
|
default 5 if SHELL_WEBSOCKET_INIT_LOG_LEVEL_DEFAULT
|
|
|
|
module = SHELL_WEBSOCKET
|
|
module-str = Websocket shell backend
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
endif # SHELL_WEBSOCKET_BACKEND
|
|
|
|
config SHELL_BACKEND_DUMMY
|
|
bool "Dummy backend."
|
|
help
|
|
Enable dummy backend which can be used to execute commands with no
|
|
need for physical transport interface.
|
|
|
|
if SHELL_BACKEND_DUMMY
|
|
|
|
config SHELL_PROMPT_DUMMY
|
|
string "Displayed prompt name"
|
|
default "~$ "
|
|
help
|
|
Displayed prompt name for DUMMY backend. If prompt is set, the shell will
|
|
send two newlines during initialization.
|
|
|
|
config SHELL_BACKEND_DUMMY_BUF_SIZE
|
|
int "Size of dummy buffer size"
|
|
default 400 if LOG_PRINTK
|
|
default 300
|
|
help
|
|
This is size of output buffer that will be used by dummy backend, this limits number of
|
|
characters that will be captured from command output.
|
|
|
|
choice
|
|
prompt "Initial log level limit"
|
|
default SHELL_DUMMY_INIT_LOG_LEVEL_INF
|
|
|
|
config SHELL_DUMMY_INIT_LOG_LEVEL_DEFAULT
|
|
bool "System limit (LOG_MAX_LEVEL)"
|
|
|
|
config SHELL_DUMMY_INIT_LOG_LEVEL_DBG
|
|
bool "Debug"
|
|
|
|
config SHELL_DUMMY_INIT_LOG_LEVEL_INF
|
|
bool "Info"
|
|
|
|
config SHELL_DUMMY_INIT_LOG_LEVEL_WRN
|
|
bool "Warning"
|
|
|
|
config SHELL_DUMMY_INIT_LOG_LEVEL_ERR
|
|
bool "Error"
|
|
|
|
config SHELL_DUMMY_INIT_LOG_LEVEL_NONE
|
|
bool "None"
|
|
|
|
endchoice
|
|
|
|
config SHELL_DUMMY_INIT_LOG_LEVEL
|
|
int
|
|
default 0 if SHELL_DUMMY_INIT_LOG_LEVEL_NONE
|
|
default 1 if SHELL_DUMMY_INIT_LOG_LEVEL_ERR
|
|
default 2 if SHELL_DUMMY_INIT_LOG_LEVEL_WRN
|
|
default 3 if SHELL_DUMMY_INIT_LOG_LEVEL_INF
|
|
default 4 if SHELL_DUMMY_INIT_LOG_LEVEL_DBG
|
|
default 5 if SHELL_DUMMY_INIT_LOG_LEVEL_DEFAULT
|
|
|
|
endif # SHELL_BACKEND_DUMMY
|
|
|
|
config SHELL_BACKEND_ADSP_MEMORY_WINDOW
|
|
bool "Shell backend implemented over mapped memory window."
|
|
depends on SOC_FAMILY_INTEL_ADSP
|
|
help
|
|
Enable ADSP memory window backend which can be used to execute commands
|
|
from remote host processor that has access to the same memory window.
|
|
|
|
if SHELL_BACKEND_ADSP_MEMORY_WINDOW
|
|
|
|
config SHELL_BACKEND_ADSP_MEMORY_WINDOW_PROMPT
|
|
string "Displayed prompt name"
|
|
default "~$ "
|
|
help
|
|
Displayed prompt name for ADSP memory window backend. If prompt is set,
|
|
the shell will send two newlines during initialization.
|
|
|
|
config SHELL_BACKEND_ADSP_MEMORY_WINDOW_POLL_INTERVAL
|
|
int "Poll interval (in microseconds)"
|
|
default 100
|
|
help
|
|
This option can be used to modify the poll interval the backend uses
|
|
to check for new commands.
|
|
|
|
endif # SHELL_BACKEND_ADSP_MEMORY_WINDOW
|
|
|
|
endif # SHELL_BACKENDS
|