nl:: Weave:: Devicelayer:: Nội bộ:: NRF5Config
#include <src/adaptations/device-layer/include/Weave/DeviceLayer/nRF5/nRF5Config.h>
Cung cấp các hàm và định nghĩa để truy cập vào cấu hình thiết bị được duy trì trên các nền tảng dựa trên SDK nRF5 của Nordic.
Tóm tắt
Quá trình triển khai này sử dụng thư viện Bộ nhớ dữ liệu Flash Bắc Âu (FDS) làm lớp lưu trữ cơ bản.
LƯU Ý: Lớp này được thiết kế để kết hợp với lớp con cụ thể của mẫu genericConfigurationManagerimpl<>. Khi được sử dụng theo cách này, lớp này sẽ cung cấp bản triển khai cho các thành viên được ủy quyền mà lớp mẫu tham chiếu đến (ví dụ: phương thức ReadConfigValue()).
Tính kế thừa
Các lớp con đã biết trực tiếp:nl::Weave::Devicelayer::ConfigurationManagerImpl
nl::Weave::Devicelayer::internal::GroupKeyStoreImpl
Loại công khai |
|
---|---|
Key
|
đang sử dụnguint32_t
|
Các loại được bảo vệ |
|
---|---|
ForEachRecordFunct
|
đang sử dụngstd::function< WEAVE_ERROR(const fds_flash_record_t &rec, bool &deleteRec)>
|
Thuộc tính tĩnh công khai |
|
---|---|
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
Giá trị tối đa có thể dùng cho mã tệp FDS (mỗi SDK Bắc Âu)
|
kFDSFileIdMin = 0x0000
|
constexpr uint16_t
Giá trị tối thiểu có thể dùng cho id tệp FDS (mỗi SDK Bắc Âu)
|
kFDSRecordKeyMax = 0xBFFF
|
constexpr uint16_t
Giá trị tối đa có thể dùng cho khóa bản ghi FDS (mỗi SDK Bắc Âu)
|
kFDSRecordKeyMin = 0x0001
|
constexpr uint16_t
Giá trị tối thiểu có thể dùng cho khóa bản ghi FDS (mỗi SDK Bắc Âu)
|
kFileId_WeaveConfig = 0x235B
|
constexpr uint16_t
Tệp FDS chứa các giá trị cấu hình động được đặt vào thời gian chạy.
|
kFileId_WeaveCounter = 0x235C
|
constexpr uint16_t
Tệp FDS chứa các giá trị bộ đếm động được đặt vào thời gian chạy.
|
kFileId_WeaveFactory = 0x235A
|
constexpr uint16_t
Tệp FDS chứa các giá trị cấu hình cố định được đặt tại thời điểm sản xuất.
|
kPersistedCounterRecordKeyBase = kFDSRecordKeyMin
|
constexpr uint16_t
Khóa bản ghi cơ sở cho các bản ghi chứa giá trị bộ đếm Weave vẫn tồn tại.
|
kPersistedCounterRecordKeyMax = kFDSRecordKeyMax
|
constexpr uint16_t
Khóa bản ghi tối đa cho các bản ghi chứa giá trị của bộ đếm Weave vẫn tồn tại.
|
Thuộc tính tĩnh được bảo vệ |
|
---|---|
kFDSWordSize = 4
|
constexpr uint16_t
|
sActiveAsyncOp
|
FDSAsyncOp *volatile
|
sAsyncOpCompletionSem
|
SemaphoreHandle_t
|
Hàm tĩnh công khai |
|
---|---|
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)
|
Hàm tĩnh được bảo vệ |
|
---|---|
DoAsyncFDSOp(FDSAsyncOp & asyncOp)
|
|
FDSWords(size_t s)
|
constexpr uint16_t
Số từ FDS cần thiết để giữ một đối tượng kích thước nhất định.
|
ForEachRecord(uint16_t fileId, uint16_t recordKey, ForEachRecordFunct funct)
|
|
GetFileId(uint32_t key)
|
constexpr uint16_t
Trích xuất id tệp FDS từ Giá trị khóa.
|
GetRecordKey(uint32_t key)
|
constexpr uint16_t
Trích xuất khóa bản ghi FDS từ Giá trị khóa.
|
OpenRecord(NRF5Config::Key key, fds_record_desc_t & recDesc, fds_flash_record_t & rec)
|
Loại công khai
Phím
uint32_t Key
Các loại được bảo vệ
FortừngRecordFunct
std::function< WEAVE_ERROR(const fds_flash_record_t &rec, bool &deleteRec)> ForEachRecordFunct
Thuộc tính tĩnh công khai
Khóa kConfigKey_FabricId
constexpr Key kConfigKey_FabricId = NRF5ConfigKey(kFileId_WeaveConfig, 0x0007)
Khóa kConfigKey_FabricSecret
constexpr Key kConfigKey_FabricSecret = NRF5ConfigKey(kFileId_WeaveConfig, 0x000B)
Khóa kConfigKey_Fail SafeArmed
constexpr Key kConfigKey_FailSafeArmed = NRF5ConfigKey(kFileId_WeaveConfig, 0x000D)
Khóa kConfigKey_GroupKey
constexpr Key kConfigKey_GroupKey = NRF5ConfigKey(kFileId_WeaveConfig, 0x000E)
kConfigKey_LastUsedEpochKeyId
constexpr Key kConfigKey_LastUsedEpochKeyId = NRF5ConfigKey(kFileId_WeaveConfig, 0x000C)
Khóa cài đặt kConfigKeyDate
constexpr Key kConfigKey_ManufacturingDate = NRF5ConfigKey(kFileId_WeaveFactory, 0x0005)
Khóa kConfigKey_MfrDeviceCert
constexpr Key kConfigKey_MfrDeviceCert = NRF5ConfigKey(kFileId_WeaveFactory, 0x0003)
Khóa kConfigKey_MfrDeviceICACerts
constexpr Key kConfigKey_MfrDeviceICACerts = NRF5ConfigKey(kFileId_WeaveFactory, 0x0010)
Khóa kConfigKey_MfrDeviceId
constexpr Key kConfigKey_MfrDeviceId = NRF5ConfigKey(kFileId_WeaveFactory, 0x0002)
Khóa kConfigKey_MfrDevice PrivateKey
constexpr Key kConfigKey_MfrDevicePrivateKey = NRF5ConfigKey(kFileId_WeaveFactory, 0x0004)
Khóa kConfigKey_OperationalDeviceCert
constexpr Key kConfigKey_OperationalDeviceCert = NRF5ConfigKey(kFileId_WeaveConfig, 0x0012)
Khóa kConfigKey_OperationalDeviceICACert
constexpr Key kConfigKey_OperationalDeviceICACerts = NRF5ConfigKey(kFileId_WeaveConfig, 0x0013)
Khóa kConfigKey_OperationalDeviceId
constexpr Key kConfigKey_OperationalDeviceId = NRF5ConfigKey(kFileId_WeaveConfig, 0x0011)
Khóa kConfigKey_Opera ẩn
constexpr Key kConfigKey_OperationalDevicePrivateKey = NRF5ConfigKey(kFileId_WeaveConfig, 0x0014)
kConfigKey_PairAccountId
constexpr Key kConfigKey_PairedAccountId = NRF5ConfigKey(kFileId_WeaveConfig, 0x0009)
kConfigKey_PairingCode
constexpr Key kConfigKey_PairingCode = NRF5ConfigKey(kFileId_WeaveFactory, 0x0006)
Khóa kConfigKey_ProductRevision
constexpr Key kConfigKey_ProductRevision = NRF5ConfigKey(kFileId_WeaveFactory, 0x000F)
Khóa kConfigKey_SerialNum
constexpr Key kConfigKey_SerialNum = NRF5ConfigKey(kFileId_WeaveFactory, 0x0001)
Khóa kConfigKey_ServiceConfig
constexpr Key kConfigKey_ServiceConfig = NRF5ConfigKey(kFileId_WeaveConfig, 0x0008)
Khóa kConfigKey_ServiceId
constexpr Key kConfigKey_ServiceId = NRF5ConfigKey(kFileId_WeaveConfig, 0x000A)
kFDSFileIdMax (kFDSFileIdMax)
constexpr uint16_t kFDSFileIdMax = 0xBFFF
Giá trị tối đa có thể dùng cho mã tệp FDS (mỗi SDK Bắc Âu)
kFDSFileIdMin
constexpr uint16_t kFDSFileIdMin = 0x0000
Giá trị tối thiểu có thể dùng cho id tệp FDS (mỗi SDK Bắc Âu)
Bản ghi kFDSKeyKeyMax
constexpr uint16_t kFDSRecordKeyMax = 0xBFFF
Giá trị tối đa có thể dùng cho khóa bản ghi FDS (mỗi SDK Bắc Âu)
Bản ghi kFDSRecordKeyMin
constexpr uint16_t kFDSRecordKeyMin = 0x0001
Giá trị tối thiểu có thể dùng cho khóa bản ghi FDS (mỗi SDK Bắc Âu)
kFileId_WeaveConfig
constexpr uint16_t kFileId_WeaveConfig = 0x235B
Tệp FDS chứa các giá trị cấu hình động được đặt vào thời gian chạy.
Bị xóa trong quá trình đặt lại về trạng thái ban đầu.
kFileId_WeaveCounter
constexpr uint16_t kFileId_WeaveCounter = 0x235C
Tệp FDS chứa các giá trị bộ đếm động được đặt vào thời gian chạy.
Được giữ lại trong quá trình đặt lại về trạng thái ban đầu.
Tệp kFileId_WeaveFactory
constexpr uint16_t kFileId_WeaveFactory = 0x235A
Tệp FDS chứa các giá trị cấu hình cố định được đặt tại thời điểm sản xuất.
Được giữ lại trong quá trình đặt lại về trạng thái ban đầu.
kPersistedCounterRecordKeyBase
constexpr uint16_t kPersistedCounterRecordKeyBase = kFDSRecordKeyMin
Khóa bản ghi cơ sở cho các bản ghi chứa giá trị bộ đếm Weave vẫn tồn tại.
Mã bộ đếm Weave được thêm vào giá trị này để tạo khóa bản ghi FDS.
kPersistedCounterRecordKeyMax
constexpr uint16_t kPersistedCounterRecordKeyMax = kFDSRecordKeyMax
Khóa bản ghi tối đa cho các bản ghi chứa giá trị của bộ đếm Weave vẫn tồn tại.
Thuộc tính tĩnh được bảo vệ
kFDSWordSize
constexpr uint16_t kFDSWordSize = 4
sActiveAasyncOp
FDSAsyncOp *volatile sActiveAsyncOp
sAasyncOpcompletedSem
SemaphoreHandle_t sAsyncOpCompletionSem
Hàm tĩnh công khai
Giá trị cấu hình rõ ràng
WEAVE_ERROR ClearConfigValue( Key key )
Người định cấu hình
bool ConfigValueExists( Key key )
Đặt lại cấu hình về trạng thái ban đầu
WEAVE_ERROR FactoryResetConfig( void )
Số nguyên
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 )
Thử nghiệm đơn vị cấu hình RunConfig
void RunConfigUnitTest( void )
Ghi cấu hình giá trị
WEAVE_ERROR WriteConfigValue( Key key, bool val )
Ghi cấu hình giá trị
WEAVE_ERROR WriteConfigValue( Key key, uint32_t val )
Ghi cấu hình giá trị
WEAVE_ERROR WriteConfigValue( Key key, uint64_t val )
ViếtConfigValueBin
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 )
Hàm tĩnh được bảo vệ
DoASyncFDSOp
WEAVE_ERROR DoAsyncFDSOp( FDSAsyncOp & asyncOp )
Từ FDS
constexpr uint16_t FDSWords( size_t s )
Số từ FDS cần thiết để giữ một đối tượng kích thước nhất định.
FortừngBản ghi
WEAVE_ERROR ForEachRecord( uint16_t fileId, uint16_t recordKey, ForEachRecordFunct funct )
Nhận tệp
constexpr uint16_t GetFileId( uint32_t key )
Trích xuất id tệp FDS từ Giá trị khóa.
Ghi âm khóa
constexpr uint16_t GetRecordKey( uint32_t key )
Trích xuất khóa bản ghi FDS từ Giá trị khóa.
Bản ghi mở
WEAVE_ERROR OpenRecord( NRF5Config::Key key, fds_record_desc_t & recDesc, fds_flash_record_t & rec )