nl:: বুনা:: প্রোফাইল:: ডিভাইসের বিবরণ:: WeaveDeviceDescriptor

#include <src/lib/profiles/device-description/DeviceDescription.h>

একটি Weave ডিভাইস সম্পর্কে বর্ণনামূলক তথ্য রয়েছে।

সারাংশ

কনস্ট্রাক্টর এবং ডেস্ট্রাক্টর

WeaveDeviceDescriptor (void)

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

@180 {
kMaxSerialNumberLength = 32,
kMaxPairingCodeLength = 16,
kMaxRendezvousWiFiESSID = 32,
kMaxSoftwareVersionLength = WEAVE_CONFIG_MAX_SOFTWARE_VERSION_LENGTH
}
enum
কিছু বৈশিষ্ট্যের সর্বোচ্চ দৈর্ঘ্য নির্ধারণ করে।
@181 {
kFeature_HomeAlarmLinkCapable = 0x00000001,
kFeature_LinePowered = 0x00000002
}
enum
বৈশিষ্ট্য পতাকা নির্দিষ্ট ডিভাইস ক্ষমতা নির্দেশ করে.
@182 {
kFlag_IsRendezvousWiFiESSIDSuffix = 0x01
}
enum
পতাকা ক্ষেত্রের সংজ্ঞা।

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

Day
uint8_t
ডিভাইস তৈরির দিন (0 = উপস্থিত নয়)
DeviceFeatures
uint32_t
বিট ক্ষেত্র নির্দিষ্ট ডিভাইস বৈশিষ্ট্যগুলির জন্য সমর্থন নির্দেশ করে।
DeviceId
uint64_t
ওয়েভ ডিভাইস আইডি (0 = উপস্থিত নয়)
FabricId
uint64_t
ওয়েভ ফ্যাব্রিকের আইডি যা ডিভাইসের অন্তর্গত (0 = উপস্থিত নয়)
Flags
uint8_t
ডিভাইস সম্পর্কে অতিরিক্ত তথ্য ধারণকারী বিট ক্ষেত্র।
ManufacturingDate
struct nl::Weave::Profiles::DeviceDescription::WeaveDeviceDescriptor::@183
Month
uint8_t
ডিভাইস তৈরির মাস (1 = জানুয়ারি)
PairingCode [kMaxPairingCodeLength+1]
char
ডিভাইস পেয়ারিং কোড (NUL সমাপ্ত, 0 দৈর্ঘ্য = উপস্থিত নয়)
PairingCompatibilityVersionMajor
uint16_t
প্রধান ডিভাইস জোড়া সফ্টওয়্যার সামঞ্জস্য সংস্করণ.
PairingCompatibilityVersionMinor
uint16_t
ছোট ডিভাইস জোড়া সফ্টওয়্যার সামঞ্জস্য সংস্করণ.
Primary802154MACAddress [8]
uint8_t
প্রাথমিক 802.15.4 ইন্টারফেসের জন্য MAC ঠিকানা (বড়-এন্ডিয়ান, সমস্ত শূন্য = উপস্থিত নয়)
PrimaryWiFiMACAddress [6]
uint8_t
প্রাথমিক ওয়াইফাই ইন্টারফেসের জন্য MAC ঠিকানা (বড়-এন্ডিয়ান, সমস্ত শূন্য = উপস্থিত নয়)
ProductId
uint16_t
ডিভাইস পণ্য কোড (0 = উপস্থিত নয়)
ProductRevision
uint16_t
ডিভাইস পণ্য সংশোধন (0 = উপস্থিত নয়)
RendezvousWiFiESSID [kMaxRendezvousWiFiESSID+1]
char
ডিভাইস ওয়াইফাই রেন্ডেজভাস নেটওয়ার্কের জন্য ESSID (NUL সমাপ্ত, 0 দৈর্ঘ্য = উপস্থিত নয়)
SerialNumber [kMaxSerialNumberLength+1]
char
ডিভাইসের সিরিয়াল নম্বর (NUL সমাপ্ত, 0 দৈর্ঘ্য = উপস্থিত নয়)
SoftwareVersion [kMaxSoftwareVersionLength+1]
char
সক্রিয় সফ্টওয়্যার সংস্করণ (NUL সমাপ্ত, 0 দৈর্ঘ্য = উপস্থিত নয়)
VendorId
uint16_t
ডিভাইস বিক্রেতার কোড (0 = উপস্থিত নয়)
Year
uint16_t
ডিভাইস তৈরির বছর (বৈধ পরিসীমা 2001 - 2099)

পাবলিক ফাংশন

