nl:: बुनाई::डिवाइस लेयर::अंदरूनी::NRF5कॉन्फ़िगरेशन

#include <src/adaptations/device-layer/include/Weave/DeviceLayer/nRF5/nRF5Config.h>

Nordic nRF5 SDK टूल के आधार पर, प्लैटफ़ॉर्म पर मौजूदा डिवाइस कॉन्फ़िगरेशन को ऐक्सेस करने के लिए, फ़ंक्शन और परिभाषाएं देता है.

खास जानकारी

इसे लागू करने पर, स्टोरेज की लेयर के तौर पर नॉर्डिक फ़्लैश डेटा स्टोरेज (एफ़डीएस) लाइब्रेरी का इस्तेमाल होता है.

ध्यान दें: इस क्लास को जेनेरिकConfigurationManagerImpl<> टेंप्लेट के कंक्रीट सब-क्लास में मिलाने के लिए डिज़ाइन किया गया है. इस तरह इस्तेमाल किए जाने पर क्लास, सामान्य तौर पर टेंप्लेट क्लास से रेफ़र किए गए सदस्यों के लिए लागू करता है (उदाहरण के लिए, 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
एफ़डीएस फ़ाइल आईडी के लिए इस्तेमाल की जा सकने वाली ज़्यादा से ज़्यादा वैल्यू (नॉर्डिक SDK टूल के हिसाब से)
kFDSFileIdMin = 0x0000
constexpr uint16_t
एफ़डीएस फ़ाइल आईडी के लिए इस्तेमाल की जा सकने वाली कम से कम वैल्यू (नॉर्डिक SDK टूल के हिसाब से)
kFDSRecordKeyMax = 0xBFFF
constexpr uint16_t
एफ़डीएस रिकॉर्ड कुंजी (हर नॉर्डिक SDK टूल के लिए) के लिए इस्तेमाल की जा सकने वाली ज़्यादा से ज़्यादा वैल्यू
kFDSRecordKeyMin = 0x0001
constexpr uint16_t
एफ़डीएस रिकॉर्ड कुंजी (हर नॉर्डिक SDK टूल के लिए) के लिए इस्तेमाल की जा सकने वाली कम से कम वैल्यू
kFileId_WeaveConfig = 0x235B
constexpr uint16_t
रनटाइम पर सेट की गई डाइनैमिक कॉन्फ़िगरेशन वैल्यू वाली एफ़डीएस फ़ाइल.
kFileId_WeaveCounter = 0x235C
constexpr uint16_t
FDS फ़ाइल में रनटाइम के दौरान, डाइनैमिक काउंटर वैल्यू सेट होती हैं.
kFileId_WeaveFactory = 0x235A
constexpr uint16_t
एफ़डीएस फ़ाइल, जिसमें लगातार निर्माता वैल्यू सेट की जाती हैं.
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
किसी दिए गए साइज़ के ऑब्जेक्ट को रखने के लिए, एफ़डीएस शब्दों की संख्या ज़रूरी है.
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

सुरक्षित प्रकार

हर रिकॉर्ड के लिए

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_OperaticalDeviceCert

constexpr Key kConfigKey_OperationalDeviceCert = NRF5ConfigKey(kFileId_WeaveConfig,  0x0012)

kConfigKey_OperaticalDeviceICACerts

constexpr Key kConfigKey_OperationalDeviceICACerts = NRF5ConfigKey(kFileId_WeaveConfig,  0x0013)

kConfigKey_OperaticalDeviceId

constexpr Key kConfigKey_OperationalDeviceId = NRF5ConfigKey(kFileId_WeaveConfig,  0x0011)

kConfigKey_OperaticalDevicePrivateKey

constexpr Key kConfigKey_OperationalDevicePrivateKey = NRF5ConfigKey(kFileId_WeaveConfig,  0x0014)

kConfigKey_पेयर किया गयाखाता आईडी

constexpr Key kConfigKey_PairedAccountId = NRF5ConfigKey(kFileId_WeaveConfig,  0x0009)

kConfigKey_पेयरिंग कोड

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

एफ़डीएस फ़ाइल आईडी के लिए इस्तेमाल की जा सकने वाली ज़्यादा से ज़्यादा वैल्यू (नॉर्डिक SDK टूल के हिसाब से)

kFDSFileIdMin

constexpr uint16_t kFDSFileIdMin = 0x0000

एफ़डीएस फ़ाइल आईडी के लिए इस्तेमाल की जा सकने वाली कम से कम वैल्यू (नॉर्डिक SDK टूल के हिसाब से)

kFDSRecordKeyMax

constexpr uint16_t kFDSRecordKeyMax = 0xBFFF

एफ़डीएस रिकॉर्ड कुंजी (हर नॉर्डिक SDK टूल के लिए) के लिए इस्तेमाल की जा सकने वाली ज़्यादा से ज़्यादा वैल्यू

kFDSRecordKeyMin

constexpr uint16_t kFDSRecordKeyMin = 0x0001

एफ़डीएस रिकॉर्ड कुंजी (हर नॉर्डिक SDK टूल के लिए) के लिए इस्तेमाल की जा सकने वाली कम से कम वैल्यू

kFileId_WeaveConfig

constexpr uint16_t kFileId_WeaveConfig = 0x235B

रनटाइम पर सेट की गई डाइनैमिक कॉन्फ़िगरेशन वैल्यू वाली एफ़डीएस फ़ाइल.

फ़ैक्ट्री रीसेट के दौरान मिटाएं.

kFileId_WeaveCounter

constexpr uint16_t kFileId_WeaveCounter = 0x235C

FDS फ़ाइल में रनटाइम के दौरान, डाइनैमिक काउंटर वैल्यू सेट होती हैं.

फ़ैक्ट्री रीसेट के दौरान बनाए रखा गया.

kFileId_WeaveFactory

constexpr uint16_t kFileId_WeaveFactory = 0x235A

एफ़डीएस फ़ाइल, जिसमें लगातार निर्माता वैल्यू सेट की जाती हैं.

फ़ैक्ट्री रीसेट के दौरान बनाए रखा गया.

kPersistedCounterRecordKeyBase

constexpr uint16_t kPersistedCounterRecordKeyBase = kFDSRecordKeyMin

Weave वाले रिकॉर्ड के लिए बेस रिकॉर्ड कुंजी के काउंटर वैल्यू.

FDS रिकॉर्ड कुंजी बनाने के लिए, इस वैल्यू में Weave काउंटर आईडी जोड़ा जाता है.

kPersistedCounterRecordKeyMax

constexpr uint16_t kPersistedCounterRecordKeyMax = kFDSRecordKeyMax

Weave वाले रिकॉर्ड के लिए ज़्यादा से ज़्यादा रिकॉर्ड कुंजी.

सुरक्षित स्टैटिक एट्रिब्यूट

kFDSWordSize

constexpr uint16_t kFDSWordSize = 4

SActiveAsyncOp

FDSAsyncOp *volatile sActiveAsyncOp

SAsyncOpcompleteSem

SemaphoreHandle_t sAsyncOpCompletionSem

सार्वजनिक स्थिर फ़ंक्शन

क्लियर कॉन्फ़िगरेशन वैल्यू

WEAVE_ERROR ClearConfigValue(
  Key key
)

ConfigValueExist

bool ConfigValueExists(
  Key key
)

फ़ैक्ट्री रीसेट कॉन्फ़िगरेशन

WEAVE_ERROR FactoryResetConfig(
  void
)

इनिट

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
)

