Google is committed to advancing racial equity for Black communities. See how.

এনএল :: তাঁত :: ডিভাইস লাইয়ার :: অভ্যন্তরীণ :: এনআরএফ 5 কনফিগ

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

নর্ডিক এনআরএফ 5 এসডিকে ভিত্তিক প্ল্যাটফর্মগুলিতে অবিচ্ছিন্ন ডিভাইস কনফিগারেশন অ্যাক্সেসের জন্য ফাংশন এবং সংজ্ঞা সরবরাহ করে।

সারসংক্ষেপ

এই প্রয়োগটি নর্ডিক ফ্ল্যাশ ডেটা স্টোরেজ (এফডিএস) লাইব্রেরিকে অন্তর্নিহিত স্টোরেজ স্তর হিসাবে ব্যবহার করে।

দ্রষ্টব্য: এই শ্রেণিটি জেনেরিক কনফিগারেশন ম্যানেজারআইপল <> টেমপ্লেটের কংক্রিট সাবক্লাসে মিশ্রিত হওয়ার জন্য ডিজাইন করা হয়েছে। এই উপায়ে ব্যবহার করা হলে, ক্লাসটি স্বাভাবিকভাবে টেমপ্লেট শ্রেণীর দ্বারা উল্লিখিত প্রতিনিধি সদস্যদের জন্য বাস্তবায়ন সরবরাহ করে (যেমন: ReadConfigValue () পদ্ধতি)।

উত্তরাধিকার

প্রত্যক্ষ জ্ঞাত সাবক্লাস:
  nl :: তাঁত :: ডিভাইস লেয়ার :: কনফিগারেশন ম্যানেজারআইএমপিএল
  nl :: তাঁত :: ডিভাইসলায়ার :: অভ্যন্তরীণ :: গ্রুপকি স্টোরআইম্পল

পাবলিক প্রকার

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
এফডিএস ফাইল আইডি (নর্ডিক এসডিকে প্রতি) এর জন্য ব্যবহার করা যেতে পারে এমন সর্বাধিক মান
kFDSFileIdMin = 0x0000
constexpr uint16_t
কোনও এফডিএস ফাইল আইডি (নর্ডিক এসডিকে প্রতি) এর জন্য ব্যবহার করা যেতে পারে এমন সর্বনিম্ন মান
kFDSRecordKeyMax = 0xBFFF
constexpr uint16_t
এফডিএস রেকর্ড কী (সর্বাধিক নরডিক এসডিকে) এর জন্য ব্যবহার করা যেতে পারে এমন সর্বাধিক মান
kFDSRecordKeyMin = 0x0001
constexpr uint16_t
কোনও এফডিএস রেকর্ড কী (নর্ডিক এসডিকে প্রতি) এর জন্য ব্যবহার করা যেতে পারে এমন সর্বনিম্ন মান
kFileId_WeaveConfig = 0x235B
constexpr uint16_t
গতিশীল কনফিগার মান যুক্ত এফডিএস ফাইল রানটাইম সেট করা আছে।
kFileId_WeaveCounter = 0x235C
constexpr uint16_t
গতিশীল কাউন্টার মান সহ এফডিএস ফাইল রানটাইম সেট করা হয়।
kFileId_WeaveFactory = 0x235A
constexpr uint16_t
স্থায়ী কনফিগার মান সমন্বিত এফডিএস ফাইল উত্পাদন সময় সেট করা হয়।
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
প্রদত্ত আকারের অবজেক্টটি ধরে রাখতে প্রয়োজনীয় এফডিএস শব্দের সংখ্যা।
ForEachRecord (uint16_t fileId, uint16_t recordKey, ForEachRecordFunct funct)
GetFileId (uint32_t key)
constexpr uint16_t
একটি মূল মান থেকে একটি এফডিএস ফাইল আইডি বের করুন।
GetRecordKey (uint32_t key)
constexpr uint16_t
একটি মূল মান থেকে একটি এফডিএস রেকর্ড কী বের করুন।
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

পাবলিক স্ট্যাটিক বৈশিষ্ট্য

কে কনফিগকি_ফ্যাব্রিক আইডি

constexpr Key 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)

কেসিফিগকি_প্রডাক্টরেভিশন ision

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)

kFDSFileIdMax

constexpr uint16_t kFDSFileIdMax = 0xBFFF

এফডিএস ফাইল আইডি (নর্ডিক এসডিকে প্রতি) এর জন্য ব্যবহার করা যেতে পারে এমন সর্বাধিক মান

কেএফডিএসফিলিআইডমিন

constexpr uint16_t kFDSFileIdMin = 0x0000

কোনও এফডিএস ফাইল আইডি (নর্ডিক এসডিকে প্রতি) এর জন্য ব্যবহার করা যেতে পারে এমন সর্বনিম্ন মান

