blob: ed61f4d7c5f59e45efa88c255d6e1ee5084fee4f [file] [log] [blame]
# Copyright Nordic Semiconductor ASA 2023. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
menuconfig MCUMGR_GRP_SETTINGS
bool "MCUmgr handlers for settings management"
depends on SETTINGS
depends on SETTINGS_RUNTIME
select MCUMGR_SMP_CBOR_MIN_DECODING_LEVEL_2
select MCUMGR_SMP_CBOR_MIN_ENCODING_LEVEL_2 if ZCBOR_CANONICAL
select MCUMGR_SMP_CBOR_MIN_ENCODING_LEVEL_1
help
Enables MCUmgr handlers for settings manipulation.
if MCUMGR_GRP_SETTINGS
choice MCUMGR_GRP_SETTINGS_BUFFER_TYPE
prompt "Buffer type"
default MCUMGR_GRP_SETTINGS_BUFFER_TYPE_STACK
help
Selects if the stack or heap will be used for variables that are
needed when processing requests.
config MCUMGR_GRP_SETTINGS_BUFFER_TYPE_STACK
bool "Stack (fixed size)"
help
Use a fixed size stack buffer, any user-supplied values longer than
this will be rejected.
Note that stack usage for parameter storage alone will be
MCUMGR_GRP_SETTINGS_NAME_LEN + MCUMGR_GRP_SETTINGS_VALUE_LEN,
therefore the MCUmgr stack should be appropriately sized.
config MCUMGR_GRP_SETTINGS_BUFFER_TYPE_HEAP
bool "Heap (dynamic size)"
depends on COMMON_LIBC_MALLOC_ARENA_SIZE > 0
help
Use dynamic heap memory allocation through malloc, if there is
insufficient heap memory for the allocation then the request will be
rejected.
endchoice
config MCUMGR_GRP_SETTINGS_NAME_LEN
int "Maximum setting name length"
default 32
help
Maximum length of a key to lookup, this will be the size of the
variable if placed on the stack or the maximum allocated size of the
variable if placed on the heap.
config MCUMGR_GRP_SETTINGS_VALUE_LEN
int "Maximum setting value length"
default 32
help
Maximum length of a value to read, this will be the size of the
variable if placed on the stack or the allocated size of the
variable if placed on the heap (settings does not support getting
the size of a value prior to looking it up).
config MCUMGR_GRP_SETTINGS_ACCESS_HOOK
bool "Settings access hook"
depends on MCUMGR_MGMT_NOTIFICATION_HOOKS
help
Allows applications to control settings management access by
registering for a callback which is then triggered whenever a
settings read or write attempt is made.
endif