राइट कॉन्फ़िगरेशन वैल्यू

WEAVE_ERROR WriteConfigValue(
  Key key,
  bool val
)

राइट कॉन्फ़िगरेशन वैल्यू

WEAVE_ERROR WriteConfigValue(
  Key key,
  uint32_t val
)

राइट कॉन्फ़िगरेशन वैल्यू

WEAVE_ERROR WriteConfigValue(
  Key key,
  uint64_t val
)

WriteConfigValueBin

WEAVE_ERROR WriteConfigValueBin(
  Key key,
  const uint8_t *data,
  size_t dataLen
)

राइट कॉन्फ़िगरेशन वैल्यू स्ट्रैट

WEAVE_ERROR WriteConfigValueStr(
  Key key,
  const char *str
)

राइट कॉन्फ़िगरेशन वैल्यू स्ट्रैट

WEAVE_ERROR WriteConfigValueStr(
  Key key,
  const char *str,
  size_t strLen
)

सुरक्षित स्टैटिक फ़ंक्शन

DoAsyncFDSOp

WEAVE_ERROR DoAsyncFDSOp(
  FDSAsyncOp & asyncOp
)

FDSशब्द

constexpr uint16_t FDSWords(
  size_t s
)

किसी दिए गए साइज़ के ऑब्जेक्ट को रखने के लिए, एफ़डीएस शब्दों की संख्या ज़रूरी है.

हर रिकॉर्ड के लिए

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 रिकॉर्ड कुंजी निकालें.

ओपनरिकॉर्ड

WEAVE_ERROR OpenRecord(
  NRF5Config::Key key,
  fds_record_desc_t & recDesc,
  fds_flash_record_t & rec
)