нл:: Переплетение:: Уровень устройства:: Внутренний:: НРФ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
)