1# Copyright Runtime.io 2018. All rights reserved.
2# Copyright Nordic Semiconductor ASA 2020-2022. All rights reserved.
3# SPDX-License-Identifier: Apache-2.0
4
5# The Kconfig file is dedicated to shell transport of MCUmgr
6# subsystem and provides Kconfig options to control aspects of
7# the transport.
8#
9# Options defined in this file should be prefixed:
10#  MCUMGR_TRANSPORT_SHELL_
11
12menuconfig MCUMGR_TRANSPORT_SHELL
13	bool "Shell mcumgr SMP transport"
14	depends on SHELL
15	depends on BASE64
16	depends on CRC
17	help
18	  Enables handling of SMP commands received over shell.  This allows
19	  the shell to be use for both mcumgr commands and shell commands.
20
21if MCUMGR_TRANSPORT_SHELL
22
23config MCUMGR_TRANSPORT_SHELL_MTU
24	int "Shell SMP MTU"
25	default 256
26	help
27	  Maximum size of SMP frames sent and received over shell.  This value
28	  must satisfy the following relation:
29	  MCUMGR_TRANSPORT_SHELL_MTU <= MCUMGR_TRANSPORT_NETBUF_SIZE + 2
30
31config MCUMGR_TRANSPORT_SHELL_RX_BUF_COUNT
32	int "Shell SMP RX buffer count"
33	default 2
34	help
35	  Number of buffers used for receiving SMP fragments over shell.
36
37config MCUMGR_TRANSPORT_SHELL_INPUT_TIMEOUT
38	bool "Shell input expiration"
39	help
40	  If enabled, will time out a partial or erroneous MCUmgr command
41	  received via the shell transport after a given time. This prevents
42	  the shell from becoming locked if it never receives the full packet
43	  that a header indicated it would receive.
44
45config MCUMGR_TRANSPORT_SHELL_INPUT_TIMEOUT_TIME
46	int "Shell input expiration timeout"
47	depends on MCUMGR_TRANSPORT_SHELL_INPUT_TIMEOUT
48	default 3000
49	help
50	  Time (in msec) after receiving a valid MCUmgr header on the serial
51	  transport before considering it as timed out and returning the shell
52	  to normal operation.
53
54endif # MCUMGR_TRANSPORT_SHELL
55