nl:: Weave:: Profiles:: DeviceDescription:: WeaveDeviceDescriptor
#include <src/lib/profiles/device-description/DeviceDescription.h>
Contiene informazioni descrittive su un dispositivo Weave.
Riepilogo
Costruttori e distruttori |
|
---|---|
WeaveDeviceDescriptor(void)
|
Tipi pubblici |
|
---|---|
@180{
|
enum Definisce la lunghezza massima di alcuni attributi. |
@181{
|
enum Flag di funzionalità che indicano funzionalità specifiche del dispositivo. |
@182{
|
enum Definizioni dei campi per i flag. |
Attributi pubblici |
|
---|---|
Day
|
uint8_t
Giorno di produzione del dispositivo (0 = non presente)
|
DeviceFeatures
|
uint32_t
Campo di bit che indica il supporto di funzionalità specifiche del dispositivo.
|
DeviceId
|
uint64_t
ID dispositivo Weave (0 = non presente)
|
FabricId
|
uint64_t
ID della struttura Weave a cui appartiene il dispositivo (0 = non presente)
|
Flags
|
uint8_t
Campo di bit contenente informazioni aggiuntive sul dispositivo.
|
ManufacturingDate
|
struct nl::Weave::Profiles::DeviceDescription::WeaveDeviceDescriptor::@183
|
Month
|
uint8_t
Mese di produzione del dispositivo (1 = gennaio)
|
PairingCode[kMaxPairingCodeLength+1]
|
char
Codice di associazione del dispositivo (NUL terminato, lunghezza 0 = non presente)
|
PairingCompatibilityVersionMajor
|
uint16_t
Versione di compatibilità del software di accoppiamento del dispositivo principale.
|
PairingCompatibilityVersionMinor
|
uint16_t
Versione secondaria di compatibilità del software di accoppiamento del dispositivo.
|
Primary802154MACAddress[8]
|
uint8_t
Indirizzo MAC per l'interfaccia principale 802.15.4 (big-endian, tutti gli zeri = non presenti)
|
PrimaryWiFiMACAddress[6]
|
uint8_t
Indirizzo MAC dell'interfaccia Wi-Fi principale (big-endian, tutti zeri = non presente)
|
ProductId
|
uint16_t
Codice prodotto del dispositivo (0 = non presente)
|
ProductRevision
|
uint16_t
Revisione del prodotto del dispositivo (0 = non presente)
|
RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]
|
char
ESSID per la rete rendezvous Wi-Fi del dispositivo (NUL terminata, lunghezza 0 = non presente)
|
SerialNumber[kMaxSerialNumberLength+1]
|
char
Numero di serie del dispositivo (NUL terminato, lunghezza 0 = non presente)
|
SoftwareVersion[kMaxSoftwareVersionLength+1]
|
char
Versione software attiva (NUL terminata, lunghezza 0 = non presente)
|
VendorId
|
uint16_t
Codice fornitore del dispositivo (0 = non presente)
|
Year
|
uint16_t
Anno di produzione del dispositivo (intervallo valido 2001-2099)
|
Funzioni pubbliche |
|
---|---|
Clear(void)
|
void
Cancella la descrizione del dispositivo.
|
Funzioni statiche pubbliche |
|
---|---|
Decode(const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
|
Decodifica i contenuti del buffer di dati fornito in un oggetto Weave Device Descriptor.
|
DecodeTLV(const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
|
Decodifica i contenuti del buffer di dati TLV fornito in un oggetto Weave Device Descriptor.
|
DecodeTLV(nl::Weave::TLV::TLVReader & reader, WeaveDeviceDescriptor & outDesc)
|
Decodifica la descrizione del dispositivo utilizzando il TLVReader pre-inizializzato fornito.
|
DecodeText(const char *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
|
Decodifica i contenuti del buffer di dati di testo fornito in un oggetto Weave Device Descriptor.
|
EncodeTLV(const WeaveDeviceDescriptor & desc, uint8_t *buf, uint32_t bufLen, uint32_t & outEncodedLen)
|
Codifica il descrittore del dispositivo fornito come Weave TLV scritto nel buffer fornito.
|
EncodeTLV(const WeaveDeviceDescriptor & desc, nl::Weave::TLV::TLVWriter & writer)
|
Codifica il descrittore del dispositivo fornito come Weave TLV scritto utilizzando l'oggetto TLVWriter pre-inizializzato fornito.
|
EncodeText(const WeaveDeviceDescriptor & desc, char *buf, uint32_t bufLen, uint32_t & outEncodedLen)
|
Codifica il descrittore del dispositivo fornito come testo scritto nel buffer fornito.
|
IsZeroBytes(const uint8_t *buf, uint32_t len)
|
bool
Controlla se il buffer specificato contiene solo zeri.
|
Tipi pubblici
@180
@180
Definisce la lunghezza massima di alcuni attributi.
Proprietà | |
---|---|
kMaxPairingCodeLength
|
Lunghezza massima del codice di accoppiamento. |
kMaxRendezvousWiFiESSID
|
ESSID Wi-Fi massimo per la durata di Rendezvous. |
kMaxSerialNumberLength
|
Lunghezza massima del numero di serie. |
kMaxSoftwareVersionLength
|
Lunghezza massima della versione software. |
@181
@181
Flag di funzionalità che indicano funzionalità specifiche del dispositivo.
Proprietà | |
---|---|
kFeature_HomeAlarmLinkCapable
|
Indica un dispositivo Nest Protect che supporta la connessione a un pannello di allarme domestico. |
kFeature_LinePowered
|
Indica un dispositivo che richiede alimentazione di linea. |
@182
@182
Definizioni dei campi per i flag.
Proprietà | |
---|---|
kFlag_IsRendezvousWiFiESSIDSuffix
|
Indica che il valore RendezvousWiFiESSID è una stringa suffisso visualizzata alla fine dell'ESSID della rete di rendezvous Wi-Fi del dispositivo. |
Attributi pubblici
Giorno
uint8_t Day
Giorno di produzione del dispositivo (0 = non presente)
DeviceFeatures
uint32_t DeviceFeatures
Campo di bit che indica il supporto di funzionalità specifiche del dispositivo.
DeviceId
uint64_t DeviceId
ID dispositivo Weave (0 = non presente)
FabricId
uint64_t FabricId
ID dell'infrastruttura Weave a cui appartiene il dispositivo (0 = non presente)
Bandiere
uint8_t Flags
Campo di bit contenente informazioni aggiuntive sul dispositivo.
ManufacturingDate
struct nl::Weave::Profiles::DeviceDescription::WeaveDeviceDescriptor::@183 ManufacturingDate
Mese
uint8_t Month
Mese di produzione del dispositivo (1 = gennaio)
PairingCode
char PairingCode[kMaxPairingCodeLength+1]
Codice di associazione del dispositivo (NUL terminato, lunghezza 0 = non presente)
PairingCompatibilityVersionMajor
uint16_t PairingCompatibilityVersionMajor
Versione di compatibilità del software di accoppiamento del dispositivo principale.
PairingCompatibilityVersionMinor
uint16_t PairingCompatibilityVersionMinor
Versione secondaria di compatibilità del software di accoppiamento del dispositivo.
IndirizzoPrincipale802154MAC
uint8_t Primary802154MACAddress[8]
Indirizzo MAC per l'interfaccia principale 802.15.4 (big-endian, tutti gli zeri = non presenti)
PrimaryWiFiMACAddress
uint8_t PrimaryWiFiMACAddress[6]
Indirizzo MAC dell'interfaccia Wi-Fi principale (big-endian, tutti zeri = non presente)
ProductId
uint16_t ProductId
Codice prodotto del dispositivo (0 = non presente)
ProductRevision
uint16_t ProductRevision
Revisione del prodotto del dispositivo (0 = non presente)
RendezvousWiFiESSID
char RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]
ESSID per la rete rendezvous Wi-Fi del dispositivo (NUL terminata, lunghezza 0 = non presente)
SerialNumber
char SerialNumber[kMaxSerialNumberLength+1]
Numero di serie del dispositivo (NUL terminato, lunghezza 0 = non presente)
SoftwareVersion
char SoftwareVersion[kMaxSoftwareVersionLength+1]
Versione software attiva (NUL terminata, lunghezza 0 = non presente)
VendorId
uint16_t VendorId
Codice fornitore del dispositivo (0 = non presente)
Anno
uint16_t Year
Anno di produzione del dispositivo (intervallo valido 2001-2099)
Funzioni pubbliche
Cancella
void Clear( void )
Cancella la descrizione del dispositivo.
WeaveDeviceDescriptor
WeaveDeviceDescriptor( void )
Funzioni statiche pubbliche
Decode
WEAVE_ERROR Decode( const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc )
Decodifica i contenuti del buffer di dati fornito in un oggetto Weave Device Descriptor.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
DecodeTLV
WEAVE_ERROR DecodeTLV( const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc )
Decodifica i contenuti del buffer di dati TLV fornito in un oggetto Weave Device Descriptor.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori restituiti |
|
DecodeTLV
WEAVE_ERROR DecodeTLV( nl::Weave::TLV::TLVReader & reader, WeaveDeviceDescriptor & outDesc )
Decodifica la descrizione del dispositivo utilizzando il TLVReader pre-inizializzato fornito.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
DecodeText
WEAVE_ERROR DecodeText( const char *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc )
Decodifica i contenuti del buffer di dati di testo fornito in un oggetto Weave Device Descriptor.
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||
Valori restituiti |
|
EncodeTLV
WEAVE_ERROR EncodeTLV( const WeaveDeviceDescriptor & desc, uint8_t *buf, uint32_t bufLen, uint32_t & outEncodedLen )
Codifica il descrittore del dispositivo fornito come Weave TLV scritto nel buffer fornito.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori restituiti |
|
EncodeTLV
WEAVE_ERROR EncodeTLV( const WeaveDeviceDescriptor & desc, nl::Weave::TLV::TLVWriter & writer )
Codifica il descrittore del dispositivo fornito come Weave TLV scritto utilizzando l'oggetto TLVWriter pre-inizializzato fornito.
Viene utilizzato per aggiungere la descrizione del dispositivo a un output TLV più grande.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
EncodeText
WEAVE_ERROR EncodeText( const WeaveDeviceDescriptor & desc, char *buf, uint32_t bufLen, uint32_t & outEncodedLen )
Codifica il descrittore del dispositivo fornito come testo scritto nel buffer fornito.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori restituiti |
|
IsZeroBytes
bool IsZeroBytes( const uint8_t *buf, uint32_t len )
Controlla se il buffer specificato contiene solo zeri.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|