| # |
| # Copyright (c) 2018 Nordic Semiconductor ASA |
| # |
| # SPDX-License-Identifier: Apache-2.0 |
| # |
| |
| menuconfig SETTINGS |
| bool "Enable settings subsystem with non-volatile storage" |
| # Only NFFS is currently supported as FS. |
| # The reason in that FatFs doesn't implement the fs_rename() API |
| depends on (FILE_SYSTEM && FILE_SYSTEM_NFFS) || (FCB && FLASH_PAGE_LAYOUT) |
| 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 |
| |
| # 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" |
| depends on SETTINGS |
| select BASE64 |
| help |
| Enables values encoding using Base64. |
| |
| choice |
| prompt "Storage back-end" |
| default SETTINGS_FCB if FCB |
| 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. |
| 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 |