2018-02-02 21:30:56 +08:00
|
|
|
#
|
|
|
|
# Copyright (c) 2018 Nordic Semiconductor ASA
|
|
|
|
#
|
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
#
|
|
|
|
|
|
|
|
menuconfig SETTINGS
|
2018-07-12 19:26:29 +08:00
|
|
|
bool "Enable settings subsystem with non-volatile storage"
|
2018-04-26 02:53:52 +08:00
|
|
|
# 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)
|
2018-02-02 21:30:56 +08:00
|
|
|
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.
|
|
|
|
|
2018-05-15 20:25:29 +08:00
|
|
|
# Hidden option to enable encoding length into settings entry
|
|
|
|
config SETTINGS_ENCODE_LEN
|
|
|
|
depends on SETTINGS
|
|
|
|
bool
|
|
|
|
|
2018-11-21 21:55:47 +08:00
|
|
|
config SETTINGS_USE_BASE64
|
|
|
|
bool "encoding value using base64"
|
|
|
|
depends on SETTINGS
|
|
|
|
select BASE64
|
|
|
|
help
|
|
|
|
Enables values encoding using Base64.
|
|
|
|
|
2018-02-02 21:30:56 +08:00
|
|
|
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
|
2018-05-15 20:25:29 +08:00
|
|
|
select SETTINGS_ENCODE_LEN
|
2018-02-02 21:30:56 +08:00
|
|
|
help
|
|
|
|
Use a file system as a settings storage back-end.
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
config SETTINGS_FCB_NUM_AREAS
|
2018-07-12 19:26:29 +08:00
|
|
|
int "Number of flash areas used by the settings subsystem"
|
2018-02-02 21:30:56 +08:00
|
|
|
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
|
2018-07-12 19:26:29 +08:00
|
|
|
hex "FCB magic for the settings subsystem"
|
2018-02-02 21:30:56 +08:00
|
|
|
default 0xc0ffeeee
|
|
|
|
depends on SETTINGS && SETTINGS_FCB
|
|
|
|
help
|
|
|
|
Magic 32-bit word for to identify valid settings area
|
|
|
|
|
|
|
|
config SETTINGS_FCB_FLASH_AREA
|
2018-07-12 19:26:29 +08:00
|
|
|
int "Flash area id used for settings"
|
2018-02-02 21:30:56 +08:00
|
|
|
default 4
|
|
|
|
depends on SETTINGS && SETTINGS_FCB
|
|
|
|
help
|
|
|
|
Id of the Flash area where FCB instance used for settings is
|
|
|
|
expected to operate.
|
|
|
|
|
|
|
|
config SETTINGS_FS_DIR
|
2018-07-12 19:26:29 +08:00
|
|
|
string "Serialization directory"
|
2018-02-02 21:30:56 +08:00
|
|
|
default "/settings"
|
|
|
|
depends on SETTINGS && SETTINGS_FS
|
|
|
|
help
|
|
|
|
Directory where the settings data is stored
|
|
|
|
|
|
|
|
config SETTINGS_FS_FILE
|
2018-07-12 19:26:29 +08:00
|
|
|
string "Default settings file"
|
2018-02-02 21:30:56 +08:00
|
|
|
default "/settings/run"
|
|
|
|
depends on SETTINGS && SETTINGS_FS
|
|
|
|
help
|
|
|
|
Full path to the default settings file.
|
|
|
|
|
|
|
|
config SETTINGS_FS_MAX_LINES
|
2018-07-12 19:26:29 +08:00
|
|
|
int "Compression threshold"
|
2018-02-02 21:30:56 +08:00
|
|
|
default 32
|
|
|
|
depends on SETTINGS && SETTINGS_FS
|
|
|
|
help
|
2018-07-12 19:26:29 +08:00
|
|
|
Limit how many items stored in a file before compressing
|