# Copyright (c) 2018 Nordic Semiconductor ASA # SPDX-License-Identifier: Apache-2.0 menuconfig SETTINGS bool "Enable settings subsystem with non-volatile storage" help The settings subsystem allows its users to serialize and deserialize state in memory into and from non-volatile memory. It supports several back-ends to store and load serialized data from and it can do so atomically for all involved modules. if SETTINGS module = SETTINGS module-str = settings source "subsys/logging/Kconfig.template.log_config" endif config SETTINGS_RUNTIME bool "runtime storage back-end" depends on SETTINGS help Enables runtime storage back-end. config SETTINGS_DYNAMIC_HANDLERS bool "dynamic settings handlers" depends on SETTINGS default y help Enables the use of dynamic settings handlers # Hidden option to enable encoding length into settings entry config SETTINGS_ENCODE_LEN depends on SETTINGS bool config SETTINGS_USE_BASE64 bool "encoding value using base64 (deprecated)" depends on SETTINGS select BASE64 help This option has been deprecated and will not be supported in future releases. Enables values encoding using Base64. choice prompt "Storage back-end" default SETTINGS_NVS if NVS default SETTINGS_FCB if FCB default SETTINGS_FS if FILE_SYSTEM default SETTINGS_NONE depends on SETTINGS help Storage back-end to be used by the settings subsystem. config SETTINGS_FCB bool "FCB" depends on FCB help Use FCB as a settings storage back-end. config SETTINGS_FS bool "File System" depends on FILE_SYSTEM select SETTINGS_ENCODE_LEN help Use a file system as a settings storage back-end. config SETTINGS_NVS bool "NVS non-volatile storage support" depends on NVS depends on FLASH_MAP help Enables NVS storage support config SETTINGS_CUSTOM bool "CUSTOM" help Use a custom settings storage back-end. config SETTINGS_NONE bool "NONE" help No storage back-end. endchoice config SETTINGS_FCB_NUM_AREAS int "Number of flash areas used by the settings subsystem" default 8 depends on SETTINGS && SETTINGS_FCB help Number of areas to allocate in the settings FCB. A smaller number is used if the flash hardware cannot support this value. config SETTINGS_FCB_MAGIC hex "FCB magic for the settings subsystem" default 0xc0ffeeee depends on SETTINGS && SETTINGS_FCB help Magic 32-bit word for to identify valid settings area config SETTINGS_FS_DIR string "Serialization directory" default "/settings" depends on SETTINGS && SETTINGS_FS help Directory where the settings data is stored config SETTINGS_FS_FILE string "Default settings file" default "/settings/run" depends on SETTINGS && SETTINGS_FS help Full path to the default settings file. config SETTINGS_FS_MAX_LINES int "Compression threshold" default 32 depends on SETTINGS && SETTINGS_FS help Limit how many items stored in a file before compressing config SETTINGS_NVS_SECTOR_SIZE_MULT int "Sector size of the NVS settings area" default 1 depends on SETTINGS && SETTINGS_NVS help The sector size to use for the NVS settings area as a multiple of FLASH_ERASE_BLOCK_SIZE. config SETTINGS_NVS_SECTOR_COUNT int "Sector count of the NVS settings area" default 8 depends on SETTINGS && SETTINGS_NVS help Number of sectors used for the NVS settings area