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
שזירה של מזהה המכשיר (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 (גדול, כל האפסים = לא קיים)
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)
קידוד של מתאר המכשיר שסופק כ-TLV מ-Weave שנכתב למאגר הנתונים הזמני.
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 למשך זמן אקראי.

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

שזירה של מזהה המכשיר (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 (גדול, כל האפסים = לא קיים)

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

DecodeTLV

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

מפענח את התוכן של מאגר הנתונים הזמני של TLV שסופק לאובייקט של Weave Device Descriptor.

פרטים
פרמטרים
[in] data
מצביע למאגר נתונים זמני שמכיל נתוני תיאור של מכשיר Weave מקודדים בטקסט.
[in] dataLen
אורך מאגר הנתונים הזמני.
[out] outDesc
הפניה לאובייקט 'תיאור המכשיר' שצריך לאכלס.
מוחזר ערכים
WEAVE_ERROR_WRONG_TLV_TYPE
אם זה לא תיאור המכשיר TLV.
WEAVE_ERROR_UNEXPECTED_TLV_ELEMENT
אם יזוהו עוד נתונים של TLV אחרי תיאור המכשיר.
WEAVE_NO_ERROR
הצלחה.
other
קודי שגיאה אחרים מסוג 'אריגה' או 'פלטפורמה ספציפית' שמציינים שאירעה שגיאה שמונעת את הקידוד של 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
קודי שגיאות אחרים או קודי שגיאות ספציפיים לפלטפורמה, שמציינים שאירעה שגיאה שמנעה את הפענוח של 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
)

קידוד של מתאר המכשיר שסופק כ-TLV מ-Weave שנכתב למאגר הנתונים הזמני.

פרטים
פרמטרים
[in] desc
הפניה לתיאור של מכשיר Weave לצורך קידוד.
[out] buf
מצביע אל מאגר נתונים זמני שבו נכתב הטקסט המקודד.
[in] bufLen
אורך מאגר הנתונים הזמני.
[out] outEncodedLen
הפניה למשתנה האורך שתוחלף במספר התווים שנכתבו למאגר הנתונים הזמני.
מוחזר ערכים
WEAVE_NO_ERROR
הצלחה.
other
קודי שגיאה אחרים מסוג 'אריגה' או 'פלטפורמה ספציפית' שמציינים שאירעה שגיאה שמונעת את הקידוד של TLV.

EncodeTLV

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

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

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

פרטים
פרמטרים
[in] desc
הפניה לתיאור של מכשיר Weave לצורך קידוד.
[in] writer
הפניה לאובייקט TLVWriter מראש שבו יש להשתמש.
מוחזר ערכים
WEAVE_NO_ERROR
הצלחה.
other
קודי שגיאה אחרים מסוג 'אריגה' או 'פלטפורמה ספציפית' שמציינים שאירעה שגיאה שמונעת את הקידוד של 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
אם מאגר הנתונים הזמני מכיל ערכים שאינם אפס.