nl::Weave::الملفات الشخصية::DeviceDescription::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
}
تعداد
لتعريف الحد الأقصى لطول بعض السمات.
@181{
  kFeature_HomeAlarmLinkCapable = 0x00000001,
  kFeature_LinePowered = 0x00000002
}
تعداد
علامات الميزة التي تشير إلى إمكانات معيّنة للجهاز.
@182{
  kFlag_IsRendezvousWiFiESSIDSuffix = 0x01
}
تعداد
الإبلاغ عن تعريفات الحقول

السمات العامة

Day
uint8_t
يوم تصنيع الجهاز (0 = غير موجود)
DeviceFeatures
uint32_t
حقل بت يشير إلى دعم ميزات معينة للجهاز.
DeviceId
uint64_t
معرف جهاز Weave (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
عنوان MAC لواجهة 802.15.4 الأساسية (end-endian وجميع الأصفار = غير موجودة)
PrimaryWiFiMACAddress[6]
uint8_t
عنوان MAC لواجهة WiFi الأساسية (end-endian وجميع الأصفار = غير موجود)
ProductId
uint16_t
رمز منتج الجهاز (0 = غير متوفّر)
ProductRevision
uint16_t
مراجعة منتج الجهاز (0 = غير موجودة)
RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]
char
معرِّف ESSID لشبكة مقابل اتصال شبكة Wi-Fi للجهاز (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)
فك ترميز محتوى المخزن المؤقت للبيانات المقدّمة في كائن أداة Weave Device
DecodeTLV(const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
فك ترميز محتوى المخزن المؤقت لبيانات TLV المتوفّر في كائن وصف جهاز Weave.
DecodeTLV(nl::Weave::TLV::TLVReader & reader, WeaveDeviceDescriptor & outDesc)
فك ترميز وصف الجهاز باستخدام TLVReader الذي تم إعداده مسبقًا.
DecodeText(const char *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
فك ترميز محتوى المخزن المؤقت لبيانات النص المقدَّم في كائن أداة Weave Device
EncodeTLV(const WeaveDeviceDescriptor & desc, uint8_t *buf, uint32_t bufLen, uint32_t & outEncodedLen)
لترميز أداة وصف الجهاز المتوفّرة على شكل Weave TLV وتتم كتابته في المخزن المؤقت المُقدّم.
EncodeTLV(const WeaveDeviceDescriptor & desc, nl::Weave::TLV::TLVWriter & writer)
يعمل على ترميز واصف الجهاز المُقدَّم على أنه Weave 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 لشبكة Wi-Fi لمدة Rendezvous.

kMaxSerialNumberLength

الحد الأقصى لطول الرقم التسلسلي.

kMaxSoftwareVersionLength

الحد الأقصى لمدة إصدار البرنامج.

@181

 @181

علامات الميزة التي تشير إلى إمكانات معيّنة للجهاز.

أماكن إقامة
kFeature_HomeAlarmLinkCapable

يشير إلى جهاز Nest Protect الذي يتيح الاتصال بلوحة تنبيه المنزل.

kFeature_LinePowered

يشير إلى جهاز يتطلب طاقة خطية.

@182

 @182

الإبلاغ عن تعريفات الحقول

أماكن إقامة
kFlag_IsRendezvousWiFiESSIDSuffix

تشير إلى أنّ قيمة RendezvousWiFiESSID هي سلسلة لاحقة تظهر في نهاية شبكة SSID لشبكة Wi-Fi للجهاز.

السمات العامة

اليوم

uint8_t Day

يوم تصنيع الجهاز (0 = غير موجود)

ميزات الجهاز

uint32_t DeviceFeatures

حقل بت يشير إلى دعم ميزات معينة للجهاز.

رقم تعريف الجهاز

uint64_t DeviceId

معرف جهاز Weave (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 طول = غير متوفر)

إقران VersionVersion الرئيسي

uint16_t PairingCompatibilityVersionMajor

الإصدار الرئيسي للتوافق مع برنامج إقران الجهاز

جارٍ إقران التوافق مع الإصدار الثانوي

uint16_t PairingCompatibilityVersionMinor

إصدار ثانوي من برنامج إقران الجهاز.

عنوان البريد الإلكتروني الأساسي 802154MAC

uint8_t Primary802154MACAddress[8]

عنوان MAC لواجهة 802.15.4 الأساسية (end-endian وجميع الأصفار = غير موجودة)

عنوان wifiMAC الأساسي

uint8_t PrimaryWiFiMACAddress[6]

عنوان MAC لواجهة WiFi الأساسية (end-endian وجميع الأصفار = غير موجود)

رقم تعريف المنتج

uint16_t ProductId

رمز منتج الجهاز (0 = غير متوفّر)

مراجعة المنتج

uint16_t ProductRevision

مراجعة منتج الجهاز (0 = غير موجودة)

RendezvousWiFiESSID

char RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]

معرِّف ESSID لشبكة مقابل اتصال شبكة Wi-Fi للجهاز (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
)

فك ترميز محتوى المخزن المؤقت للبيانات المقدّمة في كائن أداة Weave Device

التفاصيل
المعلَمات
[in] data
مؤشر إلى المخزن المؤقت الذي يحتوي على النص أو بيانات TLV الوصفية Weave Device Recap.
[in] dataLen
طول المخزن المؤقت المقدم.
[out] outDesc
مرجع إلى كائن "وصف الجهاز" لتتم تعبئته.
قيم الإرجاع
WEAVE_ERROR_INVALID_DEVICE_DESCRIPTOR
إذا كان المخزن المؤقت الذي تم تقديمه غير صالح.
WEAVE_NO_ERROR
النجاح.
other
رموز الخطأ الأخرى في Weave أو النظام الأساسي التي تشير إلى حدوث خطأ يمنع فك ترميز TLV.

فك الترميز

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

فك ترميز محتوى المخزن المؤقت لبيانات TLV المتوفّر في كائن وصف جهاز Weave.

التفاصيل
المعلَمات
[in] data
مؤشر إلى مخزن مؤقت يحتوي على نص وصف جهاز Weave مشفر.
[in] dataLen
طول المخزن المؤقت المقدم.
[out] outDesc
مرجع إلى كائن "وصف الجهاز" لتتم تعبئته.
قيم الإرجاع
WEAVE_ERROR_WRONG_TLV_TYPE
إذا لم يكن هذا وصف الجهاز TLV.
WEAVE_ERROR_UNEXPECTED_TLV_ELEMENT
في حال ظهور المزيد من بيانات TLV بعد وصف الجهاز.
WEAVE_NO_ERROR
النجاح.
other
رموز الخطأ الأخرى في Weave أو النظام الأساسي التي تشير إلى حدوث خطأ يمنع ترميز 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
رموز الخطأ الأخرى في Weave أو النظام الأساسي التي تشير إلى حدوث خطأ حال دون فك ترميز TLV.

نص الترميز

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

فك ترميز محتوى المخزن المؤقت لبيانات النص المقدَّم في كائن أداة Weave Device

التفاصيل
المعلَمات
[in] data
مؤشر إلى مخزن مؤقت يحتوي على نص وصف جهاز Weave مشفر.
[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
النجاح.

ترميز LLV

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

لترميز أداة وصف الجهاز المتوفّرة على شكل Weave TLV وتتم كتابته في المخزن المؤقت المُقدّم.

التفاصيل
المعلَمات
[in] desc
مرجع إلى وصف أداة Weave Device لترميزه.
[out] buf
مؤشر إلى المخزن المؤقت الذي ستتم كتابة النص المشفّر فيه.
[in] bufLen
طول المخزن المؤقت الذي تم توفيره.
[out] outEncodedLen
مرجع إلى متغيّر الطول الذي سيتم استبداله بعدد الأحرف المكتوبة في المخزن المؤقت.
قيم الإرجاع
WEAVE_NO_ERROR
النجاح.
other
رموز الخطأ الأخرى في Weave أو النظام الأساسي التي تشير إلى حدوث خطأ يمنع ترميز TLV.

ترميز LLV

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

يعمل على ترميز واصف الجهاز المُقدَّم على أنه Weave TLV وتتم كتابته باستخدام عنصر TLVWriter المُعدّ مسبقًا.

وتُستخدم هذه الطريقة لإضافة وصف الجهاز إلى إخراج TLV أكبر.

التفاصيل
المعلَمات
[in] desc
مرجع إلى وصف أداة Weave Device لترميزه.
[in] writer
مرجع إلى عنصر TLVWriter الذي تم إعداده مسبقًا.
قيم الإرجاع
WEAVE_NO_ERROR
النجاح.
other
رموز الخطأ الأخرى في Weave أو النظام الأساسي التي تشير إلى حدوث خطأ يمنع ترميز TLV.

نص الترميز

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

لترميز وصف الجهاز الذي تم تقديمه كنص مكتوب إلى المخزن المؤقت المُقدّم.

التفاصيل
المعلَمات
[in] desc
مرجع إلى وصف أداة Weave Device لترميزه.
[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
إذا كان المخزن المؤقت يتضمن أي قيم غير صفرية.