Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

nl::Weave::Profile::DeviceDescription::WeaveDeviceDescriptor

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

Enthält beschreibende Informationen zu einem Weave-Gerät.

Fazit

Konstrukteur und Zerstörer

WeaveDeviceDescriptor(void)

Öffentliche Typen

@180{
  kMaxSerialNumberLength = 32,
  kMaxPairingCodeLength = 16,
  kMaxRendezvousWiFiESSID = 32,
  kMaxSoftwareVersionLength = WEAVE_CONFIG_MAX_SOFTWARE_VERSION_LENGTH
}
enum
Definiert die maximale Länge einiger Attribute.
@181{
  kFeature_HomeAlarmLinkCapable = 0x00000001,
  kFeature_LinePowered = 0x00000002
}
enum
Funktions-Flags, die bestimmte Gerätefunktionen angeben.
@182{
  kFlag_IsRendezvousWiFiESSIDSuffix = 0x01
}
enum
Definitionen von Flag-Feldern

Öffentliche Attribute

Day
uint8_t
Tag der Geräteherstellung (0 = nicht vorhanden)
DeviceFeatures
uint32_t
Bit-Feld, das die Unterstützung für bestimmte Gerätefunktionen angibt.
DeviceId
uint64_t
Weave-Geräte-ID (0 = nicht vorhanden)
FabricId
uint64_t
ID des Weave-Stoffs, zu dem das Gerät gehört (0 = nicht vorhanden)
Flags
uint8_t
Bit-Feld mit zusätzlichen Informationen zum Gerät
ManufacturingDate
struct nl::Weave::Profiles::DeviceDescription::WeaveDeviceDescriptor::@183
Month
uint8_t
Monat der Geräteherstellung (1 = Januar)
PairingCode[kMaxPairingCodeLength+1]
char
Geräte-Kopplungscode (NUL beendet, 0 Länge = nicht vorhanden)
PairingCompatibilityVersionMajor
uint16_t
Größere Kompatibilität mit der Gerätekopplungssoftware.
PairingCompatibilityVersionMinor
uint16_t
Kleinere kompatible Softwareversion der Gerätekopplung.
Primary802154MACAddress[8]
uint8_t
MAC-Adresse für die primäre Schnittstelle 802.15.4 (big-endian, alle null = nicht vorhanden)
PrimaryWiFiMACAddress[6]
uint8_t
MAC-Adresse für die primäre WLAN-Schnittstelle (big-endian, alle Nullen = nicht vorhanden)
ProductId
uint16_t
Geräteproduktcode (0 = nicht vorhanden)
ProductRevision
uint16_t
Überarbeitung des Geräteprodukts (0 = nicht vorhanden)
RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]
char
ESSID für das WLAN-Netzwerk des Geräts (NUL beendet, 0 Länge = nicht vorhanden)
SerialNumber[kMaxSerialNumberLength+1]
char
Seriennummer des Geräts (NUL beendet, 0 Länge = nicht vorhanden)
SoftwareVersion[kMaxSoftwareVersionLength+1]
char
Aktive Softwareversion (NUL beendet, 0 Länge = nicht vorhanden)
VendorId
uint16_t
Geräteanbietercode (0 = nicht vorhanden)
Year
uint16_t
Herstellungsjahr (gültiger Bereich 2001–2099)

Öffentliche Funktionen

Clear(void)
void
Löscht die Gerätebeschreibung.

Öffentliche statische Funktionen

