nl::Weave::Profiles::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 الأساسية (big-endian، جميع الأصفار = غير موجودة)
PrimaryWiFiMACAddress[6]
uint8_t
عنوان MAC لواجهة Wi-Fi الأساسية (نطاق كبير، جميع الأصفار = غير موجودة)
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.
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.
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 لطول الوقت المتوقع.

kMaxSerialNumberLength

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

kMaxSoftwareVersionLength

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

181@

 @181

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

أماكن إقامة
kFeature_HomeAlarmLinkCapable

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

kFeature_LinePowered

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

182@

 @182

تشير إلى تعريفات الحقول.

أماكن إقامة
kFlag_IsRendezvousWiFiESSIDSuffix

يشير ذلك إلى أنّ قيمة RendezvousWiFiESSID هي سلسلة لاحقة تظهر في نهاية معرِّف مجموعة الخدمات (ESSID) لشبكة موعد شبكة Wi-Fi على الجهاز.

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

اليوم

uint8_t Day

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

DeviceFeatures

uint32_t DeviceFeatures

حقل بت يشير إلى توفُّر ميزات معيَّنة في الجهاز

DeviceId

uint64_t DeviceId

رقم تعريف جهاز Weave (0 = غير موجود)

FabricId

uint64_t FabricId

رقم تعريف النسيج المنسوج الذي ينتمي إليه الجهاز (0 = غير موجود)

أعلام

uint8_t Flags

حقل بت يحتوي على معلومات إضافية حول الجهاز.

ManufacturingDate

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

الشهر

uint8_t Month

شهر تصنيع الجهاز (1 = كانون الثاني (يناير))

PairingCode

char PairingCode[kMaxPairingCodeLength+1]

رمز إقران الجهاز (تم إنهاء NUL، الطول 0 = غير متوفّر)

PairingCompatibilityVersionMajor

uint16_t PairingCompatibilityVersionMajor

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

PairingCompatibilityVersionMinor

uint16_t PairingCompatibilityVersionMinor

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

Primary802154MACAddress

uint8_t Primary802154MACAddress[8]

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

PrimaryWiFiMACAddress

uint8_t PrimaryWiFiMACAddress[6]

عنوان MAC لواجهة Wi-Fi الأساسية (نطاق كبير، جميع الأصفار = غير موجودة)

ProductId

uint16_t ProductId

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

ProductRevision

uint16_t ProductRevision

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

RendezvousWiFiESSID

char RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]

ESSID لشبكة موعد Wi-Fi للجهاز (تم إنهاء NUL، الطول 0 = غير متوفر)

SerialNumber

char SerialNumber[kMaxSerialNumberLength+1]

الرقم التسلسلي للجهاز (تم إنهاء NUL، الطول 0 = غير متوفر)

SoftwareVersion

char SoftwareVersion[kMaxSoftwareVersionLength+1]

إصدار البرنامج النشط (تم إنهاء NUL، الطول 0 = غير موجود)

VendorId

uint16_t VendorId

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

سنة

uint16_t Year

سنة تصنيع الجهاز (النطاق الصالح من 2001 إلى 2099)

وظائف عامة

محو

void Clear(
  void
)

يؤدي هذا الإجراء إلى محو وصف الجهاز.

WeaveDeviceDescriptor

 WeaveDeviceDescriptor(
  void
)

الدوال الثابتة العامة

Decode

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

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

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

DecodeTLV

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.

DecodeTLV

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.

DecodeText

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

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

التفاصيل
المعلمات
[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
عند النجاح.

EncodeTLV

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

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

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

EncodeTLV

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

ترميز واصف الجهاز المقدم كـ Weave TLV مكتوب باستخدام كائن TLVWriter المهيأ مسبقًا.

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

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

EncodeText

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

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

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