จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

nl::Weave::DeviceLayer::ภายใน::NRF5Config

#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 (ต่อ 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

ประเภทที่ป้องกัน

สําหรับ ForระเบียนRecordFunct

std::function< WEAVE_ERROR(const fds_flash_record_t &rec, bool &deleteRec)> ForEachRecordFunct

แอตทริบิวต์สาธารณะแบบคงที่

รหัส kConfigKey_Fabric

constexpr Key kConfigKey_FabricId = NRF5ConfigKey(kFileId_WeaveConfig,  0x0007)

รหัสลับ kConfigKey_Fabric

constexpr Key kConfigKey_FabricSecret = NRF5ConfigKey(kFileId_WeaveConfig,  0x000B)

kConfigKey_FailSafeArmed

constexpr Key kConfigKey_FailSafeArmed = NRF5ConfigKey(kFileId_WeaveConfig,  0x000D)

คีย์กลุ่มการกําหนดค่า

constexpr Key kConfigKey_GroupKey = NRF5ConfigKey(kFileId_WeaveConfig,  0x000E)

kConfigKey_LastUsedEpochKeyId

constexpr Key kConfigKey_LastUsedEpochKeyId = NRF5ConfigKey(kFileId_WeaveConfig,  0x000C)

วันที่กําหนดค่า kConfigKey

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)

รหัสคีย์กําหนดค่า kConfig

constexpr Key kConfigKey_MfrDeviceId = NRF5ConfigKey(kFileId_WeaveFactory, 0x0002)

คีย์การกําหนดค่า kConfigKey_MfrDevice

constexpr Key kConfigKey_MfrDevicePrivateKey = NRF5ConfigKey(kFileId_WeaveFactory, 0x0004)

คีย์กําหนดค่า kConfigKey_OperationalDevice

constexpr Key kConfigKey_OperationalDeviceCert = NRF5ConfigKey(kFileId_WeaveConfig,  0x0012)

ใบรับรอง kConfigKey_OperationalDeviceICAACerts

constexpr Key kConfigKey_OperationalDeviceICACerts = NRF5ConfigKey(kFileId_WeaveConfig,  0x0013)

รหัส kConfigKey_OperationalDevice

constexpr Key kConfigKey_OperationalDeviceId = NRF5ConfigKey(kFileId_WeaveConfig,  0x0011)

คีย์กําหนดค่า kConfigKey_OperationalDevice

constexpr Key kConfigKey_OperationalDevicePrivateKey = NRF5ConfigKey(kFileId_WeaveConfig,  0x0014)

รหัสรหัสบัญชีที่เชื่อมโยง

constexpr Key kConfigKey_PairedAccountId = NRF5ConfigKey(kFileId_WeaveConfig,  0x0009)

รหัสการกําหนดค่าคีย์kk

constexpr Key kConfigKey_PairingCode = NRF5ConfigKey(kFileId_WeaveFactory, 0x0006)

การกําหนดค่าผลิตภัณฑ์ kConfigKey

constexpr Key kConfigKey_ProductRevision = NRF5ConfigKey(kFileId_WeaveFactory, 0x000F)

คีย์การกําหนดค่า kConfig

constexpr Key kConfigKey_SerialNum = NRF5ConfigKey(kFileId_WeaveFactory, 0x0001)

การกําหนดค่าบริการคีย์

constexpr Key kConfigKey_ServiceConfig = NRF5ConfigKey(kFileId_WeaveConfig,  0x0008)

รหัสบริการคีย์k

constexpr Key kConfigKey_ServiceId = NRF5ConfigKey(kFileId_WeaveConfig,  0x000A)

จํานวนไฟล์สูงสุด kFDS

constexpr uint16_t kFDSFileIdMax = 0xBFFF

ค่าสูงสุดที่ใช้สําหรับรหัสไฟล์ FDS (ต่อ Nordic SDK)

จํานวนไฟล์ขั้นต่ํา

constexpr uint16_t kFDSFileIdMin = 0x0000

ค่าต่ําสุดที่ใช้กับรหัสไฟล์ FDS (ต่อ Nordic SDK)

สูงสุด kFDSRecordKey

constexpr uint16_t kFDSRecordKeyMax = 0xBFFF

ค่าสูงสุดที่ใช้สําหรับคีย์ระเบียน FDS (ต่อ SDK ของนอร์ดิก)

คีย์การบันทึก kFDS Records

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

คีย์ตัวนับสูงสุด kPersistedCounterRecordKey Max

constexpr uint16_t kPersistedCounterRecordKeyMax = kFDSRecordKeyMax

คีย์ระเบียนสูงสุดสําหรับระเบียนซึ่งมีค่าตัวนับ Weave คงอยู่

แอตทริบิวต์แบบคงที่ที่ได้รับการป้องกัน

ขนาด kFDSWord

constexpr uint16_t kFDSWordSize = 4

SActiveAsyncOp

FDSAsyncOp *volatile sActiveAsyncOp

SASyncOpCompletionSem

SemaphoreHandle_t sAsyncOpCompletionSem

ฟังก์ชันสาธารณะแบบคงที่

ล้างค่าการกําหนดค่า

WEAVE_ERROR ClearConfigValue(
  Key key
)

ConfigValueExists

bool ConfigValueExists(
  Key key
)

รีเซ็ตเป็นค่าเริ่มต้น

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
)

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
)

เขียนค่าการกําหนดค่า

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
)

FDSWords

constexpr uint16_t FDSWords(
  size_t s
)

จํานวนคํา FDS ที่จําเป็นต่อการเก็บวัตถุขนาดที่ระบุ

สําหรับแต่ละรายการ

WEAVE_ERROR ForEachRecord(
  uint16_t fileId,
  uint16_t recordKey,
  ForEachRecordFunct funct
)

รับไฟล์

constexpr uint16_t GetFileId(
  uint32_t key
)

ดึงข้อมูลรหัสไฟล์ FDS จากค่าคีย์

รับคีย์การบันทึก

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
)