| # Copyright Runtime.io 2018. All rights reserved. |
| # Copyright Nordic Semiconductor ASA 2020-2022. All rights reserved. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| # 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; |
| |
| 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_?. |
| 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 |
| |
| config MCUMGR_SMP_CBOR_MAX_DECODING_LEVELS |
| int "Number of map/list encapsulations allowed by SMP encoding" |
| 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. |
| |
| 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. |
| |
| 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. |
| |
| 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. |