# Copyright (c) 2018 Nordic Semiconductor ASA # SPDX-License-Identifier: Apache-2.0 menuconfig SETTINGS bool "Settings" 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 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