2022-12-02 21:54:52 +08:00
|
|
|
# Copyright Runtime.io 2018. All rights reserved.
|
|
|
|
# Copyright Nordic Semiconductor ASA 2020-2022. All rights reserved.
|
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
2022-12-02 22:19:31 +08:00
|
|
|
# The Kconfig file is dedicated to smp subdirectory of MCUmgr
|
|
|
|
# subsystem and provides Kconfig options to control aspects of
|
|
|
|
# Simple Management Protocol (SMP) processing source code provided
|
|
|
|
# under the subdirectory.
|
|
|
|
#
|
|
|
|
# Options defined in this file should be prefixed:
|
|
|
|
# MCUMGR_SMP_ -- for general SMP options;
|
|
|
|
# MCUMGR_SMP_CBOR -- for CBOR encoding specific options;
|
|
|
|
|
2022-12-02 21:54:52 +08:00
|
|
|
config MCUMGR_SMP_CBOR_MAX_MAIN_MAP_ENTRIES
|
|
|
|
int "Number of predicted maximum entries to main response map"
|
|
|
|
default 15
|
|
|
|
help
|
|
|
|
This is number of predicted entries in main response map,
|
|
|
|
the one that encapsulates everything within response.
|
|
|
|
This value is used by zcbor to predict needed map encoding,
|
|
|
|
and does not affect memory allocation or usage.
|
|
|
|
Builtin command processors rarely add large amounts of
|
|
|
|
data directly to main map, creating sub-maps instead so
|
|
|
|
the default value works fine with them.
|
|
|
|
If your app directly adds fields to main map, without
|
|
|
|
encapsulating them, you may want to increase this value
|
|
|
|
in case when encoding starts to fail.
|
|
|
|
|
|
|
|
config MCUMGR_SMP_CBOR_MIN_DECODING_LEVELS
|
|
|
|
int
|
|
|
|
help
|
|
|
|
Minimal decoding levels, map/list encapsulation, required
|
|
|
|
to be supported by zcbor decoding of SMP responses
|
|
|
|
is auto genereated from MCUMGR_SMP_CBOR_MIN_DECODING_LEVEL_? options.
|
|
|
|
A group or command that adds additional maps/lists above the
|
|
|
|
base map, which is already taken into account, should
|
|
|
|
select one of the MCUMGR_SMP_CBOR_MIN_DECODING_LEVEL_?.
|
2023-06-19 22:16:02 +08:00
|
|
|
default 7 if MCUMGR_SMP_CBOR_MIN_DECODING_LEVEL_7
|
|
|
|
default 6 if MCUMGR_SMP_CBOR_MIN_DECODING_LEVEL_6
|
2022-12-02 21:54:52 +08:00
|
|
|
default 5 if MCUMGR_SMP_CBOR_MIN_DECODING_LEVEL_5
|
|
|
|
default 4 if MCUMGR_SMP_CBOR_MIN_DECODING_LEVEL_4
|
|
|
|
default 3 if MCUMGR_SMP_CBOR_MIN_DECODING_LEVEL_3
|
|
|
|
default 2 if MCUMGR_SMP_CBOR_MIN_DECODING_LEVEL_2
|
|
|
|
default 1 if MCUMGR_SMP_CBOR_MIN_DECODING_LEVEL_1
|
|
|
|
default 0
|
|
|
|
|
|
|
|
config MCUMGR_SMP_CBOR_MIN_DECODING_LEVEL_1
|
|
|
|
bool
|
|
|
|
|
|
|
|
config MCUMGR_SMP_CBOR_MIN_DECODING_LEVEL_2
|
|
|
|
bool
|
|
|
|
|
|
|
|
config MCUMGR_SMP_CBOR_MIN_DECODING_LEVEL_3
|
|
|
|
bool
|
|
|
|
|
|
|
|
config MCUMGR_SMP_CBOR_MIN_DECODING_LEVEL_4
|
|
|
|
bool
|
|
|
|
|
|
|
|
config MCUMGR_SMP_CBOR_MIN_DECODING_LEVEL_5
|
|
|
|
bool
|
|
|
|
|
2023-06-19 22:16:02 +08:00
|
|
|
config MCUMGR_SMP_CBOR_MIN_DECODING_LEVEL_6
|
|
|
|
bool
|
|
|
|
|
|
|
|
config MCUMGR_SMP_CBOR_MIN_DECODING_LEVEL_7
|
|
|
|
bool
|
|
|
|
|
2022-12-02 21:54:52 +08:00
|
|
|
config MCUMGR_SMP_CBOR_MAX_DECODING_LEVELS
|
2023-06-19 22:16:02 +08:00
|
|
|
int "Number of map/list encapsulations allowed for SMP decoding"
|
2022-12-02 21:54:52 +08:00
|
|
|
range MCUMGR_SMP_CBOR_MIN_DECODING_LEVELS 15
|
|
|
|
default MCUMGR_SMP_CBOR_MIN_DECODING_LEVELS
|
|
|
|
help
|
|
|
|
This is a maximum number of levels of maps/lists that will
|
|
|
|
be expected to be decoded within different command groups.
|
|
|
|
SMP commands/groups that provide no CBOR encoded payload
|
|
|
|
have no requirements.
|
|
|
|
Commands that provide CBOR payload require at least 1 level,
|
|
|
|
and additional levels for each map/list encapsulation.
|
|
|
|
For example if command accepts payload of map of parameters
|
|
|
|
it will need 2 levels.
|
|
|
|
This number translates to zcbor backup states, it increases
|
|
|
|
size of cbor_nb_reader structure by zcbor_state_t size per
|
|
|
|
one unit selected here.
|
|
|
|
|
2023-06-19 22:16:02 +08:00
|
|
|
config MCUMGR_SMP_CBOR_MIN_ENCODING_LEVELS
|
|
|
|
int
|
|
|
|
help
|
|
|
|
Minimal encoding levels, map/list encapsulation, required
|
|
|
|
to be supported by zcbor encoding of SMP responses
|
|
|
|
is auto genereated from MCUMGR_SMP_CBOR_MIN_ENCODING_LEVEL_? options.
|
|
|
|
A group or command that adds additional maps/lists above the
|
|
|
|
base map, which is already taken into account, should
|
|
|
|
select one of the MCUMGR_SMP_CBOR_MIN_ENCODING_LEVEL_?.
|
|
|
|
default 7 if MCUMGR_SMP_CBOR_MIN_ENCODING_LEVEL_7
|
|
|
|
default 6 if MCUMGR_SMP_CBOR_MIN_ENCODING_LEVEL_6
|
|
|
|
default 5 if MCUMGR_SMP_CBOR_MIN_ENCODING_LEVEL_5
|
|
|
|
default 4 if MCUMGR_SMP_CBOR_MIN_ENCODING_LEVEL_4
|
|
|
|
default 3 if MCUMGR_SMP_CBOR_MIN_ENCODING_LEVEL_3
|
|
|
|
default 2 if MCUMGR_SMP_CBOR_MIN_ENCODING_LEVEL_2
|
|
|
|
default 1 if MCUMGR_SMP_CBOR_MIN_ENCODING_LEVEL_1 || ZCBOR_CANONICAL
|
|
|
|
default 0
|
|
|
|
|
|
|
|
config MCUMGR_SMP_CBOR_MIN_ENCODING_LEVEL_1
|
|
|
|
bool
|
|
|
|
|
|
|
|
config MCUMGR_SMP_CBOR_MIN_ENCODING_LEVEL_2
|
|
|
|
bool
|
|
|
|
|
|
|
|
config MCUMGR_SMP_CBOR_MIN_ENCODING_LEVEL_3
|
|
|
|
bool
|
|
|
|
|
|
|
|
config MCUMGR_SMP_CBOR_MIN_ENCODING_LEVEL_4
|
|
|
|
bool
|
|
|
|
|
|
|
|
config MCUMGR_SMP_CBOR_MIN_ENCODING_LEVEL_5
|
|
|
|
bool
|
|
|
|
|
|
|
|
config MCUMGR_SMP_CBOR_MIN_ENCODING_LEVEL_6
|
|
|
|
bool
|
|
|
|
|
|
|
|
config MCUMGR_SMP_CBOR_MIN_ENCODING_LEVEL_7
|
|
|
|
bool
|
|
|
|
|
|
|
|
config MCUMGR_SMP_CBOR_MAX_ENCODING_LEVELS
|
|
|
|
int "Number of map/list encapsulations allowed for SMP encoding"
|
|
|
|
range MCUMGR_SMP_CBOR_MIN_ENCODING_LEVELS 15
|
|
|
|
default MCUMGR_SMP_CBOR_MIN_ENCODING_LEVELS
|
|
|
|
help
|
|
|
|
This is a maximum number of levels of maps/lists that will
|
|
|
|
be encoded within different comm&& groups.
|
|
|
|
This number translates to zcbor backup states, it increases
|
|
|
|
size of cbor_nb_writer structure by zcbor_state_t size per
|
|
|
|
one unit selected here.
|
|
|
|
|
2022-12-02 21:54:52 +08:00
|
|
|
config MCUMGR_SMP_COMMAND_STATUS_HOOKS
|
|
|
|
bool "SMP command status hooks"
|
|
|
|
depends on MCUMGR_MGMT_NOTIFICATION_HOOKS
|
|
|
|
help
|
|
|
|
This will enable SMP command status notification hooks for when an SMP message is
|
|
|
|
received or processed.
|
|
|
|
|
2023-01-24 18:50:43 +08:00
|
|
|
config MCUMGR_SMP_SUPPORT_ORIGINAL_PROTOCOL
|
|
|
|
bool "Support original protocol"
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
This option will enable supporting the original SMP protocol whereby
|
|
|
|
all errors are returned in the "rc" field as well as the new protocol
|
|
|
|
whereby there is a dedicated entry for command error/result codes.
|
|
|
|
The protocol selection is indicated by the request header sent by the
|
|
|
|
client.
|
2023-05-18 19:34:39 +08:00
|
|
|
|
|
|
|
config MCUMGR_SMP_VERBOSE_ERR_RESPONSE
|
|
|
|
bool "Support verbose error response"
|
|
|
|
depends on MCUMGR_SMP_SUPPORT_ORIGINAL_PROTOCOL
|
|
|
|
help
|
|
|
|
Support for encoding "rc" code explanation in form of "rsn"
|
|
|
|
text string. This is useful, when returning MGMT_ERR_EUNKNOWN,
|
|
|
|
to add additional information on the source of an error.
|
|
|
|
Note that the "rsn" is string additional to "rc" code,
|
|
|
|
so MCUMGR_TRANSPORT_NETBUF_SIZE should be large enough to be able
|
|
|
|
to encode both.
|