nl:: বুনা:: ডিভাইস লেয়ার:: অভ্যন্তরীণ:: NRF5 কনফিগারেশন
#include <src/adaptations/device-layer/include/Weave/DeviceLayer/nRF5/nRF5Config.h>
নর্ডিক nRF5 SDK-এর উপর ভিত্তি করে প্ল্যাটফর্মগুলিতে স্থায়ী ডিভাইস কনফিগারেশন অ্যাক্সেস করার জন্য ফাংশন এবং সংজ্ঞা প্রদান করে।
সারাংশ
এই বাস্তবায়নটি অন্তর্নিহিত স্টোরেজ স্তর হিসাবে নর্ডিক ফ্ল্যাশ ডেটা স্টোরেজ (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 ফাইল আইডির জন্য ব্যবহার করা যেতে পারে (নর্ডিক SDK প্রতি) |
kFDSFileIdMin = 0x0000 | constexpr uint16_t ন্যূনতম মান যা একটি FDS ফাইল আইডির জন্য ব্যবহার করা যেতে পারে (নর্ডিক SDK প্রতি) |
kFDSRecordKeyMax = 0xBFFF | constexpr uint16_t সর্বাধিক মান যা একটি FDS রেকর্ড কী (নর্ডিক SDK প্রতি) ব্যবহার করা যেতে পারে |
kFDSRecordKeyMin = 0x0001 | constexpr uint16_t ন্যূনতম মান যা একটি FDS রেকর্ড কী (নর্ডিক 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 ওয়েভ স্থায়ী কাউন্টার মান ধারণকারী রেকর্ডের জন্য বেস রেকর্ড কী। |
kPersistedCounterRecordKeyMax = kFDSRecordKeyMax | constexpr uint16_t উইভ টিকে থাকা কাউন্টার মান ধারণকারী রেকর্ডের জন্য সর্বোচ্চ রেকর্ড কী। |
সুরক্ষিত স্ট্যাটিক বৈশিষ্ট্য | |
---|---|
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
সুরক্ষিত প্রকার
ForEachRecordFunct
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_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
সর্বাধিক মান যা একটি FDS ফাইল আইডির জন্য ব্যবহার করা যেতে পারে (নর্ডিক SDK প্রতি)
kFDSFileIdMin
constexpr uint16_t kFDSFileIdMin = 0x0000
ন্যূনতম মান যা একটি FDS ফাইল আইডির জন্য ব্যবহার করা যেতে পারে (নর্ডিক SDK প্রতি)
kFDSRecordKeyMax
constexpr uint16_t kFDSRecordKeyMax = 0xBFFF
সর্বাধিক মান যা একটি FDS রেকর্ড কী (নর্ডিক SDK প্রতি) ব্যবহার করা যেতে পারে
kFDSRecordKeyMin
constexpr uint16_t kFDSRecordKeyMin = 0x0001
ন্যূনতম মান যা একটি FDS রেকর্ড কী (নর্ডিক 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
ওয়েভ স্থায়ী কাউন্টার মান ধারণকারী রেকর্ডের জন্য বেস রেকর্ড কী।
ওয়েভ কাউন্টার আইডি FDS রেকর্ড কী তৈরি করতে এই মানের সাথে যোগ করা হয়।
kPersistedCounterRecordKeyMax
constexpr uint16_t kPersistedCounterRecordKeyMax = kFDSRecordKeyMax
উইভ টিকে থাকা কাউন্টার মান ধারণকারী রেকর্ডের জন্য সর্বোচ্চ রেকর্ড কী।
সুরক্ষিত স্ট্যাটিক বৈশিষ্ট্য
kFDSWordSize
constexpr uint16_t kFDSWordSize = 4
sActiveAsyncOp
FDSAsyncOp *volatile sActiveAsyncOp
sAsyncOpCompletionSem
SemaphoreHandle_t sAsyncOpCompletionSem
পাবলিক স্ট্যাটিক ফাংশন
ClearConfigValue
WEAVE_ERROR ClearConfigValue( Key key )
ConfigValue বিদ্যমান
bool ConfigValueExists( Key key )
FactoryResetConfig
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 )
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 )
সুরক্ষিত স্ট্যাটিক ফাংশন
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 )
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 )