нл:: Переплетение:: Уровень устройства:: Внутренний:: НРФ5Конфиг
#include <src/adaptations/device-layer/include/Weave/DeviceLayer/nRF5/nRF5Config.h>
Предоставляет функции и определения для доступа к сохраненной конфигурации устройства на платформах на основе Nordic nRF5 SDK.
Краткое содержание
В этой реализации в качестве базового уровня хранения используется библиотека Nordic Flash Data Storage (FDS).
ПРИМЕЧАНИЕ. Этот класс предназначен для объединения с конкретным подклассом шаблона GenericConfigurationManagerImpl<>. При таком использовании класс естественным образом предоставляет реализации делегированных членов, на которые ссылается класс шаблона (например, метод ReadConfigValue()).
Наследование
Прямые известные подклассы:nl::Weave::DeviceLayer::ConfigurationManagerImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
Публичные типы | |
---|---|
Key | с использованиемuint32_t |
Защищенные типы | |
---|---|
ForEachRecordFunct | с использованиемstd::function< WEAVE_ERROR (const fds_flash_record_t &rec, bool &deleteRec)> |
Публичные статические атрибуты | |
---|---|
kConfigKey_FabricId = NRF5ConfigKey(kFileId_WeaveConfig, 0x0007) | constexpr Key |
kConfigKey_FabricSecret = NRF5ConfigKey(kFileId_WeaveConfig, 0x000B) | constexpr Key |
kConfigKey_FailSafeArmed = NRF5ConfigKey(kFileId_WeaveConfig, 0x000D) | constexpr Key |
kConfigKey_GroupKey = NRF5ConfigKey(kFileId_WeaveConfig, 0x000E) | constexpr Key |
kConfigKey_LastUsedEpochKeyId = NRF5ConfigKey(kFileId_WeaveConfig, 0x000C) | constexpr Key |
kConfigKey_ManufacturingDate = NRF5ConfigKey(kFileId_WeaveFactory, 0x0005) | constexpr Key |
kConfigKey_MfrDeviceCert = NRF5ConfigKey(kFileId_WeaveFactory, 0x0003) | constexpr Key |
kConfigKey_MfrDeviceICACerts = NRF5ConfigKey(kFileId_WeaveFactory, 0x0010) | constexpr Key |
kConfigKey_MfrDeviceId = NRF5ConfigKey(kFileId_WeaveFactory, 0x0002) | constexpr Key |
kConfigKey_MfrDevicePrivateKey = NRF5ConfigKey(kFileId_WeaveFactory, 0x0004) | constexpr Key |
kConfigKey_OperationalDeviceCert = NRF5ConfigKey(kFileId_WeaveConfig, 0x0012) | constexpr Key |
kConfigKey_OperationalDeviceICACerts = NRF5ConfigKey(kFileId_WeaveConfig, 0x0013) | constexpr Key |
kConfigKey_OperationalDeviceId = NRF5ConfigKey(kFileId_WeaveConfig, 0x0011) | constexpr Key |
kConfigKey_OperationalDevicePrivateKey = NRF5ConfigKey(kFileId_WeaveConfig, 0x0014) | constexpr Key |
kConfigKey_PairedAccountId = NRF5ConfigKey(kFileId_WeaveConfig, 0x0009) | constexpr Key |
kConfigKey_PairingCode = NRF5ConfigKey(kFileId_WeaveFactory, 0x0006) | constexpr Key |
kConfigKey_ProductRevision = NRF5ConfigKey(kFileId_WeaveFactory, 0x000F) | constexpr Key |
kConfigKey_SerialNum = NRF5ConfigKey(kFileId_WeaveFactory, 0x0001) | constexpr Key |
kConfigKey_ServiceConfig = NRF5ConfigKey(kFileId_WeaveConfig, 0x0008) | constexpr Key |
kConfigKey_ServiceId = NRF5ConfigKey(kFileId_WeaveConfig, 0x000A) | constexpr Key |
kFDSFileIdMax = 0xBFFF | constexpr uint16_t Максимальное значение, которое можно использовать для идентификатора файла FDS (для Nordic SDK) |
kFDSFileIdMin = 0x0000 | constexpr uint16_t Минимальное значение, которое можно использовать для идентификатора файла FDS (согласно Nordic SDK). |
kFDSRecordKeyMax = 0xBFFF | constexpr uint16_t Максимальное значение, которое можно использовать для ключа записи FDS (согласно Nordic SDK) |
kFDSRecordKeyMin = 0x0001 | constexpr uint16_t Минимальное значение, которое можно использовать для ключа записи FDS (в соответствии с Nordic SDK) |
kFileId_WeaveConfig = 0x235B | constexpr uint16_t Файл FDS, содержащий значения динамической конфигурации, установленные во время выполнения. |
kFileId_WeaveCounter = 0x235C | constexpr uint16_t Файл FDS, содержащий значения динамического счетчика, установленные во время выполнения. |
kFileId_WeaveFactory = 0x235A | constexpr uint16_t Файл FDS, содержащий постоянные значения конфигурации, установленные во время производства. |
kPersistedCounterRecordKeyBase = kFDSRecordKeyMin | constexpr uint16_t Базовый ключ записи для записей, содержащих постоянные значения счетчика Weave. |
kPersistedCounterRecordKeyMax = kFDSRecordKeyMax | constexpr uint16_t Максимальный ключ записи для записей, содержащих постоянные значения счетчика Weave. |
Защищенные статические атрибуты | |
---|---|
kFDSWordSize = 4 | constexpr uint16_t |
sActiveAsyncOp | FDSAsyncOp *volatile |
sAsyncOpCompletionSem | SemaphoreHandle_t |
Публичные статические функции | |
---|---|
ClearConfigValue (Key key) | |
ConfigValueExists (Key key) | bool |
FactoryResetConfig (void) | |
Init (void) | |
ReadConfigValue (Key key, bool & val) | |
ReadConfigValue (Key key, uint32_t & val) | |
ReadConfigValue (Key key, uint64_t & val) | |
ReadConfigValueBin (Key key, uint8_t *buf, size_t bufSize, size_t & outLen) | |
ReadConfigValueStr (Key key, char *buf, size_t bufSize, size_t & outLen) | |
RunConfigUnitTest (void) | void |
WriteConfigValue (Key key, bool val) | |
WriteConfigValue (Key key, uint32_t val) | |
WriteConfigValue (Key key, uint64_t val) | |
WriteConfigValueBin (Key key, const uint8_t *data, size_t dataLen) | |
WriteConfigValueStr (Key key, const char *str) | |
WriteConfigValueStr (Key key, const char *str, size_t strLen) |
Защищенные статические функции | |
---|---|
DoAsyncFDSOp ( FDSAsyncOp & asyncOp) | |
FDSWords (size_t s) | constexpr uint16_t Количество слов FDS, необходимых для хранения объекта заданного размера. |
ForEachRecord (uint16_t fileId, uint16_t recordKey, ForEachRecordFunct funct) | |
GetFileId (uint32_t key) | constexpr uint16_t Извлеките идентификатор файла FDS из значения ключа. |
GetRecordKey (uint32_t key) | constexpr uint16_t Извлеките ключ записи FDS из значения ключа. |
OpenRecord (NRF5Config::Key key, fds_record_desc_t & recDesc, fds_flash_record_t & rec) |
Публичные типы
Ключ
uint32_t Key
Защищенные типы
Функция ForEachRecordFunct
std::function< WEAVE_ERROR(const fds_flash_record_t &rec, bool &deleteRec)> ForEachRecordFunct
Публичные статические атрибуты
kConfigKey_FabricId
constexpr Key kConfigKey_FabricId = NRF5ConfigKey(kFileId_WeaveConfig, 0x0007)
kConfigKey_FabricSecret
constexpr Key kConfigKey_FabricSecret = NRF5ConfigKey(kFileId_WeaveConfig, 0x000B)
kConfigKey_FailSafeArmed
constexpr Key kConfigKey_FailSafeArmed = NRF5ConfigKey(kFileId_WeaveConfig, 0x000D)
kConfigKey_GroupKey
constexpr Key kConfigKey_GroupKey = NRF5ConfigKey(kFileId_WeaveConfig, 0x000E)
kConfigKey_LastUsedEpochKeyId
constexpr Key kConfigKey_LastUsedEpochKeyId = NRF5ConfigKey(kFileId_WeaveConfig, 0x000C)
kConfigKey_ManufacturingDate
constexpr Key kConfigKey_ManufacturingDate = NRF5ConfigKey(kFileId_WeaveFactory, 0x0005)
kConfigKey_MfrDeviceCert
constexpr Key kConfigKey_MfrDeviceCert = NRF5ConfigKey(kFileId_WeaveFactory, 0x0003)
kConfigKey_MfrDeviceICACerts
constexpr Key kConfigKey_MfrDeviceICACerts = NRF5ConfigKey(kFileId_WeaveFactory, 0x0010)
kConfigKey_MfrDeviceId
constexpr Key kConfigKey_MfrDeviceId = NRF5ConfigKey(kFileId_WeaveFactory, 0x0002)
kConfigKey_MfrDevicePrivateKey
constexpr Key kConfigKey_MfrDevicePrivateKey = NRF5ConfigKey(kFileId_WeaveFactory, 0x0004)
kConfigKey_OperationalDeviceCert
constexpr Key kConfigKey_OperationalDeviceCert = NRF5ConfigKey(kFileId_WeaveConfig, 0x0012)
kConfigKey_OperationalDeviceICACerts
constexpr Key kConfigKey_OperationalDeviceICACerts = NRF5ConfigKey(kFileId_WeaveConfig, 0x0013)
kConfigKey_OperationalDeviceId
constexpr Key kConfigKey_OperationalDeviceId = NRF5ConfigKey(kFileId_WeaveConfig, 0x0011)
kConfigKey_OperationalDevicePrivateKey
constexpr Key kConfigKey_OperationalDevicePrivateKey = NRF5ConfigKey(kFileId_WeaveConfig, 0x0014)
kConfigKey_PairedAccountId
constexpr Key kConfigKey_PairedAccountId = NRF5ConfigKey(kFileId_WeaveConfig, 0x0009)
kConfigKey_PairingCode
constexpr Key kConfigKey_PairingCode = NRF5ConfigKey(kFileId_WeaveFactory, 0x0006)
kConfigKey_ProductRevision
constexpr Key kConfigKey_ProductRevision = NRF5ConfigKey(kFileId_WeaveFactory, 0x000F)
kConfigKey_SerialNum
constexpr Key kConfigKey_SerialNum = NRF5ConfigKey(kFileId_WeaveFactory, 0x0001)
kConfigKey_ServiceConfig
constexpr Key kConfigKey_ServiceConfig = NRF5ConfigKey(kFileId_WeaveConfig, 0x0008)
kConfigKey_ServiceId
constexpr Key kConfigKey_ServiceId = NRF5ConfigKey(kFileId_WeaveConfig, 0x000A)
кфдсфилидмакс
constexpr uint16_t kFDSFileIdMax = 0xBFFF
Максимальное значение, которое можно использовать для идентификатора файла FDS (для Nordic SDK)
kFDSFileIdMin
constexpr uint16_t kFDSFileIdMin = 0x0000
Минимальное значение, которое можно использовать для идентификатора файла FDS (согласно Nordic SDK).
kFDSRecordKeyMax
constexpr uint16_t kFDSRecordKeyMax = 0xBFFF
Максимальное значение, которое можно использовать для ключа записи FDS (согласно Nordic SDK)
kFDSRecordKeyMin
constexpr uint16_t kFDSRecordKeyMin = 0x0001
Минимальное значение, которое можно использовать для ключа записи FDS (в соответствии с Nordic SDK)
kFileId_WeaveConfig
constexpr uint16_t kFileId_WeaveConfig = 0x235B
Файл FDS, содержащий значения динамической конфигурации, установленные во время выполнения.
Сбрасывается при сбросе настроек.
kFileId_WeaveCounter
constexpr uint16_t kFileId_WeaveCounter = 0x235C
Файл FDS, содержащий значения динамического счетчика, установленные во время выполнения.
Сохраняется во время сброса настроек.
kFileId_WeaveFactory
constexpr uint16_t kFileId_WeaveFactory = 0x235A
Файл FDS, содержащий постоянные значения конфигурации, установленные во время производства.
Сохраняется во время сброса настроек.
kPersistedCounterRecordKeyBase
constexpr uint16_t kPersistedCounterRecordKeyBase = kFDSRecordKeyMin
Базовый ключ записи для записей, содержащих постоянные значения счетчика Weave.
Идентификатор счетчика Weave добавляется к этому значению для формирования ключа записи FDS.
kPersistedCounterRecordKeyMax
constexpr uint16_t kPersistedCounterRecordKeyMax = kFDSRecordKeyMax
Максимальный ключ записи для записей, содержащих постоянные значения счетчика Weave.
Защищенные статические атрибуты
kFDSWordSize
constexpr uint16_t kFDSWordSize = 4
сактивеасинкоп
FDSAsyncOp *volatile sActiveAsyncOp
сасинкопкомплетионсем
SemaphoreHandle_t sAsyncOpCompletionSem
Публичные статические функции
Очиститьконфигвалуе
WEAVE_ERROR ClearConfigValue( Key key )
Конфигвалуеексистс
bool ConfigValueExists( Key key )
FactoryResetConfig
WEAVE_ERROR FactoryResetConfig( void )
Инициализировать
WEAVE_ERROR Init( void )
Чтениеконфигвалуе
WEAVE_ERROR ReadConfigValue( Key key, bool & val )
Чтениеконфигвалуе
WEAVE_ERROR ReadConfigValue( Key key, uint32_t & val )
Чтениеконфигвалуе
WEAVE_ERROR ReadConfigValue( Key key, uint64_t & val )
Чтениеконфигвалуебин
WEAVE_ERROR ReadConfigValueBin( Key key, uint8_t *buf, size_t bufSize, size_t & outLen )
Ридконфигвалуестр
WEAVE_ERROR ReadConfigValueStr( Key key, char *buf, size_t bufSize, size_t & outLen )
ЗапуститьConfigUnitTest
void RunConfigUnitTest( void )
WriteConfigValue
WEAVE_ERROR WriteConfigValue( Key key, bool val )
WriteConfigValue
WEAVE_ERROR WriteConfigValue( Key key, uint32_t val )
WriteConfigValue
WEAVE_ERROR WriteConfigValue( Key key, uint64_t val )
WriteConfigValueBin
WEAVE_ERROR WriteConfigValueBin( Key key, const uint8_t *data, size_t dataLen )
WriteConfigValueStr
WEAVE_ERROR WriteConfigValueStr( Key key, const char *str )
WriteConfigValueStr
WEAVE_ERROR WriteConfigValueStr( Key key, const char *str, size_t strLen )
Защищенные статические функции
Доасинкфдсоп
WEAVE_ERROR DoAsyncFDSOp( FDSAsyncOp & asyncOp )
FDSСлова
constexpr uint16_t FDSWords( size_t s )
Количество слов FDS, необходимых для хранения объекта заданного размера.
ForEachRecord
WEAVE_ERROR ForEachRecord( uint16_t fileId, uint16_t recordKey, ForEachRecordFunct funct )
GetFileId
constexpr uint16_t GetFileId( uint32_t key )
Извлеките идентификатор файла FDS из значения ключа.
GetRecordKey
constexpr uint16_t GetRecordKey( uint32_t key )
Извлеките ключ записи FDS из значения ключа.
OpenRecord
WEAVE_ERROR OpenRecord( NRF5Config::Key key, fds_record_desc_t & recDesc, fds_flash_record_t & rec )