|  | # 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" | 
|  | 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 | 
|  | # RTT backend can only be called from thread context. | 
|  | depends on !(SHELL_LOG_BACKEND && LOG_MODE_IMMEDIATE) | 
|  | 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 |