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

এনএল :: তাঁত :: প্রোফাইল :: যন্ত্রের বিবরণ:: ওয়েভ ডিভাইসডেস্কিটার

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

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

সারসংক্ষেপ

নির্মাণকারী এবং ধ্বংসকারী

WeaveDeviceDescriptor (void)

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

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

জনসাধারণের গুণাবলী

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 ইন্টারফেসের জন্য ম্যাক ঠিকানা (বিগ-এন্ডিয়ান, সমস্ত জিরো = উপস্থিত নেই)
PrimaryWiFiMACAddress [6]
uint8_t
প্রাথমিক ওয়াইফাই ইন্টারফেসের জন্য ম্যাক ঠিকানা (বিগ-এন্ডিয়ান, সমস্ত জিরো = উপস্থিত নেই)
ProductId
uint16_t
ডিভাইসের পণ্য কোড (0 = উপস্থিত নেই)
ProductRevision
uint16_t
ডিভাইস পণ্য পুনর্বিবেচনা (0 = উপস্থিত নেই)
RendezvousWiFiESSID [kMaxRendezvousWiFiESSID+1]
char
ডিভাইস ওয়াইফাই রেন্ডেজভাস নেটওয়ার্কের জন্য এসএসআইডি (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)
প্রদত্ত বিষয়বস্তু decodes TLV একটি Weave ডিভাইস বর্ণনাকারী বস্তুর ডেটা বাফার।
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)
বুনা হিসাবে প্রদান করা ডিভাইস বর্ণনাকারী এনকোড 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

রেন্ডেজভাস দৈর্ঘ্যের জন্য সর্বাধিক ওয়াইফাই ইএসএসআইডি।

kMaxSerialNumberLength

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

kMaxSoftwareVersionLength

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

@ 181

 @181

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

সম্পত্তি
kFeature_HomeAlarmLinkCapable

বাসা সুরক্ষা নির্দেশ করে যা কোনও হোম অ্যালার্ম প্যানেলে সংযোগ সমর্থন করে।

kFeature_LinePowered

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

@ 182

 @182

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

সম্পত্তি
kFlag_IsRendezvousWiFiESSIDSuffix

ইঙ্গিত করে যে রেন্ডজেভওয়াইফাইএসআইএসআইডি মানটি একটি প্রত্যয় স্ট্রিং যা ডিভাইসের ওয়াইফাই রেন্ডেজভাস নেটওয়ার্কের ESSID এর শেষে প্রদর্শিত হয়।

জনসাধারণের গুণাবলী

দিন

uint8_t Day

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

ডিভাইস ফিচারস

uint32_t DeviceFeatures

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

ডিভাইসআইডি

uint64_t DeviceId

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

FabricId

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 দৈর্ঘ্য = উপস্থিত নেই)

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

uint16_t PairingCompatibilityVersionMajor

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

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

uint16_t PairingCompatibilityVersionMinor

গৌণ ডিভাইস জুড়ি সফ্টওয়্যার সামঞ্জস্য সংস্করণ।

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

uint8_t Primary802154MACAddress[8]

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

প্রাথমিক ওয়াইফাইএমএএএড্রেস

uint8_t PrimaryWiFiMACAddress[6]

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

পণ্যের আইডি

uint16_t ProductId

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

প্রোডাক্টরিভিশন

uint16_t ProductRevision

ডিভাইস পণ্য পুনর্বিবেচনা (0 = উপস্থিত নেই)

RendezvousWiFiESSID

char RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]

ডিভাইস ওয়াইফাই রেন্ডেজভাস নেটওয়ার্কের জন্য এসএসআইডি (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(
  void
)

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

ডিকোড

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

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

বিশদ
পরামিতি
[in] data
একটি বাফার টেক্সট বা ধারণকারী একটি পয়েন্টার TLV Weave ডিভাইস বর্ণনাকারী তথ্য এনকোড।
[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
)

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

বিশদ
পরামিতি
[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
)

বুনা হিসাবে প্রদান করা ডিভাইস বর্ণনাকারী এনকোড 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
সাফল্যের উপর।

ইসজিরোবাইটস

bool IsZeroBytes(
  const uint8_t *buf,
  uint32_t len
)

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

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