Clear (void)
void
ডিভাইসের বিবরণ সাফ করে।

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

Decode (const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
প্রদত্ত ডেটা বাফারের বিষয়বস্তুকে একটি ওয়েভ ডিভাইস বর্ণনাকারী বস্তুতে ডিকোড করে।
DecodeTLV (const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
প্রদত্ত TLV ডেটা বাফারের বিষয়বস্তুকে একটি ওয়েভ ডিভাইস বর্ণনাকারী বস্তুতে ডিকোড করে।
DecodeTLV ( nl::Weave::TLV::TLVReader & reader, WeaveDeviceDescriptor & outDesc)
প্রদত্ত প্রি-ইনিশিয়ালাইজড TLVReader ব্যবহার করে ডিভাইসের বিবরণ ডিকোড করে।
DecodeText (const char *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
প্রদত্ত টেক্সট ডেটা বাফারের বিষয়বস্তুকে একটি ওয়েভ ডিভাইস বর্ণনাকারী অবজেক্টে ডিকোড করে।
EncodeTLV (const WeaveDeviceDescriptor & desc, uint8_t *buf, uint32_t bufLen, uint32_t & outEncodedLen)
সরবরাহকৃত বাফারে লেখা Weave TLV হিসাবে প্রদত্ত ডিভাইস বর্ণনাকারীকে এনকোড করে।
EncodeTLV (const WeaveDeviceDescriptor & desc, nl::Weave::TLV::TLVWriter & writer)
প্রদত্ত ডিভাইস বর্ণনাকারীকে ওয়েভ TLV হিসাবে এনকোড করে যা প্রদত্ত প্রাক-প্রাথমিক TLVWriter অবজেক্ট ব্যবহার করে লেখা হয়।
EncodeText (const WeaveDeviceDescriptor & desc, char *buf, uint32_t bufLen, uint32_t & outEncodedLen)
সরবরাহকৃত বাফারে লেখা টেক্সট হিসাবে প্রদত্ত ডিভাইস বর্ণনাকারীকে এনকোড করে।
IsZeroBytes (const uint8_t *buf, uint32_t len)
bool
নির্দিষ্ট বাফারে শুধুমাত্র শূন্য রয়েছে কিনা তা পরীক্ষা করুন।

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

@180

 @180

কিছু বৈশিষ্ট্যের সর্বোচ্চ দৈর্ঘ্য নির্ধারণ করে।

বৈশিষ্ট্য
kMaxPairingCodeLength

পেয়ারিং কোডের সর্বোচ্চ দৈর্ঘ্য।

kMaxRendezvousWiFiESSID

মিলনস্থলের দৈর্ঘ্যের জন্য সর্বাধিক ওয়াইফাই ESSID।

kMaxSerialNumberLength

সর্বাধিক ক্রমিক সংখ্যা দৈর্ঘ্য।

kMaxSoftwareVersionLength

সর্বাধিক সফ্টওয়্যার সংস্করণ দৈর্ঘ্য।

@181

 @181

বৈশিষ্ট্য পতাকা নির্দিষ্ট ডিভাইস ক্ষমতা নির্দেশ করে.

বৈশিষ্ট্য
kFeature_HomeAlarmLinkCapable

একটি Nest Protect নির্দেশ করে যা একটি হোম অ্যালার্ম প্যানেলের সাথে সংযোগ সমর্থন করে৷

kFeature_LinePowered

লাইন পাওয়ার প্রয়োজন এমন একটি ডিভাইস নির্দেশ করে।

@182

 @182

পতাকা ক্ষেত্রের সংজ্ঞা।

বৈশিষ্ট্য
kFlag_IsRendezvousWiFiESSIDSuffix

নির্দেশ করে যে RendezvousWiFiESSID মান হল একটি প্রত্যয় স্ট্রিং যা ডিভাইসের WiFi রেন্ডেজভাস নেটওয়ার্কের ESSID-এর শেষে প্রদর্শিত হয়৷

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

দিন

uint8_t Day

ডিভাইস তৈরির দিন (0 = উপস্থিত নয়)

ডিভাইসের বৈশিষ্ট্য

uint32_t DeviceFeatures

বিট ক্ষেত্র নির্দিষ্ট ডিভাইস বৈশিষ্ট্যগুলির জন্য সমর্থন নির্দেশ করে।

ডিভাইস আইডি

uint64_t DeviceId

ওয়েভ ডিভাইস আইডি (0 = উপস্থিত নয়)

ফ্যাব্রিকআইডি

uint64_t FabricId

ওয়েভ ফ্যাব্রিকের আইডি যা ডিভাইসের অন্তর্গত (0 = উপস্থিত নয়)

পতাকা

uint8_t Flags

ডিভাইস সম্পর্কে অতিরিক্ত তথ্য ধারণকারী বিট ক্ষেত্র।

উত্পাদন তারিখ

struct nl::Weave::Profiles::DeviceDescription::WeaveDeviceDescriptor::@183 ManufacturingDate

মাস

uint8_t Month

ডিভাইস তৈরির মাস (1 = জানুয়ারি)

পেয়ারিং কোড

char PairingCode[kMaxPairingCodeLength+1]

ডিভাইস পেয়ারিং কোড (NUL সমাপ্ত, 0 দৈর্ঘ্য = উপস্থিত নয়)

Pairing Compatibility VersionMajor

uint16_t PairingCompatibilityVersionMajor

প্রধান ডিভাইস জোড়া সফ্টওয়্যার সামঞ্জস্য সংস্করণ.

পেয়ারিং কম্প্যাটিবিলিটি ভার্সন মাইনর

uint16_t PairingCompatibilityVersionMinor

ছোট ডিভাইস জোড়া সফ্টওয়্যার সামঞ্জস্য সংস্করণ.

প্রাথমিক802154MACA ঠিকানা

uint8_t Primary802154MACAddress[8]

প্রাথমিক 802.15.4 ইন্টারফেসের জন্য MAC ঠিকানা (বড়-এন্ডিয়ান, সমস্ত শূন্য = উপস্থিত নয়)

প্রাথমিক ওয়াইফাইম্যাক ঠিকানা

uint8_t PrimaryWiFiMACAddress[6]

প্রাথমিক ওয়াইফাই ইন্টারফেসের জন্য MAC ঠিকানা (বড়-এন্ডিয়ান, সমস্ত শূন্য = উপস্থিত নয়)

পণ্যের আইডি

uint16_t ProductId

ডিভাইস পণ্য কোড (0 = উপস্থিত নয়)

পণ্য পর্যালোচনা

uint16_t ProductRevision

ডিভাইস পণ্য সংশোধন (0 = উপস্থিত নয়)

রেন্ডেজভাসওয়াইফাইএসআইডি

char RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]

ডিভাইস ওয়াইফাই রেন্ডেজভাস নেটওয়ার্কের জন্য ESSID (NUL সমাপ্ত, 0 দৈর্ঘ্য = উপস্থিত নয়)

সিরিয়াল নম্বর

char SerialNumber[kMaxSerialNumberLength+1]

ডিভাইসের সিরিয়াল নম্বর (NUL সমাপ্ত, 0 দৈর্ঘ্য = উপস্থিত নয়)

সফটওয়্যার সংস্করণ

char SoftwareVersion[kMaxSoftwareVersionLength+1]

সক্রিয় সফ্টওয়্যার সংস্করণ (NUL সমাপ্ত, 0 দৈর্ঘ্য = উপস্থিত নয়)

ভেন্ডরআইডি

uint16_t VendorId

ডিভাইস বিক্রেতার কোড (0 = উপস্থিত নয়)

বছর

uint16_t Year

ডিভাইস তৈরির বছর (বৈধ পরিসীমা 2001 - 2099)

পাবলিক ফাংশন

পরিষ্কার

void Clear(
  void
)

ডিভাইসের বিবরণ সাফ করে।

WeaveDeviceDescriptor

 WeaveDeviceDescriptor(
  void
)

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

ডিকোড

WEAVE_ERROR Decode(
  const uint8_t *data,
  uint32_t dataLen,
  WeaveDeviceDescriptor & outDesc
)

প্রদত্ত ডেটা বাফারের বিষয়বস্তুকে একটি ওয়েভ ডিভাইস বর্ণনাকারী বস্তুতে ডিকোড করে।

বিস্তারিত
পরামিতি
[in] data
পাঠ্য বা TLV এনকোডেড উইভ ডিভাইস বর্ণনাকারী ডেটা ধারণকারী একটি বাফারের একটি পয়েন্টার।
[in] dataLen
প্রদত্ত বাফারের দৈর্ঘ্য।
[out] outDesc
ডিভাইস বর্ণনাকারী বস্তুর একটি রেফারেন্স যা পপুলেট করা হবে।
রিটার্ন মান
WEAVE_ERROR_INVALID_DEVICE_DESCRIPTOR
প্রদত্ত বাফার যদি অবৈধ হয়।
WEAVE_NO_ERROR
সাফল্যের উপর।
other
অন্যান্য ওয়েভ বা প্ল্যাটফর্ম-নির্দিষ্ট ত্রুটি কোড যা নির্দেশ করে যে TLV এর ডিকোডিং প্রতিরোধে একটি ত্রুটি ঘটেছে।

ডিকোডটিএলভি

WEAVE_ERROR DecodeTLV(
  const uint8_t *data,
  uint32_t dataLen,
  WeaveDeviceDescriptor & outDesc
)

প্রদত্ত TLV ডেটা বাফারের বিষয়বস্তুকে একটি ওয়েভ ডিভাইস বর্ণনাকারী বস্তুতে ডিকোড করে।

বিস্তারিত
পরামিতি
[in] data
টেক্সট এনকোডেড উইভ ডিভাইস বর্ণনাকারী ডেটা ধারণকারী একটি বাফারের একটি পয়েন্টার।
[in] dataLen
প্রদত্ত বাফারের দৈর্ঘ্য।
[out] outDesc
ডিভাইস বর্ণনাকারী বস্তুর একটি রেফারেন্স যা পপুলেট করা হবে।
রিটার্ন মান
WEAVE_ERROR_WRONG_TLV_TYPE
যদি এটি ডিভাইসের বিবরণ TLV না হয়।
WEAVE_ERROR_UNEXPECTED_TLV_ELEMENT
ডিভাইস বর্ণনার পরে যদি আরও TLV ডেটার সম্মুখীন হয়।
WEAVE_NO_ERROR
সাফল্যের উপর।
other
অন্যান্য ওয়েভ বা প্ল্যাটফর্ম-নির্দিষ্ট ত্রুটি কোড যা নির্দেশ করে যে TLV এর এনকোডিং প্রতিরোধে একটি ত্রুটি ঘটেছে।

ডিকোডটিএলভি

WEAVE_ERROR DecodeTLV(
  nl::Weave::TLV::TLVReader & reader,
  WeaveDeviceDescriptor & outDesc
)

প্রদত্ত প্রি-ইনিশিয়ালাইজড TLVReader ব্যবহার করে ডিভাইসের বিবরণ ডিকোড করে।

বিস্তারিত
পরামিতি
[in] reader
প্রি-ইনিশিয়ালাইজড TLVReader-এর একটি রেফারেন্স।
[out] outDesc
ডিভাইস বর্ণনাকারী বস্তুর একটি রেফারেন্স যা পপুলেট করা হবে।
রিটার্ন মান
WEAVE_ERROR_INVALID_TLV_ELEMENT
যদি অবৈধ ডিভাইস বিবরণ তথ্য TLV ডেটাতে পাওয়া যায়।
WEAVE_NO_ERROR
সাফল্যের উপর।
other
অন্যান্য ওয়েভ বা প্ল্যাটফর্ম-নির্দিষ্ট ত্রুটি কোডগুলি নির্দেশ করে যে একটি ত্রুটি ঘটেছে যা TLV- এর ডিকোডিংকে বাধা দেয়।

ডিকোড টেক্সট

WEAVE_ERROR DecodeText(
  const char *data,
  uint32_t dataLen,
  WeaveDeviceDescriptor & outDesc
)

প্রদত্ত টেক্সট ডেটা বাফারের বিষয়বস্তুকে একটি ওয়েভ ডিভাইস বর্ণনাকারী অবজেক্টে ডিকোড করে।

বিস্তারিত
পরামিতি
[in] data
টেক্সট এনকোডেড উইভ ডিভাইস বর্ণনাকারী ডেটা ধারণকারী একটি বাফারের একটি পয়েন্টার।
[in] dataLen
প্রদত্ত বাফারের দৈর্ঘ্য।
[out] outDesc
ডিভাইস বর্ণনাকারী বস্তুর একটি রেফারেন্স যা পপুলেট করা হবে।
রিটার্ন মান
WEAVE_ERROR_UNSUPPORTED_DEVICE_DESCRIPTOR_VERSION
যদি এনকোড করা ডেটা সংস্করণ অসমর্থিত হয়।
WEAVE_ERROR_INVALID_DEVICE_DESCRIPTOR
যদি এনকোড করা ডেটা সঠিকভাবে ফরম্যাট করা না হয়।
WEAVE_ERROR_INCORRECT_STATE
যদি ডিকোডার দ্বারা একটি অসামঞ্জস্যপূর্ণ অবস্থার সম্মুখীন হয়।
WEAVE_ERROR_BUFFER_TOO_SMALL
ডিকোডিংয়ের সময় বাফারের শেষ প্রান্তে পৌঁছে গেলে।
WEAVE_NO_ERROR
সাফল্যের উপর।

এনকোডটিএলভি

WEAVE_ERROR EncodeTLV(
  const WeaveDeviceDescriptor & desc,
  uint8_t *buf,
  uint32_t bufLen,
  uint32_t & outEncodedLen
)

সরবরাহকৃত বাফারে লেখা Weave TLV হিসাবে প্রদত্ত ডিভাইস বর্ণনাকারীকে এনকোড করে।

বিস্তারিত
পরামিতি
[in] desc
এনকোড করার জন্য উইভ ডিভাইস বর্ণনাকারীর একটি রেফারেন্স।
[out] buf
একটি বাফারের একটি পয়েন্টার যেখানে এনকোড করা পাঠ্য লেখা হবে।
[in] bufLen
সরবরাহকৃত বাফারের দৈর্ঘ্য।
[out] outEncodedLen
দৈর্ঘ্য ভেরিয়েবলের একটি রেফারেন্স যা বাফারে লেখা অক্ষরের সংখ্যা দিয়ে ওভাররাইট করা হবে।
রিটার্ন মান
WEAVE_NO_ERROR
সাফল্যের উপর।
other
অন্যান্য ওয়েভ বা প্ল্যাটফর্ম-নির্দিষ্ট ত্রুটি কোড যা নির্দেশ করে যে TLV এর এনকোডিং প্রতিরোধে একটি ত্রুটি ঘটেছে।

এনকোডটিএলভি

WEAVE_ERROR EncodeTLV(
  const WeaveDeviceDescriptor & desc,
  nl::Weave::TLV::TLVWriter & writer
)

প্রদত্ত ডিভাইস বর্ণনাকারীকে ওয়েভ TLV হিসাবে এনকোড করে যা প্রদত্ত প্রাক-প্রাথমিক TLVWriter অবজেক্ট ব্যবহার করে লেখা হয়।

এটি বৃহত্তর TLV আউটপুটে ডিভাইসের বিবরণ যোগ করতে ব্যবহৃত হয়।

বিস্তারিত
পরামিতি
[in] desc
এনকোড করার জন্য উইভ ডিভাইস বর্ণনাকারীর একটি রেফারেন্স।
[in] writer
ব্যবহার করার জন্য প্রাক-সূচনাকৃত TLVWriter অবজেক্টের একটি রেফারেন্স।
রিটার্ন মান
WEAVE_NO_ERROR
সাফল্যের উপর।
other
অন্যান্য ওয়েভ বা প্ল্যাটফর্ম-নির্দিষ্ট ত্রুটি কোড যা নির্দেশ করে যে TLV এর এনকোডিং প্রতিরোধে একটি ত্রুটি ঘটেছে।

এনকোডটেক্সট

WEAVE_ERROR EncodeText(
  const WeaveDeviceDescriptor & desc,
  char *buf,
  uint32_t bufLen,
  uint32_t & outEncodedLen
)

সরবরাহকৃত বাফারে লেখা টেক্সট হিসাবে প্রদত্ত ডিভাইস বর্ণনাকারীকে এনকোড করে।

বিস্তারিত
পরামিতি
[in] desc
এনকোড করার জন্য উইভ ডিভাইস বর্ণনাকারীর একটি রেফারেন্স।
[out] buf
একটি বাফারের একটি পয়েন্টার যেখানে এনকোড করা পাঠ্য লেখা হবে।
[in] bufLen
সরবরাহকৃত বাফারের দৈর্ঘ্য।
[out] outEncodedLen
দৈর্ঘ্য ভেরিয়েবলের একটি রেফারেন্স যা বাফারে লেখা অক্ষরের সংখ্যা দিয়ে ওভাররাইট করা হবে।
রিটার্ন মান
WEAVE_ERROR_BUFFER_TOO_SMALL
যদি সরবরাহ করা বাফার তৈরি করা পাঠ্য বিবরণের জন্য খুব ছোট হয়।
WEAVE_ERROR_INVALID_ARGUMENT
যদি একটি বর্ণনাকারী ক্ষেত্র অবৈধ হয়।
WEAVE_NO_ERROR
সাফল্যের উপর।

IsZeroBytes

bool IsZeroBytes(
  const uint8_t *buf,
  uint32_t len
)

নির্দিষ্ট বাফারে শুধুমাত্র শূন্য রয়েছে কিনা তা পরীক্ষা করুন।

বিস্তারিত
পরামিতি
[in] buf
একটি বাফার একটি পয়েন্টার.
[in] len
বাফারের দৈর্ঘ্য।
রিটার্ন মান
TRUE
যদি বাফারে শুধুমাত্র শূন্য থাকে।
FALSE
যদি বাফারে কোনো অ-শূন্য মান থাকে।