nl::Weave::DeviceLayer::Internal::NRF5Config
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
#include <src/adaptations/device-layer/include/Weave/DeviceLayer/nRF5/nRF5Config.h>
Fournit des fonctions et des définitions permettant d'accéder à la configuration d'appareil persistante sur les plates-formes basées sur le SDK Nordic nRF5.
Résumé
Cette implémentation utilise la bibliothèque Nordic Flash Data Storage (FDS) comme couche de stockage sous-jacente.
REMARQUE: Cette classe est conçue pour être mélangée à la sous-classe concrète de GenericConfigurationManagerImpl<> modèle. Lorsqu'elle est utilisée de cette façon, la classe fournit naturellement des implémentations pour les membres délégués référencés par la classe de modèle (par exemple, la méthode ReadConfigValue()).
Héritage
Sous-classes directes connues:nl::Weave::DeviceLayer::ConfigurationManagerImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
Types publics |
|
---|---|
Key
|
avecuint32_t
|
Types protégés |
|
---|---|
ForEachRecordFunct
|
avecstd::function< WEAVE_ERROR(const fds_flash_record_t &rec, bool &deleteRec)>
|
Attributs statiques publics |
|
---|---|
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
Valeur maximale pouvant être utilisée pour un ID de fichier FDS (selon le SDK Nordic)
|
kFDSFileIdMin = 0x0000
|
constexpr uint16_t
Valeur minimale pouvant être utilisée pour un ID de fichier FDS (selon le SDK Nordic)
|
kFDSRecordKeyMax = 0xBFFF
|
constexpr uint16_t
Valeur maximale pouvant être utilisée pour une clé d'enregistrement FDS (selon le SDK Nordic)
|
kFDSRecordKeyMin = 0x0001
|
constexpr uint16_t
Valeur minimale pouvant être utilisée pour une clé d'enregistrement FDS (selon le SDK Nordic)
|
kFileId_WeaveConfig = 0x235B
|
constexpr uint16_t
Fichier FDS contenant les valeurs de configuration dynamiques définies au moment de l'exécution.
|
kFileId_WeaveCounter = 0x235C
|
constexpr uint16_t
Fichier FDS contenant les valeurs de compteur dynamique définies au moment de l'exécution.
|
kFileId_WeaveFactory = 0x235A
|
constexpr uint16_t
Fichier FDS contenant les valeurs de configuration persistantes définies au moment de la fabrication.
|
kPersistedCounterRecordKeyBase = kFDSRecordKeyMin
|
constexpr uint16_t
Clé d'enregistrement de base pour les enregistrements contenant des valeurs de compteur persistant Weave.
|
kPersistedCounterRecordKeyMax = kFDSRecordKeyMax
|
constexpr uint16_t
Clé d'enregistrement maximale pour les enregistrements contenant des valeurs de compteur persistant Weave.
|
Attributs statiques protégés |
|
---|---|
kFDSWordSize = 4
|
constexpr uint16_t
|
sActiveAsyncOp
|
FDSAsyncOp *volatile
|
sAsyncOpCompletionSem
|
SemaphoreHandle_t
|
Fonctions statiques publiques |
|
---|---|
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)
|
Fonctions statiques protégées |
|
---|---|
DoAsyncFDSOp(FDSAsyncOp & asyncOp)
|
|
FDSWords(size_t s)
|
constexpr uint16_t
Nombre de mots FDS nécessaires pour contenir un objet de taille donnée.
|
ForEachRecord(uint16_t fileId, uint16_t recordKey, ForEachRecordFunct funct)
|
|
GetFileId(uint32_t key)
|
constexpr uint16_t
Extrayez un ID de fichier FDS d'une valeur clé.
|
GetRecordKey(uint32_t key)
|
constexpr uint16_t
Extrayez une clé d'enregistrement FDS d'une valeur de clé.
|
OpenRecord(NRF5Config::Key key, fds_record_desc_t & recDesc, fds_flash_record_t & rec)
|
Types publics
Clé
uint32_t Key
Types protégés
ForEachRecordFunct
std::function< WEAVE_ERROR(const fds_flash_record_t &rec, bool &deleteRec)> ForEachRecordFunct
Attributs statiques publics
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)
kFDSFileIdMax
constexpr uint16_t kFDSFileIdMax = 0xBFFF
Valeur maximale pouvant être utilisée pour un ID de fichier FDS (selon le SDK Nordic)
kFDSFileIdMin
constexpr uint16_t kFDSFileIdMin = 0x0000
Valeur minimale pouvant être utilisée pour un ID de fichier FDS (selon le SDK Nordic)
kFDSRecordKeyMax
constexpr uint16_t kFDSRecordKeyMax = 0xBFFF
Valeur maximale pouvant être utilisée pour une clé d'enregistrement FDS (selon le SDK Nordic)
kFDSRecordKeyMin
constexpr uint16_t kFDSRecordKeyMin = 0x0001
Valeur minimale pouvant être utilisée pour une clé d'enregistrement FDS (selon le SDK Nordic)
kFileId_WeaveConfig
constexpr uint16_t kFileId_WeaveConfig = 0x235B
Fichier FDS contenant les valeurs de configuration dynamiques définies au moment de l'exécution.
Effacé lors du rétablissement de la configuration d'usine.
kFileId_WeaveCounter
constexpr uint16_t kFileId_WeaveCounter = 0x235C
Fichier FDS contenant les valeurs de compteur dynamique définies au moment de l'exécution.
Elle est conservée lors du rétablissement de la configuration d'usine.
kFileId_WeaveFactory
constexpr uint16_t kFileId_WeaveFactory = 0x235A
Fichier FDS contenant les valeurs de configuration persistantes définies au moment de la fabrication.
Elle est conservée lors du rétablissement de la configuration d'usine.
kPersistedCounterRecordKeyBase
constexpr uint16_t kPersistedCounterRecordKeyBase = kFDSRecordKeyMin
Clé d'enregistrement de base pour les enregistrements contenant des valeurs de compteur persistant Weave.
L'ID de compteur Weave est ajouté à cette valeur pour former la clé d'enregistrement FDS.
kPersistedCounterRecordKeyMax
constexpr uint16_t kPersistedCounterRecordKeyMax = kFDSRecordKeyMax
Clé d'enregistrement maximale pour les enregistrements contenant des valeurs de compteur persistant Weave.
Attributs statiques protégés
kFDSWordSize
constexpr uint16_t kFDSWordSize = 4
sActiveAsyncOp
FDSAsyncOp *volatile sActiveAsyncOp
sAsyncOpCompletionSem
SemaphoreHandle_t sAsyncOpCompletionSem
Fonctions statiques publiques
ClearConfigValue
WEAVE_ERROR ClearConfigValue(
Key key
)
ConfigValueExists
bool ConfigValueExists(
Key key
)
FactoryResetConfig
WEAVE_ERROR FactoryResetConfig(
void
)
Init
WEAVE_ERROR Init(
void
)
ReadConfigValue
WEAVE_ERROR ReadConfigValue(
Key key,
bool & val
)
ReadConfigValue
WEAVE_ERROR ReadConfigValue(
Key key,
uint32_t & val
)
ReadConfigValue
WEAVE_ERROR ReadConfigValue(
Key key,
uint64_t & val
)
ReadConfigValueBin
WEAVE_ERROR ReadConfigValueBin(
Key key,
uint8_t *buf,
size_t bufSize,
size_t & outLen
)
ReadConfigValueStr
WEAVE_ERROR ReadConfigValueStr(
Key key,
char *buf,
size_t bufSize,
size_t & outLen
)
RunConfigUnitTest
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
)
Fonctions statiques protégées
DoAsyncFDSOp
WEAVE_ERROR DoAsyncFDSOp(
FDSAsyncOp & asyncOp
)
FDSWords
constexpr uint16_t FDSWords(
size_t s
)
Nombre de mots FDS nécessaires pour contenir un objet de taille donnée.
ForEachRecord
WEAVE_ERROR ForEachRecord(
uint16_t fileId,
uint16_t recordKey,
ForEachRecordFunct funct
)
GetFileId
constexpr uint16_t GetFileId(
uint32_t key
)
Extrayez un ID de fichier FDS d'une valeur clé.
GetRecordKey
constexpr uint16_t GetRecordKey(
uint32_t key
)
Extrayez une clé d'enregistrement FDS d'une valeur de clé.
OpenRecord
WEAVE_ERROR OpenRecord(
NRF5Config::Key key,
fds_record_desc_t & recDesc,
fds_flash_record_t & rec
)