1# Shell backends configuration options 2 3# Copyright (c) 2018 Nordic Semiconductor ASA 4# SPDX-License-Identifier: Apache-2.0 5 6menuconfig SHELL_BACKENDS 7 bool "Shell backends" 8 default y 9 help 10 Enable shell backends. 11 12if SHELL_BACKENDS 13 14# Workaround for not being able to have commas in macro arguments 15DT_CHOSEN_Z_SHELL_UART := zephyr,shell-uart 16 17config SHELL_BACKEND_SERIAL 18 bool "Serial backend" 19 default "$(dt_chosen_enabled,$(DT_CHOSEN_Z_SHELL_UART))" 20 select SERIAL 21 select RING_BUFFER 22 help 23 Enable serial backend. 24 25if SHELL_BACKEND_SERIAL 26 27config SHELL_BACKEND_SERIAL_INIT_PRIORITY 28 int "Initialization priority" 29 default APPLICATION_INIT_PRIORITY 30 range 0 99 31 help 32 Initialization priority for UART backend. This must be bigger than 33 the initialization priority of the used serial device. 34 35config SHELL_PROMPT_UART 36 string "Displayed prompt name" 37 default "uart:~$ " 38 help 39 Displayed prompt name for UART backend. If prompt is set, the shell will 40 send two newlines during initialization. 41 42config SHELL_BACKEND_SERIAL_INTERRUPT_DRIVEN 43 bool "Interrupt driven" 44 default y if !UART_NATIVE_PTY 45 depends on SERIAL_SUPPORT_INTERRUPT 46 47config SHELL_ASYNC_API 48 bool "Asynchronous shell API" 49 default n 50 depends on UART_ASYNC_API 51 help 52 This option enables asynchronous shell API. 53 54choice SHELL_BACKEND_SERIAL_API 55 prompt "Mode" 56 default SHELL_BACKEND_SERIAL_API_ASYNC if SHELL_ASYNC_API 57 default SHELL_BACKEND_SERIAL_API_INTERRUPT_DRIVEN if SHELL_BACKEND_SERIAL_INTERRUPT_DRIVEN 58 default SHELL_BACKEND_SERIAL_API_POLLING 59 60config SHELL_BACKEND_SERIAL_API_POLLING 61 prompt "Polling" 62 63config SHELL_BACKEND_SERIAL_API_INTERRUPT_DRIVEN 64 bool "Interrupt driven" 65 depends on SERIAL_SUPPORT_INTERRUPT 66 select UART_INTERRUPT_DRIVEN 67 68 69config SHELL_BACKEND_SERIAL_API_ASYNC 70 bool "Asynchronous" 71 depends on SERIAL_SUPPORT_ASYNC 72 select UART_ASYNC_RX_HELPER 73 74endchoice 75 76config SHELL_BACKEND_SERIAL_FORCE_TX_BLOCKING_MODE 77 bool "Force blocking mode for TX" 78 help 79 Force blocking mode for TX. 80 81config SHELL_BACKEND_SERIAL_TX_RING_BUFFER_SIZE 82 int "Set TX ring buffer size" 83 default 8 84 depends on SHELL_BACKEND_SERIAL_API_INTERRUPT_DRIVEN 85 help 86 If UART is utilizing DMA transfers then increasing ring buffer size 87 increases transfers length and reduces number of interrupts. 88 89config SHELL_BACKEND_SERIAL_RX_RING_BUFFER_SIZE 90 int "Set RX ring buffer size" 91 depends on SHELL_BACKEND_SERIAL_API_INTERRUPT_DRIVEN || SHELL_BACKEND_SERIAL_API_POLLING 92 default 256 if MCUMGR_TRANSPORT_SHELL 93 default 64 94 help 95 RX ring buffer size impacts accepted latency of handling incoming 96 bytes by shell. If shell input is coming from the keyboard then it is 97 usually enough if ring buffer is few bytes (more than one due to 98 escape sequences). However, if bulk data is transferred it may be 99 required to increase it. 100 101config SHELL_BACKEND_SERIAL_NEEDS_LARGE_RING_BUFFER 102 bool 103 default y if SHELL_BACKEND_SERIAL_TX_RING_BUFFER_SIZE > $(INT16_MAX) 104 default y if SHELL_BACKEND_SERIAL_RX_RING_BUFFER_SIZE > $(INT16_MAX) 105 select RING_BUFFER_LARGE 106 help 107 This is a helper Kconfig to select RING_BUFFER_LARGE when the implementation 108 requires a ring buffer of > 32kB. 109 110if SHELL_BACKEND_SERIAL_API_ASYNC 111 112config SHELL_BACKEND_SERIAL_ASYNC_RX_TIMEOUT 113 int "RX inactivity timeout (in microseconds)" 114 default 10000 115 help 116 Inactivity timeout after which received data is reported. 117 118config SHELL_BACKEND_SERIAL_ASYNC_RX_BUFFER_COUNT 119 int "Number of RX buffers" 120 default 4 121 range 2 64 122 help 123 Number of RX buffers. Some UART driver implementations changes buffers 124 on timeout so this number should be big enough to cover handling on 125 time incoming data. 4 should be enough for almost all the cases unless 126 CPU load is high and there is very high shell thread latency. 127 128config SHELL_BACKEND_SERIAL_ASYNC_RX_BUFFER_SIZE 129 int "Size of the RX buffer" 130 default 16 131 help 132 Size of a single RX buffer. Together with buffer count it defines the 133 space that can hold RX data. It may be decreased if shell input is 134 slow and may need to be increased if long messages are pasted directly 135 to the shell prompt. 136 137endif # SHELL_BACKEND_SERIAL_API_ASYNC 138 139config SHELL_BACKEND_SERIAL_RX_POLL_PERIOD 140 int "RX polling period (in milliseconds)" 141 default 10 142 depends on SHELL_BACKEND_SERIAL_API_POLLING 143 help 144 Determines how often UART is polled for RX byte. 145 146config SHELL_BACKEND_SERIAL_CHECK_DTR 147 bool "Check DTR signal before TX" 148 depends on SHELL_BACKEND_SERIAL_API_INTERRUPT_DRIVEN 149 depends on UART_LINE_CTRL 150 help 151 Check DTR signal before TX. 152 153module = SHELL_BACKEND_SERIAL 154default-timeout = 100 155source "subsys/shell/Kconfig.template.shell_log_queue_timeout" 156 157default-size = 512 158source "subsys/shell/Kconfig.template.shell_log_queue_size" 159 160choice 161 prompt "Initial log level limit" 162 default SHELL_BACKEND_SERIAL_LOG_LEVEL_DEFAULT 163 164config SHELL_BACKEND_SERIAL_LOG_LEVEL_DEFAULT 165 bool "System limit (LOG_MAX_LEVEL)" 166 167config SHELL_BACKEND_SERIAL_LOG_LEVEL_DBG 168 bool "Debug" 169 170config SHELL_BACKEND_SERIAL_LOG_LEVEL_INF 171 bool "Info" 172 173config SHELL_BACKEND_SERIAL_LOG_LEVEL_WRN 174 bool "Warning" 175 176config SHELL_BACKEND_SERIAL_LOG_LEVEL_ERR 177 bool "Error" 178 179config SHELL_BACKEND_SERIAL_LOG_LEVEL_NONE 180 bool "None" 181 182endchoice 183 184config SHELL_BACKEND_SERIAL_LOG_LEVEL 185 int 186 default 0 if SHELL_BACKEND_SERIAL_LOG_LEVEL_NONE 187 default 1 if SHELL_BACKEND_SERIAL_LOG_LEVEL_ERR 188 default 2 if SHELL_BACKEND_SERIAL_LOG_LEVEL_WRN 189 default 3 if SHELL_BACKEND_SERIAL_LOG_LEVEL_INF 190 default 4 if SHELL_BACKEND_SERIAL_LOG_LEVEL_DBG 191 default 5 if SHELL_BACKEND_SERIAL_LOG_LEVEL_DEFAULT 192 193endif # SHELL_BACKEND_SERIAL 194 195config SHELL_BACKEND_RTT 196 bool "RTT backend" 197 select CONSOLE 198 select RTT_CONSOLE 199 select SEGGER_RTT_CUSTOM_LOCKING 200 depends on USE_SEGGER_RTT 201 # RTT backend can only be called from thread context. 202 depends on !(SHELL_LOG_BACKEND && LOG_MODE_IMMEDIATE) 203 help 204 Enable RTT backend. 205 206if SHELL_BACKEND_RTT 207 208config SHELL_PROMPT_RTT 209 string "Displayed prompt name" 210 default "rtt:~$ " 211 help 212 Displayed prompt name for RTT backend. If prompt is set, the shell will 213 send two newlines during initialization. 214 215config SHELL_BACKEND_RTT_BUFFER 216 int "Buffer number used for shell input and output." 217 range 0 SEGGER_RTT_MAX_NUM_UP_BUFFERS 218 default 0 219 help 220 Select index of up-buffer used for shell output, by default it uses 221 terminal up-buffer and its settings. 222 223config SHELL_BACKEND_RTT_RETRY_CNT 224 int "Number of retries" 225 default 4 226 help 227 Number of TX retries before dropping the data and assuming that 228 RTT session is inactive. 229 230config SHELL_BACKEND_RTT_RETRY_DELAY_MS 231 int "Delay between TX retries in milliseconds" 232 default 5 233 help 234 Sleep period between TX retry attempts. During RTT session, host pulls 235 data periodically. Period starts from 1-2 milliseconds and can be 236 increased if traffic on RTT increases (also from host to device). In 237 case of heavy traffic data can be lost and it may be necessary to 238 increase delay or number of retries. 239 240config SHELL_RTT_RX_POLL_PERIOD 241 int "RX polling period (in milliseconds)" 242 default 10 243 help 244 Determines how often RTT is polled for RX byte. 245 246module = SHELL_BACKEND_RTT 247default-timeout = 100 248source "subsys/shell/Kconfig.template.shell_log_queue_timeout" 249 250default-size = 512 251source "subsys/shell/Kconfig.template.shell_log_queue_size" 252 253choice 254 prompt "Initial log level limit" 255 default SHELL_RTT_INIT_LOG_LEVEL_DEFAULT 256 257config SHELL_RTT_INIT_LOG_LEVEL_DEFAULT 258 bool "System limit (LOG_MAX_LEVEL)" 259 260config SHELL_RTT_INIT_LOG_LEVEL_DBG 261 bool "Debug" 262 263config SHELL_RTT_INIT_LOG_LEVEL_INF 264 bool "Info" 265 266config SHELL_RTT_INIT_LOG_LEVEL_WRN 267 bool "Warning" 268 269config SHELL_RTT_INIT_LOG_LEVEL_ERR 270 bool "Error" 271 272config SHELL_RTT_INIT_LOG_LEVEL_NONE 273 bool "None" 274 275endchoice 276 277config SHELL_RTT_INIT_LOG_LEVEL 278 int 279 default 0 if SHELL_RTT_INIT_LOG_LEVEL_NONE 280 default 1 if SHELL_RTT_INIT_LOG_LEVEL_ERR 281 default 2 if SHELL_RTT_INIT_LOG_LEVEL_WRN 282 default 3 if SHELL_RTT_INIT_LOG_LEVEL_INF 283 default 4 if SHELL_RTT_INIT_LOG_LEVEL_DBG 284 default 5 if SHELL_RTT_INIT_LOG_LEVEL_DEFAULT 285 286module = SHELL_RTT 287module-str = RTT shell backend 288source "subsys/logging/Kconfig.template.log_config" 289 290endif # SHELL_BACKEND_RTT 291 292config SHELL_BACKEND_MQTT 293 bool "MQTT backend" 294 depends on NET_TCP 295 depends on NET_IPV4 296 depends on NETWORKING 297 select DNS_RESOLVER 298 select HWINFO 299 select MQTT_LIB 300 select NET_CONNECTION_MANAGER 301 help 302 Enable MQTT backend. 303 304if SHELL_BACKEND_MQTT 305 306config SHELL_MQTT_SERVER_ADDR 307 string "MQTT server address" 308 default "192.168.0.100" 309 help 310 MQTT server address. 311 312config SHELL_MQTT_SERVER_PORT 313 int "MQTT server port" 314 default 1883 315 help 316 MQTT server port. 317 318config SHELL_MQTT_SERVER_USERNAME 319 string "MQTT server username" 320 help 321 MQTT server username. 322 323config SHELL_MQTT_SERVER_PASSWORD 324 string "MQTT server password" 325 help 326 MQTT server password. 327 328config SHELL_MQTT_RX_BUF_SIZE 329 int "RX buffer size" 330 default 256 331 help 332 Buffer size for the MQTT data reception. 333 334config SHELL_MQTT_NEEDS_LARGE_RING_BUFFER 335 bool 336 default y if SHELL_MQTT_RX_BUF_SIZE > $(INT16_MAX) 337 select RING_BUFFER_LARGE 338 help 339 This is a helper Kconfig to select RING_BUFFER_LARGE when the implementation 340 requires a ring buffer of > 32kB. 341 342config SHELL_MQTT_TX_BUF_SIZE 343 int "TX buffer size" 344 range 32 $(UINT16_MAX) 345 default 256 346 help 347 Buffer size for the MQTT data transmission. 348 349config SHELL_MQTT_CONNECT_TIMEOUT_MS 350 int "MQTT connect timeout [ms]" 351 default 2000 352 help 353 Time to await MQTT connect acknowledge in milliseconds. 354 355config SHELL_MQTT_WORK_DELAY_MS 356 int "MQTT work delay [ms]" 357 default 1000 358 help 359 Period between MQTT work in milliseconds. 360 361config SHELL_MQTT_LISTEN_TIMEOUT_MS 362 int "MQTT listen timeout [ms]" 363 default 500 364 help 365 Time to listen for incoming packets in milliseconds. 366 367config SHELL_MQTT_TOPIC_RX_ID 368 string "MQTT topic receive identifier" 369 default "/sh/rx" 370 help 371 String used as receive identifier in the MQTT topic. 372 373config SHELL_MQTT_TOPIC_TX_ID 374 string "MQTT topic transmit identifier" 375 default "/sh/tx" 376 help 377 String used as transmit identifier in the MQTT topic. 378 379module = SHELL_BACKEND_MQTT 380default-timeout = 100 381source "subsys/shell/Kconfig.template.shell_log_queue_timeout" 382 383default-size = 512 384source "subsys/shell/Kconfig.template.shell_log_queue_size" 385 386choice 387 prompt "Initial log level limit" 388 default SHELL_MQTT_INIT_LOG_LEVEL_DEFAULT 389 390config SHELL_MQTT_INIT_LOG_LEVEL_DEFAULT 391 bool "System limit (LOG_MAX_LEVEL)" 392 393config SHELL_MQTT_INIT_LOG_LEVEL_DBG 394 bool "Debug" 395 396config SHELL_MQTT_INIT_LOG_LEVEL_INF 397 bool "Info" 398 399config SHELL_MQTT_INIT_LOG_LEVEL_WRN 400 bool "Warning" 401 402config SHELL_MQTT_INIT_LOG_LEVEL_ERR 403 bool "Error" 404 405config SHELL_MQTT_INIT_LOG_LEVEL_NONE 406 bool "None" 407 408endchoice # SHELL_MQTT_INIT_LOG_LEVEL 409 410config SHELL_MQTT_INIT_LOG_LEVEL 411 int 412 default 0 if SHELL_MQTT_INIT_LOG_LEVEL_NONE 413 default 1 if SHELL_MQTT_INIT_LOG_LEVEL_ERR 414 default 2 if SHELL_MQTT_INIT_LOG_LEVEL_WRN 415 default 3 if SHELL_MQTT_INIT_LOG_LEVEL_INF 416 default 4 if SHELL_MQTT_INIT_LOG_LEVEL_DBG 417 default 5 if SHELL_MQTT_INIT_LOG_LEVEL_DEFAULT 418 419module = SHELL_MQTT 420module-str = MQTT shell backend 421source "subsys/logging/Kconfig.template.log_config" 422 423endif # SHELL_BACKEND_MQTT 424 425config SHELL_BACKEND_RPMSG 426 bool "RPMsg backend." 427 depends on OPENAMP 428 help 429 Enable RPMsg backend. 430 431if SHELL_BACKEND_RPMSG 432 433config SHELL_PROMPT_RPMSG 434 string "Displayed prompt name" 435 default "ipc:~$ " 436 help 437 Displayed prompt name for RPMsg backend. If prompt is set, the shell will 438 send two newlines during initialization. 439 440config SHELL_RPMSG_SERVICE_NAME 441 string "Service name" 442 default "rpmsg-tty" 443 help 444 The service name associated with the RPMsg endpoint. 445 446config SHELL_RPMSG_SRC_ADDR 447 hex "Local address" 448 default 0xffffffff # The ANY address 449 help 450 Local address of the RPMsg endpoint. 451 452config SHELL_RPMSG_DST_ADDR 453 hex "Remote address" 454 default 0xffffffff # The ANY address 455 help 456 Target address of the RPMsg endpoint. 457 458config SHELL_RPMSG_MAX_RX 459 int "Receive buffer size" 460 default 10 461 help 462 The maximum number of received messages to be queued. 463 464module = SHELL_BACKEND_RPMSG 465default-timeout = 100 466source "subsys/shell/Kconfig.template.shell_log_queue_timeout" 467 468default-size = 512 469source "subsys/shell/Kconfig.template.shell_log_queue_size" 470 471choice 472 prompt "Initial log level limit" 473 default SHELL_RPMSG_INIT_LOG_LEVEL_DEFAULT 474 475config SHELL_RPMSG_INIT_LOG_LEVEL_DEFAULT 476 bool "System limit (LOG_MAX_LEVEL)" 477 478config SHELL_RPMSG_INIT_LOG_LEVEL_DBG 479 bool "Debug" 480 481config SHELL_RPMSG_INIT_LOG_LEVEL_INF 482 bool "Info" 483 484config SHELL_RPMSG_INIT_LOG_LEVEL_WRN 485 bool "Warning" 486 487config SHELL_RPMSG_INIT_LOG_LEVEL_ERR 488 bool "Error" 489 490config SHELL_RPMSG_INIT_LOG_LEVEL_NONE 491 bool "None" 492 493endchoice # SHELL_RPMSG_INIT_LOG_LEVEL 494 495config SHELL_RPMSG_INIT_LOG_LEVEL 496 int 497 default 0 if SHELL_RPMSG_INIT_LOG_LEVEL_NONE 498 default 1 if SHELL_RPMSG_INIT_LOG_LEVEL_ERR 499 default 2 if SHELL_RPMSG_INIT_LOG_LEVEL_WRN 500 default 3 if SHELL_RPMSG_INIT_LOG_LEVEL_INF 501 default 4 if SHELL_RPMSG_INIT_LOG_LEVEL_DBG 502 default 5 if SHELL_RPMSG_INIT_LOG_LEVEL_DEFAULT 503 504module = SHELL_RPMSG 505module-str = RPMsg shell backend 506source "subsys/logging/Kconfig.template.log_config" 507 508endif # SHELL_BACKEND_RPMSG 509 510config SHELL_BACKEND_TELNET 511 bool "TELNET backend." 512 depends on NET_TCP 513 depends on NET_IPV4 || NET_IPV6 514 select NET_SOCKETS_SERVICE 515 select NET_SOCKETS 516 help 517 Enable TELNET backend. 518 519if SHELL_BACKEND_TELNET 520 521config SHELL_TELNET_INIT_PRIORITY 522 int "Initialization priority" 523 default 95 524 range 0 99 525 help 526 Initialization priority for telnet shell backend. This must be higher 527 than socket service initialization priority, as socket service has to 528 be initialized earlier. 529 530config SHELL_PROMPT_TELNET 531 string "Displayed prompt name" 532 default "~$ " 533 help 534 Displayed prompt name for TELNET backend. If prompt is set, the shell will 535 send two newlines during initialization. 536 537config SHELL_TELNET_PORT 538 int "Telnet port number" 539 default 23 540 help 541 This option is used to configure on which port telnet is going 542 to be bound. 543 544config SHELL_TELNET_LINE_BUF_SIZE 545 int "Telnet line buffer size" 546 default 80 547 help 548 This option can be used to modify the size of the buffer storing 549 shell output line, prior to sending it through the network. 550 Of course an output line can be longer than such size, it just 551 means sending it will start as soon as it reaches this size. 552 It really depends on what type of output is expected. 553 A lot of short lines: better reduce this value. On the contrary, 554 raise it. 555 556config SHELL_TELNET_SEND_TIMEOUT 557 int "Telnet line send timeout" 558 default 100 559 help 560 This option can be used to modify the duration of the timer that kick 561 in when a line buffer is not empty but did not yet meet the line feed. 562 563config SHELL_TELNET_SUPPORT_COMMAND 564 bool "Add support for telnet commands (IAC) [EXPERIMENTAL]" 565 select EXPERIMENTAL 566 help 567 Current support is so limited it's not interesting to enable it. 568 However, if proven to be needed at some point, it will be possible 569 to extend such support. It does have support for echo and "character 570 at a time" mode, which enable the history and line-editing features 571 of the shell. 572 IMPORTANT: This will increase network usage as a TCP packet will be 573 sent each time a character is typed in the telnet client. 574 575module = SHELL_TELNET 576default-timeout = 100 577source "subsys/shell/Kconfig.template.shell_log_queue_timeout" 578 579default-size = 512 580source "subsys/shell/Kconfig.template.shell_log_queue_size" 581 582choice 583 prompt "Initial log level limit" 584 default SHELL_TELNET_INIT_LOG_LEVEL_DEFAULT 585 586config SHELL_TELNET_INIT_LOG_LEVEL_DEFAULT 587 bool "System limit (LOG_MAX_LEVEL)" 588 589config SHELL_TELNET_INIT_LOG_LEVEL_DBG 590 bool "Debug" 591 592config SHELL_TELNET_INIT_LOG_LEVEL_INF 593 bool "Info" 594 595config SHELL_TELNET_INIT_LOG_LEVEL_WRN 596 bool "Warning" 597 598config SHELL_TELNET_INIT_LOG_LEVEL_ERR 599 bool "Error" 600 601config SHELL_TELNET_INIT_LOG_LEVEL_NONE 602 bool "None" 603 604endchoice 605 606config SHELL_TELNET_INIT_LOG_LEVEL 607 int 608 default 0 if SHELL_TELNET_INIT_LOG_LEVEL_NONE 609 default 1 if SHELL_TELNET_INIT_LOG_LEVEL_ERR 610 default 2 if SHELL_TELNET_INIT_LOG_LEVEL_WRN 611 default 3 if SHELL_TELNET_INIT_LOG_LEVEL_INF 612 default 4 if SHELL_TELNET_INIT_LOG_LEVEL_DBG 613 default 5 if SHELL_TELNET_INIT_LOG_LEVEL_DEFAULT 614 615module = SHELL_TELNET 616module-str = TELNET shell backend 617source "subsys/logging/Kconfig.template.log_config" 618 619endif # SHELL_TELNET_BACKEND 620 621config SHELL_BACKEND_WEBSOCKET 622 bool "Websocket backend." 623 depends on HTTP_SERVER_WEBSOCKET 624 depends on NET_NATIVE_IP 625 select NET_SOCKETS_SERVICE 626 select NET_SOCKETS 627 help 628 Enable Websocket backend. 629 630if SHELL_BACKEND_WEBSOCKET 631 632config SHELL_WEBSOCKET_BACKEND_COUNT 633 int "How many Webconsole sessions are supported" 634 default 2 635 range 1 8 636 help 637 Each connection consumes memory so select the value according to your 638 needs. Also note that each console session needs unique HTTP endpoint 639 configured. 640 Note that if you have only one HTTP endpoint for the websocket console, 641 setting the this value to 2, allows latter console session to kick out 642 the previous one. If set this value to 1, then the latter connecting 643 webconsole session will fail. If you have multiple HTTP endpoints, then 644 This value should be increased accordingly. 645 646config SHELL_WEBSOCKET_PROMPT 647 string "Displayed prompt name" 648 default "" 649 help 650 Displayed prompt name for Websocket backend. If prompt is set, the shell will 651 send two newlines during initialization. 652 653config SHELL_WEBSOCKET_ENDPOINT_URL 654 string "Websocket endpoint URL" 655 default "console" 656 help 657 What is the HTTP endpoint URL where the client should connect to. 658 659config SHELL_WEBSOCKET_IP_ADDR 660 string "Websocket IP listen address" 661 default "" 662 help 663 This option is used to configure on which IP address and network interface 664 the HTTP server is listening. If left empty, then all network interfaces are 665 listened. 666 667config SHELL_WEBSOCKET_PORT 668 int "Websocket port number" 669 default 443 if NET_SOCKETS_SOCKOPT_TLS 670 default 80 671 help 672 This option is used to configure on which port websocket is going 673 to be bound. 674 675config SHELL_WEBSOCKET_LINE_BUF_SIZE 676 int "Websocket line buffer size" 677 default 100 678 help 679 This option can be used to modify the size of the buffer storing 680 shell output line, prior to sending it through the network. 681 Of course an output line can be longer than such size, it just 682 means sending it will start as soon as it reaches this size. 683 It really depends on what type of output is expected. 684 A lot of short lines: better reduce this value. On the contrary, 685 raise it. 686 687config SHELL_WEBSOCKET_SEND_TIMEOUT 688 int "Websocket line send timeout" 689 default 100 690 help 691 This option can be used to modify the duration of the timer that kick 692 in when a line buffer is not empty but did not yet meet the line feed. 693 694module = SHELL_WEBSOCKET 695default-timeout = 100 696source "subsys/shell/Kconfig.template.shell_log_queue_timeout" 697 698default-size = 512 699source "subsys/shell/Kconfig.template.shell_log_queue_size" 700 701choice 702 prompt "Initial log level limit" 703 default SHELL_WEBSOCKET_INIT_LOG_LEVEL_DEFAULT 704 705config SHELL_WEBSOCKET_INIT_LOG_LEVEL_DEFAULT 706 bool "System limit (LOG_MAX_LEVEL)" 707 708config SHELL_WEBSOCKET_INIT_LOG_LEVEL_DBG 709 bool "Debug" 710 711config SHELL_WEBSOCKET_INIT_LOG_LEVEL_INF 712 bool "Info" 713 714config SHELL_WEBSOCKET_INIT_LOG_LEVEL_WRN 715 bool "Warning" 716 717config SHELL_WEBSOCKET_INIT_LOG_LEVEL_ERR 718 bool "Error" 719 720config SHELL_WEBSOCKET_INIT_LOG_LEVEL_NONE 721 bool "None" 722 723endchoice 724 725config SHELL_WEBSOCKET_INIT_LOG_LEVEL 726 int 727 default 0 if SHELL_WEBSOCKET_INIT_LOG_LEVEL_NONE 728 default 1 if SHELL_WEBSOCKET_INIT_LOG_LEVEL_ERR 729 default 2 if SHELL_WEBSOCKET_INIT_LOG_LEVEL_WRN 730 default 3 if SHELL_WEBSOCKET_INIT_LOG_LEVEL_INF 731 default 4 if SHELL_WEBSOCKET_INIT_LOG_LEVEL_DBG 732 default 5 if SHELL_WEBSOCKET_INIT_LOG_LEVEL_DEFAULT 733 734module = SHELL_WEBSOCKET 735module-str = Websocket shell backend 736source "subsys/logging/Kconfig.template.log_config" 737 738endif # SHELL_WEBSOCKET_BACKEND 739 740config SHELL_BACKEND_DUMMY 741 bool "Dummy backend." 742 help 743 Enable dummy backend which can be used to execute commands with no 744 need for physical transport interface. 745 746if SHELL_BACKEND_DUMMY 747 748config SHELL_PROMPT_DUMMY 749 string "Displayed prompt name" 750 default "~$ " 751 help 752 Displayed prompt name for DUMMY backend. If prompt is set, the shell will 753 send two newlines during initialization. 754 755config SHELL_BACKEND_DUMMY_BUF_SIZE 756 int "Size of dummy buffer size" 757 default 400 if LOG_PRINTK 758 default 300 759 help 760 This is size of output buffer that will be used by dummy backend, this limits number of 761 characters that will be captured from command output. 762 763choice 764 prompt "Initial log level limit" 765 default SHELL_DUMMY_INIT_LOG_LEVEL_INF 766 767config SHELL_DUMMY_INIT_LOG_LEVEL_DEFAULT 768 bool "System limit (LOG_MAX_LEVEL)" 769 770config SHELL_DUMMY_INIT_LOG_LEVEL_DBG 771 bool "Debug" 772 773config SHELL_DUMMY_INIT_LOG_LEVEL_INF 774 bool "Info" 775 776config SHELL_DUMMY_INIT_LOG_LEVEL_WRN 777 bool "Warning" 778 779config SHELL_DUMMY_INIT_LOG_LEVEL_ERR 780 bool "Error" 781 782config SHELL_DUMMY_INIT_LOG_LEVEL_NONE 783 bool "None" 784 785endchoice 786 787config SHELL_DUMMY_INIT_LOG_LEVEL 788 int 789 default 0 if SHELL_DUMMY_INIT_LOG_LEVEL_NONE 790 default 1 if SHELL_DUMMY_INIT_LOG_LEVEL_ERR 791 default 2 if SHELL_DUMMY_INIT_LOG_LEVEL_WRN 792 default 3 if SHELL_DUMMY_INIT_LOG_LEVEL_INF 793 default 4 if SHELL_DUMMY_INIT_LOG_LEVEL_DBG 794 default 5 if SHELL_DUMMY_INIT_LOG_LEVEL_DEFAULT 795 796endif # SHELL_BACKEND_DUMMY 797 798config SHELL_BACKEND_ADSP_MEMORY_WINDOW 799 bool "Shell backend implemented over mapped memory window." 800 depends on SOC_FAMILY_INTEL_ADSP 801 help 802 Enable ADSP memory window backend which can be used to execute commands 803 from remote host processor that has access to the same memory window. 804 805if SHELL_BACKEND_ADSP_MEMORY_WINDOW 806 807config SHELL_BACKEND_ADSP_MEMORY_WINDOW_PROMPT 808 string "Displayed prompt name" 809 default "~$ " 810 help 811 Displayed prompt name for ADSP memory window backend. If prompt is set, 812 the shell will send two newlines during initialization. 813 814config SHELL_BACKEND_ADSP_MEMORY_WINDOW_POLL_INTERVAL 815 int "Poll interval (in microseconds)" 816 default 100 817 help 818 This option can be used to modify the poll interval the backend uses 819 to check for new commands. 820 821endif # SHELL_BACKEND_ADSP_MEMORY_WINDOW 822 823endif # SHELL_BACKENDS 824