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 )