Decode(const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
Dekodiert den Inhalt des bereitgestellten Datenzwischenspeichers in ein Weave-Gerätedeskriptor-Objekt.
DecodeTLV(const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
Dekodiert den Inhalt des bereitgestellten TLV-Puffers in ein Weave-Gerätedeskriptorobjekt.
DecodeTLV(nl::Weave::TLV::TLVReader & reader, WeaveDeviceDescriptor & outDesc)
Decodieren Sie die Gerätebeschreibung mit dem voreingestellten TLVReader.
DecodeText(const char *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
Dekodiert den Inhalt des bereitgestellten Textdatenzwischenspeichers in ein Weave-Gerätedeskriptor-Objekt.
EncodeTLV(const WeaveDeviceDescriptor & desc, uint8_t *buf, uint32_t bufLen, uint32_t & outEncodedLen)
Codiert den bereitgestellten Gerätedeskriptor als Weave TLV, der in den bereitgestellten Puffer geschrieben wird.
EncodeTLV(const WeaveDeviceDescriptor & desc, nl::Weave::TLV::TLVWriter & writer)
Codiert den bereitgestellten Gerätedeskriptor als Weave TLV, der mit dem vorab initialisierten TLVWriter-Objekt geschrieben wird.
EncodeText(const WeaveDeviceDescriptor & desc, char *buf, uint32_t bufLen, uint32_t & outEncodedLen)
Codiert den bereitgestellten Gerätedeskriptor als Text, der in den bereitgestellten Puffer geschrieben wurde.
IsZeroBytes(const uint8_t *buf, uint32_t len)
bool
Prüfen Sie, ob der angegebene Zwischenspeicher nur Nullen enthält.

Öffentliche Typen

@180

 @180

Definiert die maximale Länge einiger Attribute.

Attribute
kMaxPairingCodeLength

Maximale Länge des Kopplungscodes.

kMaxRendezvousWiFiESSID

Maximale WLAN-ESSID für Rendezvous-Länge.

kMaxSerialNumberLength

Maximale Länge der Seriennummer.

kMaxSoftwareVersionLength

Maximale Länge der Softwareversion.

@181

 @181

Funktions-Flags, die bestimmte Gerätefunktionen angeben.

Attribute
kFeature_HomeAlarmLinkCapable

Gibt an, dass Nest Protect die Verbindung zu einem Alarmsystem für dein Zuhause unterstützt.

kFeature_LinePowered

Gibt ein Gerät an, für das eine Netzspannung erforderlich ist.

@182

 @182

Definitionen von Flag-Feldern

Attribute
kFlag_IsRendezvousWiFiESSIDSuffix

Gibt an, dass der RendezvousWiFiESSID-Wert ein Suffixstring ist, der am Ende der ESSID des Netzwerks des WLANs für das WLAN erscheint.

Öffentliche Attribute

Tag

uint8_t Day

Tag der Geräteherstellung (0 = nicht vorhanden)

Gerätefunktionen

uint32_t DeviceFeatures

Bit-Feld, das die Unterstützung für bestimmte Gerätefunktionen angibt.

DeviceId

uint64_t DeviceId

Weave-Geräte-ID (0 = nicht vorhanden)

Textil-ID

uint64_t FabricId

ID des Weave-Stoffs, zu dem das Gerät gehört (0 = nicht vorhanden)

Flags

uint8_t Flags

Bit-Feld mit zusätzlichen Informationen zum Gerät

Herstellungsdatum

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

Monat

uint8_t Month

Monat der Geräteherstellung (1 = Januar)

Kopplungscode

char PairingCode[kMaxPairingCodeLength+1]

Geräte-Kopplungscode (NUL beendet, 0 Länge = nicht vorhanden)

Kopplung mit KompatibilitätsversionMajor

uint16_t PairingCompatibilityVersionMajor

Größere Kompatibilität mit der Gerätekopplungssoftware.

Kopplung mit Kompatibilitätsversion Nebenversion

uint16_t PairingCompatibilityVersionMinor

Kleinere kompatible Softwareversion der Gerätekopplung.

Primäre802154MAC-Adresse

uint8_t Primary802154MACAddress[8]

MAC-Adresse für die primäre Schnittstelle 802.15.4 (big-endian, alle null = nicht vorhanden)

Primäre WLAN-MAC-Adresse

uint8_t PrimaryWiFiMACAddress[6]

MAC-Adresse für die primäre WLAN-Schnittstelle (big-endian, alle Nullen = nicht vorhanden)

Product_Id (Produkt-ID)

uint16_t ProductId

Geräteproduktcode (0 = nicht vorhanden)

Produktversion

uint16_t ProductRevision

Überarbeitung des Geräteprodukts (0 = nicht vorhanden)

RendezvousWiFiESSID-ID

char RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]

ESSID für das WLAN-Netzwerk des Geräts (NUL beendet, 0 Länge = nicht vorhanden)

Seriennummer

char SerialNumber[kMaxSerialNumberLength+1]

Seriennummer des Geräts (NUL beendet, 0 Länge = nicht vorhanden)

Softwareversion

char SoftwareVersion[kMaxSoftwareVersionLength+1]

Aktive Softwareversion (NUL beendet, 0 Länge = nicht vorhanden)

Anbieter-ID

uint16_t VendorId

Geräteanbietercode (0 = nicht vorhanden)

Jahr

uint16_t Year

Herstellungsjahr (gültiger Bereich 2001–2099)

Öffentliche Funktionen

Löschen

void Clear(
  void
)

Löscht die Gerätebeschreibung.

WeaveDeviceDescriptor

 WeaveDeviceDescriptor(
  void
)

Öffentliche statische Funktionen

Decodieren

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

Dekodiert den Inhalt des bereitgestellten Datenzwischenspeichers in ein Weave-Gerätedeskriptor-Objekt.

Details
Parameter
[in] data
Ein Zeiger auf einen Puffer, der Text- oder TLV-codierte Weave-Gerätedeskriptordaten enthält.
[in] dataLen
Die Länge des bereitgestellten Puffers.
[out] outDesc
Ein Verweis auf das Gerätebeschreibungsobjekt, das ausgefüllt werden soll.
Rückgabewerte
WEAVE_ERROR_INVALID_DEVICE_DESCRIPTOR
Wenn der angegebene Puffer ungültig ist.
WEAVE_NO_ERROR
Erfolg.
other
Andere Weave- oder plattformspezifische Fehlercodes, die auf einen Fehler hinweisen und so die Decodierung des TLV verhindern.

TL-TLV

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

Dekodiert den Inhalt des bereitgestellten TLV-Puffers in ein Weave-Gerätedeskriptorobjekt.

Details
Parameter
[in] data
Ein Zeiger auf einen Zwischenspeicher mit textcodierten Weave-Gerätedeskriptoren.
[in] dataLen
Die Länge des bereitgestellten Puffers.
[out] outDesc
Ein Verweis auf das Gerätebeschreibungsobjekt, das ausgefüllt werden soll.
Rückgabewerte
WEAVE_ERROR_WRONG_TLV_TYPE
Wenn dies nicht die Beschreibung des Geräts TLV ist.
WEAVE_ERROR_UNEXPECTED_TLV_ELEMENT
Wenn nach der Gerätebeschreibung mehr TLV-Daten angezeigt werden.
WEAVE_NO_ERROR
Erfolg.
other
Andere Weave- oder plattformspezifische Fehlercodes, die angeben, dass ein Fehler aufgetreten ist, der die Codierung des TLV verhindert hat.

TL-TLV

WEAVE_ERROR DecodeTLV(
  nl::Weave::TLV::TLVReader & reader,
  WeaveDeviceDescriptor & outDesc
)

Decodieren Sie die Gerätebeschreibung mit dem voreingestellten TLVReader.

Details
Parameter
[in] reader
Ein Verweis auf den vorab initialisierten TLVReader.
[out] outDesc
Ein Verweis auf das Gerätebeschreibungsobjekt, das ausgefüllt werden soll.
Rückgabewerte
WEAVE_ERROR_INVALID_TLV_ELEMENT
Sind in den TLV-Daten ungültige Informationen zur Gerätebeschreibung enthalten?
WEAVE_NO_ERROR
Erfolg.
other
Andere Weave- oder plattformspezifische Fehlercodes, die auf einen Fehler hinweisen, der die Decodierung des TLV verhindert hat

Text decodieren

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

Dekodiert den Inhalt des bereitgestellten Textdatenzwischenspeichers in ein Weave-Gerätedeskriptor-Objekt.

Details
Parameter
[in] data
Ein Zeiger auf einen Zwischenspeicher mit textcodierten Weave-Gerätedeskriptoren.
[in] dataLen
Die Länge des bereitgestellten Puffers.
[out] outDesc
Ein Verweis auf das Gerätebeschreibungsobjekt, das ausgefüllt werden soll.
Rückgabewerte
WEAVE_ERROR_UNSUPPORTED_DEVICE_DESCRIPTOR_VERSION
Die codierte Datenversion wird nicht unterstützt.
WEAVE_ERROR_INVALID_DEVICE_DESCRIPTOR
Wenn die codierten Daten nicht korrekt formatiert sind.
WEAVE_ERROR_INCORRECT_STATE
Wenn der Induktionszustand inkonsistent ist.
WEAVE_ERROR_BUFFER_TOO_SMALL
Wenn das Ende des Zwischenspeichers während der Decodierung erreicht wird.
WEAVE_NO_ERROR
Erfolg.

Encoder

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

Codiert den bereitgestellten Gerätedeskriptor als Weave TLV, der in den bereitgestellten Puffer geschrieben wird.

Details
Parameter
[in] desc
Ein Verweis auf das Weave-Gerätedeskriptor, der codiert werden soll.
[out] buf
Ein Zeiger auf einen Puffer, an den der codierte Text geschrieben wird.
[in] bufLen
Die Länge des bereitgestellten Zwischenspeichers.
[out] outEncodedLen
Ein Verweis auf die Längenvariable, die überschrieben wird mit der Anzahl der in den Zwischenspeicher geschriebenen Zeichen.
Rückgabewerte
WEAVE_NO_ERROR
Erfolg.
other
Andere Weave- oder plattformspezifische Fehlercodes, die angeben, dass ein Fehler aufgetreten ist, der die Codierung des TLV verhindert hat.

Encoder

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

Codiert den bereitgestellten Gerätedeskriptor als Weave TLV, der mit dem vorab initialisierten TLVWriter-Objekt geschrieben wird.

Wird verwendet, um die Gerätebeschreibung einer größeren TLV-Ausgabe hinzuzufügen.

Details
Parameter
[in] desc
Ein Verweis auf das Weave-Gerätedeskriptor, der codiert werden soll.
[in] writer
Ein Verweis auf das vorab initialisierte TLVWriter-Objekt.
Rückgabewerte
WEAVE_NO_ERROR
Erfolg.
other
Andere Weave- oder plattformspezifische Fehlercodes, die angeben, dass ein Fehler aufgetreten ist, der die Codierung des TLV verhindert hat.

Codieren

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

Codiert den bereitgestellten Gerätedeskriptor als Text, der in den bereitgestellten Puffer geschrieben wurde.

Details
Parameter
[in] desc
Ein Verweis auf das Weave-Gerätedeskriptor, der codiert werden soll.
[out] buf
Ein Zeiger auf einen Puffer, an den der codierte Text geschrieben wird.
[in] bufLen
Die Länge des bereitgestellten Zwischenspeichers.
[out] outEncodedLen
Ein Verweis auf die Längenvariable, die überschrieben wird mit der Anzahl der in den Zwischenspeicher geschriebenen Zeichen.
Rückgabewerte
WEAVE_ERROR_BUFFER_TOO_SMALL
Der angegebene Puffer ist zu klein für die generierte Textbeschreibung.
WEAVE_ERROR_INVALID_ARGUMENT
Ein Deskriptorfeld ist ungültig.
WEAVE_NO_ERROR
Erfolg.

IsZeroBytes

bool IsZeroBytes(
  const uint8_t *buf,
  uint32_t len
)

Prüfen Sie, ob der angegebene Zwischenspeicher nur Nullen enthält.

Details
Parameter
[in] buf
Ein Zeiger auf einen Puffer.
[in] len
Die Länge des Zwischenspeichers
Rückgabewerte
TRUE
Enthält der Zwischenspeicher nur Nullen.
FALSE
Der Puffer enthält Werte, die nicht 0 sind.