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
}
טיפוסים בני מנייה (enum)
מגדיר את האורך המקסימלי של מאפיינים מסוימים.
@181{
  kFeature_HomeAlarmLinkCapable = 0x00000001,
  kFeature_LinePowered = 0x00000002
}
טיפוסים בני מנייה (enum)
תכונות ניסיוניות שמצביעות על יכולות ספציפיות של המכשיר.
@182{
  kFlag_IsRendezvousWiFiESSIDSuffix = 0x01
}
טיפוסים בני מנייה (enum)
הגדרות של שדה הסימונים.

מאפיינים ציבוריים

Day
uint8_t
יום הייצור של המכשיר (0 = לא קיים)
DeviceFeatures
uint32_t
שדה ביט שמציין תמיכה בתכונות ספציפיות של המכשיר.
DeviceId
uint64_t
מזהה מכשיר Weave (0 = לא קיים)
FabricId
uint64_t
המזהה של בד ה-Weave שאליו שייך המכשיר (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 ראשי (big-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.
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)
מתבצע קידוד של מתאר המכשיר שסופק כ-TLV ב-Weave, באמצעות אובייקט 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 הוא מחרוזת סיומת שמופיעה בסוף ה-ESSID של רשת ה-Wi-Fi של המכשיר.

מאפיינים ציבוריים

יום

uint8_t Day

יום הייצור של המכשיר (0 = לא קיים)

DeviceFeatures

uint32_t DeviceFeatures

שדה ביט שמציין תמיכה בתכונות ספציפיות של המכשיר.

DeviceId

uint64_t DeviceId

מזהה מכשיר Weave (0 = לא קיים)

FabricId

uint64_t FabricId

המזהה של בד ה-Weave שאליו שייך המכשיר (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

הגרסה המשנית של תאימות התוכנה של התאמת מכשירים.

כתובת ראשית802154MAC

uint8_t Primary802154MACAddress[8]

כתובת MAC לממשק הראשי 802.15.4 (big-endian, כל האפסים = לא קיים)

PrimaryWiFiMACAddress

uint8_t PrimaryWiFiMACAddress[6]

כתובת MAC לממשק Wi-Fi ראשי (big-endian, כל האפסים = לא קיים)

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
מצביע למאגר אחסון המכיל טקסט או נתונים של מתאר המכשיר בקידוד 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 Device Descriptor לקידוד.
[out] buf
מצביע למאגר אחסון שבו הטקסט המקודד ייכתב.
[in] bufLen
אורך המאגר הזמני שסופק.
[out] outEncodedLen
הפניה למשתנה האורך, שתוחלף במספר התווים שנכתבו למאגר הנתונים.
ערכים מוחזרים
WEAVE_NO_ERROR
בהצלחה.
other
קודי שגיאה אחרים הספציפיים ל-Weave או לפלטפורמה מסוימת, המצביעים על כך שאירעה שגיאה המונעת את הקידוד של ה-TLV.

EncodeTLV

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

מתבצע קידוד של מתאר המכשיר שסופק כ-TLV ב-Weave, באמצעות אובייקט TLVWriter המעוצב מראש שסופק מראש.

משמש להוספת תיאור המכשיר לפלט TLV גדול יותר.

פרטים
פרמטרים
[in] desc
הפניה ל-Weave Device Descriptor לקידוד.
[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 Device Descriptor לקידוד.
[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
אם המאגר מכיל ערכים שאינם אפס.