| # 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" |
| |
| config SETTINGS_RUNTIME |
| bool "runtime storage back-end" |
| help |
| Enables runtime storage back-end. |
| |
| config SETTINGS_DYNAMIC_HANDLERS |
| bool "dynamic settings handlers" |
| default y |
| help |
| Enables the use of dynamic settings handlers |
| |
| # Hidden option to enable encoding length into settings entry |
| config SETTINGS_ENCODE_LEN |
| bool |
| |
| choice SETTINGS_BACKEND |
| prompt "Storage back-end" |
| default SETTINGS_NVS if NVS |
| default SETTINGS_FCB if FCB |
| default SETTINGS_FILE if FILE_SYSTEM |
| default SETTINGS_NONE |
| 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_FILE |
| bool "File" |
| depends on FILE_SYSTEM |
| select SETTINGS_ENCODE_LEN |
| help |
| Use a file (on mounted 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 |
| |
| if SETTINGS_NVS |
| |
| config SETTINGS_NVS_NAME_CACHE |
| bool "NVS name lookup cache" |
| help |
| Enable NVS name lookup cache, used to reduce the Settings name |
| lookup time. |
| |
| config SETTINGS_NVS_NAME_CACHE_SIZE |
| int "NVS name lookup cache size" |
| default 128 |
| range 1 $(UINT16_MAX) |
| depends on SETTINGS_NVS_NAME_CACHE |
| help |
| Number of entries in Settings NVS name cache. |
| |
| endif # SETTINGS_NVS |
| |
| 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_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_FCB |
| help |
| Magic 32-bit word for to identify valid settings area |
| |
| config SETTINGS_FILE_PATH |
| string "Default settings file" |
| default "/settings/run" |
| depends on SETTINGS_FILE |
| help |
| Full path to the default settings file. |
| |
| config SETTINGS_FILE_MAX_LINES |
| int "Compression threshold" |
| default 32 |
| depends on SETTINGS_FILE |
| 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_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_NVS |
| help |
| Number of sectors used for the NVS settings area |
| |
| config SETTINGS_SHELL |
| bool "Settings shell" |
| depends on SHELL |
| help |
| Enable shell commands for listing and reading the settings. Note that |
| reading the settings requires quite a big stack buffer, so the stack |
| size of the shell thread may need to be increased to accommodate this |
| feature. |
| |
| endif # SETTINGS |