কেএফডিএসরেকর্ডকি ম্যাক্স

constexpr uint16_t kFDSRecordKeyMax = 0xBFFF

এফডিএস রেকর্ড কী (সর্বাধিক নরডিক এসডিকে) এর জন্য ব্যবহার করা যেতে পারে এমন সর্বাধিক মান

কেএফডিএসরেকর্ডকি মিন

constexpr uint16_t kFDSRecordKeyMin = 0x0001

কোনও এফডিএস রেকর্ড কী (নর্ডিক এসডিকে প্রতি) এর জন্য ব্যবহার করা যেতে পারে এমন সর্বনিম্ন মান

kFileId_WeaveConfig

constexpr uint16_t kFileId_WeaveConfig = 0x235B

গতিশীল কনফিগার মান যুক্ত এফডিএস ফাইল রানটাইম সেট করা আছে।

কারখানার পুনরায় সেট করার সময় সাফ করা হয়েছে।

kFileId_WeaveCounter

constexpr uint16_t kFileId_WeaveCounter = 0x235C

গতিশীল কাউন্টার মান সহ এফডিএস ফাইল রানটাইমে সেট করা হয়।

কারখানার পুনরায় সেট করার সময় ধরে রাখা হয়েছে।

কেফাইলআইডি_উইভফ্যাক্টরি

constexpr uint16_t kFileId_WeaveFactory = 0x235A

স্থায়ী কনফিগার মান সমন্বিত এফডিএস ফাইল উত্পাদন সময় সেট করা হয়।

কারখানার পুনরায় সেট করার সময় ধরে রাখা হয়েছে।

কেপিস্ট্রিস্টকাউন্টরেকর্ডকিজেবেস

constexpr uint16_t kPersistedCounterRecordKeyBase = kFDSRecordKeyMin

বুনা ধরে থাকা পাল্টা মানগুলি রেকর্ডের জন্য বেস রেকর্ড কী।

এফডিএস রেকর্ড কী তৈরি করতে এই মানটিতে ওয়েভ কাউন্টার আইডি যুক্ত করা হয়।

কেপিস্ট্রিস্টকাউন্টরেকর্ডকি ম্যাক্স

constexpr uint16_t kPersistedCounterRecordKeyMax = kFDSRecordKeyMax

ওয়েভ অব্যাহত পাল্টা মানগুলি রেকর্ডের জন্য সর্বাধিক রেকর্ড কী।

স্থিত বৈশিষ্ট্য সুরক্ষিত

কেএফডিএস ওয়ার্ডসাইজ

constexpr uint16_t kFDSWordSize = 4

sActiveAsyncOp

FDSAsyncOp *volatile sActiveAsyncOp

sAncncOpCompletionSem

SemaphoreHandle_t sAsyncOpCompletionSem

পাবলিক স্ট্যাটিক ফাংশন

ক্লিয়ারকনফিগভ্যালু

WEAVE_ERROR ClearConfigValue(
  Key key
)

কনফিগারভ্যালুএক্সিস্টস

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
)

ReadConfigValueStr

WEAVE_ERROR ReadConfigValueStr(
  Key key,
  char *buf,
  size_t bufSize,
  size_t & outLen
)

রানকনফিগ ইউনাইটটেষ্ট

void RunConfigUnitTest(
  void
)

WritConfigValue

WEAVE_ERROR WriteConfigValue(
  Key key,
  bool val
)

WritConfigValue

WEAVE_ERROR WriteConfigValue(
  Key key,
  uint32_t val
)

WritConfigValue

WEAVE_ERROR WriteConfigValue(
  Key key,
  uint64_t val
)

WritConfigValueBin

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

WritConfigValueStr

WEAVE_ERROR WriteConfigValueStr(
  Key key,
  const char *str
)

WritConfigValueStr

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

স্ট্যাটিক ফাংশন সুরক্ষিত

DoAsyncFDSOp

WEAVE_ERROR DoAsyncFDSOp(
  FDSAsyncOp & asyncOp
)

এফডিএসওয়ার্ডস

constexpr uint16_t FDSWords(
  size_t s
)

প্রদত্ত আকারের অবজেক্টটি ধরে রাখতে প্রয়োজনীয় এফডিএস শব্দের সংখ্যা।

ForEachRecord

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

গেটফিলআইডি

constexpr uint16_t GetFileId(
  uint32_t key
)

একটি মূল মান থেকে একটি এফডিএস ফাইল আইডি বের করুন।

গেটরেকর্ডকি

constexpr uint16_t GetRecordKey(
  uint32_t key
)

একটি মূল মান থেকে একটি এফডিএস রেকর্ড কী বের করুন।

ওপেনকর্ড

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