Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

nl :: Tejido:: Perfiles: Descripción del aparato:: WeaveDeviceDescriptor

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

Contiene información descriptiva sobre un dispositivo Weave.

Resumen

Constructores y Destructores

WeaveDeviceDescriptor (void)

Tipos públicos

@180 {
kMaxSerialNumberLength = 32,
kMaxPairingCodeLength = 16,
kMaxRendezvousWiFiESSID = 32,
kMaxSoftwareVersionLength = WEAVE_CONFIG_MAX_SOFTWARE_VERSION_LENGTH
}
enumeración
Define la longitud máxima de algunos atributos.
@181 {
kFeature_HomeAlarmLinkCapable = 0x00000001,
kFeature_LinePowered = 0x00000002
}
enumeración
Indicadores de funciones que indican las capacidades específicas del dispositivo.
@182 {
kFlag_IsRendezvousWiFiESSIDSuffix = 0x01
}
enumeración
Definiciones de campo de banderas.

Atributos públicos

Day
uint8_t
Día de fabricación del dispositivo (0 = no presente)
DeviceFeatures
uint32_t
Campo de bits que indica la compatibilidad con funciones específicas del dispositivo.
DeviceId
uint64_t
ID del dispositivo de tejido (0 = no presente)
FabricId
uint64_t
ID del tejido Weave al que pertenece el dispositivo (0 = no presente)
Flags
uint8_t
Campo de bits que contiene información adicional sobre el dispositivo.
ManufacturingDate
struct nl::Weave::Profiles::DeviceDescription::WeaveDeviceDescriptor::@183
Month
uint8_t
Mes de fabricación del dispositivo (1 = enero)
PairingCode [kMaxPairingCodeLength+1]
char
Código de emparejamiento del dispositivo (terminado en NUL, longitud 0 = no presente)
PairingCompatibilityVersionMajor
uint16_t
Versión de compatibilidad del software de emparejamiento de dispositivos principales.
PairingCompatibilityVersionMinor
uint16_t
Versión menor de compatibilidad del software de emparejamiento de dispositivos.
Primary802154MACAddress [8]
uint8_t
Dirección MAC para la interfaz primaria 802.15.4 (big-endian, todos ceros = no presente)
PrimaryWiFiMACAddress [6]
uint8_t
Dirección MAC para la interfaz WiFi principal (big-endian, todos ceros = no presente)
ProductId
uint16_t
Código de producto del dispositivo (0 = no presente)
ProductRevision
uint16_t
Revisión del producto del dispositivo (0 = no presente)
RendezvousWiFiESSID [kMaxRendezvousWiFiESSID+1]
char
ESSID para la red de encuentro WiFi del dispositivo (NUL terminado, longitud 0 = no presente)
SerialNumber [kMaxSerialNumberLength+1]
char
Número de serie del dispositivo (terminado en NUL, longitud 0 = no presente)
SoftwareVersion [kMaxSoftwareVersionLength+1]
char
Versión de software activa (terminada en NUL, longitud 0 = no presente)
VendorId
uint16_t
Código de proveedor del dispositivo (0 = no presente)
Year
uint16_t
Año de fabricación del dispositivo (rango válido 2001 - 2099)

Funciones publicas

Clear (void)
void
Borra la descripción del dispositivo.

Funciones estáticas públicas

Decode (const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
Decodifica el contenido del búfer de datos proporcionado en un objeto Descriptor de dispositivo de tejido.
DecodeTLV (const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
Decodifica el contenido del búfer de datos TLV proporcionado en un objeto Descriptor de dispositivo de tejido.
DecodeTLV (nl::Weave::TLV::TLVReader & reader, WeaveDeviceDescriptor & outDesc)
Decodifica la descripción del dispositivo utilizando el TLVReader preinicializado proporcionado.
DecodeText (const char *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
Decodifica el contenido del búfer de datos de texto proporcionado en un objeto Descriptor de dispositivo de tejido.
EncodeTLV (const WeaveDeviceDescriptor & desc, uint8_t *buf, uint32_t bufLen, uint32_t & outEncodedLen)
Codifica el descriptor de dispositivo proporcionado como Weave TLV escrito en el búfer proporcionado.
EncodeTLV (const WeaveDeviceDescriptor & desc,nl::Weave::TLV::TLVWriter & writer)
Codifica el descriptor de dispositivo proporcionado como Weave TLV escrito utilizando el objeto TLVWriter preinicializado proporcionado.
EncodeText (const WeaveDeviceDescriptor & desc, char *buf, uint32_t bufLen, uint32_t & outEncodedLen)
Codifica el descriptor de dispositivo proporcionado como texto escrito en el búfer proporcionado.
IsZeroBytes (const uint8_t *buf, uint32_t len)
bool
Compruebe si el búfer especificado contiene solo ceros.

Tipos públicos

@ 180

 @180

Define la longitud máxima de algunos atributos.

Propiedades
kMaxPairingCodeLength

Longitud máxima del código de emparejamiento.

kMaxRendezvousWiFiESSID

ESSID WiFi máximo para la duración de la cita.

kMaxSerialNumberLength

Longitud máxima del número de serie.

kMaxSoftwareVersionLength

Longitud máxima de la versión de software.

@ 181

 @181

Indicadores de funciones que indican capacidades específicas del dispositivo

Propiedades
kFeature_HomeAlarmLinkCapable

Indica un Nest Protect que admite la conexión a un panel de alarma doméstico.

kFeature_LinePowered

Indica un dispositivo que requiere alimentación de línea.

@ 182

 @182

Definiciones de campo de banderas.

Propiedades
kFlag_IsRendezvousWiFiESSIDSuffix

Indica que el valor RendezvousWiFiESSID es una cadena de sufijo que aparece al final del ESSID de la red de encuentro WiFi del dispositivo.

Atributos públicos

Día

uint8_t Day

Día de fabricación del dispositivo (0 = no presente)

DeviceFeatures

uint32_t DeviceFeatures

Campo de bits que indica la compatibilidad con funciones específicas del dispositivo.

ID del dispositivo

uint64_t DeviceId

ID del dispositivo de tejido (0 = no presente)

FabricId

uint64_t FabricId

ID del tejido Weave al que pertenece el dispositivo (0 = no presente)

Banderas

uint8_t Flags

Campo de bits que contiene información adicional sobre el dispositivo.

Fecha de fabricación

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

Mes

uint8_t Month

Mes de fabricación del dispositivo (1 = enero)

Código de emparejamiento

char PairingCode[kMaxPairingCodeLength+1]

Código de emparejamiento del dispositivo (terminado en NUL, longitud 0 = no presente)

EmparejamientoCompatibilidadVersiónMayor

uint16_t PairingCompatibilityVersionMajor

Versión de compatibilidad del software de emparejamiento de dispositivos principales.

EmparejamientoCompatibilidadVersiónMinor

uint16_t PairingCompatibilityVersionMinor

Versión menor de compatibilidad del software de emparejamiento de dispositivos.

Primary802154MACAddress

uint8_t Primary802154MACAddress[8]

Dirección MAC para la interfaz primaria 802.15.4 (big-endian, todos ceros = no presente)

PrimaryWiFiMACAddress

uint8_t PrimaryWiFiMACAddress[6]

Dirección MAC para la interfaz WiFi principal (big-endian, todos ceros = no presente)

ID del Producto

uint16_t ProductId

Código de producto del dispositivo (0 = no presente)

ProductRevision

uint16_t ProductRevision

Revisión del producto del dispositivo (0 = no presente)

RendezvousWiFiESSID

char RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]

ESSID para la red de encuentro WiFi del dispositivo (NUL terminado, longitud 0 = no presente)

Número de serie

char SerialNumber[kMaxSerialNumberLength+1]

Número de serie del dispositivo (terminado en NUL, longitud 0 = no presente)

Versión del software

char SoftwareVersion[kMaxSoftwareVersionLength+1]

Versión de software activa (terminada en NUL, longitud 0 = no presente)

VendorId

uint16_t VendorId

Código de proveedor del dispositivo (0 = no presente)

Año

uint16_t Year

Año de fabricación del dispositivo (rango válido 2001 - 2099)

Funciones publicas

Claro

void Clear(
  void
)

Borra la descripción del dispositivo.

WeaveDeviceDescriptor

 WeaveDeviceDescriptor(
  void
)

Funciones estáticas públicas

Descodificar

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

Decodifica el contenido del búfer de datos proporcionado en un objeto Descriptor de dispositivo de tejido.

Detalles
Parámetros
[in] data
Un puntero a un búfer que contiene texto o datos del descriptor de dispositivo de tejido codificados con TLV .
[in] dataLen
La longitud del búfer proporcionado.
[out] outDesc
Una referencia al objeto Descriptor de dispositivo que se va a completar.
Valores devueltos
WEAVE_ERROR_INVALID_DEVICE_DESCRIPTOR
Si el búfer proporcionado no es válido.
WEAVE_NO_ERROR
Sobre el éxito.
other
Otros códigos de error de Weave o específicos de la plataforma que indican que se produjo un error que impidió la decodificación del TLV .

Decodificar TLV

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

Decodifica el contenido del búfer de datos TLV proporcionado en un objeto Descriptor de dispositivo de tejido.

Detalles
Parámetros
[in] data
Un puntero a un búfer que contiene datos de descriptor de dispositivo de tejido codificados en texto.
[in] dataLen
La longitud del búfer proporcionado.
[out] outDesc
Una referencia al objeto Descriptor de dispositivo que se va a completar.
Valores devueltos
WEAVE_ERROR_WRONG_TLV_TYPE
Si este no es el TLV de descripción del dispositivo.
WEAVE_ERROR_UNEXPECTED_TLV_ELEMENT
Si se encuentran más datos TLV después de la Descripción del dispositivo.
WEAVE_NO_ERROR
Sobre el éxito.
other
Otros códigos de error de Weave o específicos de la plataforma que indican que se produjo un error que impidió la codificación del TLV .

Decodificar TLV

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

Decodifica la descripción del dispositivo utilizando el TLVReader preinicializado proporcionado.

Detalles
Parámetros
[in] reader
Una referencia al TLVReader preinicializado.
[out] outDesc
Una referencia al objeto Descriptor de dispositivo que se va a completar.
Valores devueltos
WEAVE_ERROR_INVALID_TLV_ELEMENT
Si se encuentra información de descripción de dispositivo no válida en los datos de TLV .
WEAVE_NO_ERROR
Sobre el éxito.
other
Otros códigos de error de Weave o específicos de la plataforma que indican que ocurrió un error que impidió la decodificación del TLV .

DecodeText

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

Decodifica el contenido del búfer de datos de texto proporcionado en un objeto Descriptor de dispositivo de tejido.

Detalles
Parámetros
[in] data
Un puntero a un búfer que contiene datos de descriptor de dispositivo de tejido codificados en texto.
[in] dataLen
La longitud del búfer proporcionado.
[out] outDesc
Una referencia al objeto Descriptor de dispositivo que se va a completar.
Valores devueltos
WEAVE_ERROR_UNSUPPORTED_DEVICE_DESCRIPTOR_VERSION
Si la versión de datos codificados no es compatible.
WEAVE_ERROR_INVALID_DEVICE_DESCRIPTOR
Si los datos codificados no están formateados correctamente.
WEAVE_ERROR_INCORRECT_STATE
Si el decodificador encuentra un estado inconsistente.
WEAVE_ERROR_BUFFER_TOO_SMALL
Si se alcanza el final del búfer durante la decodificación.
WEAVE_NO_ERROR
Sobre el éxito.

Codificar TLV

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

Codifica el descriptor de dispositivo proporcionado como Weave TLV escrito en el búfer proporcionado.

Detalles
Parámetros
[in] desc
Una referencia al descriptor de dispositivo de tejido para codificar.
[out] buf
Un puntero a un búfer donde se escribirá el texto codificado.
[in] bufLen
La longitud del búfer suministrado.
[out] outEncodedLen
Una referencia a la variable de longitud que se sobrescribirá con el número de caracteres escritos en el búfer.
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.
other
Otros códigos de error de Weave o específicos de la plataforma que indican que se produjo un error que impidió la codificación del TLV .

Codificar TLV

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

Codifica el descriptor de dispositivo proporcionado como Weave TLV escrito utilizando el objeto TLVWriter preinicializado proporcionado.

Esto se usa para agregar la descripción del dispositivo a una salida TLV más grande.

Detalles
Parámetros
[in] desc
Una referencia al descriptor de dispositivo de tejido para codificar.
[in] writer
Una referencia al objeto TLVWriter preinicializado que se utilizará.
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.
other
Otros códigos de error de Weave o específicos de la plataforma que indican que se produjo un error que impidió la codificación del TLV .

EncodeText

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

Codifica el descriptor de dispositivo proporcionado como texto escrito en el búfer proporcionado.

Detalles
Parámetros
[in] desc
Una referencia al descriptor de dispositivo de tejido para codificar.
[out] buf
Un puntero a un búfer donde se escribirá el texto codificado.
[in] bufLen
La longitud del búfer suministrado.
[out] outEncodedLen
Una referencia a la variable de longitud que se sobrescribirá con el número de caracteres escritos en el búfer.
Valores devueltos
WEAVE_ERROR_BUFFER_TOO_SMALL
Si el búfer proporcionado es demasiado pequeño para la descripción de texto generada.
WEAVE_ERROR_INVALID_ARGUMENT
Si un campo descriptor no es válido.
WEAVE_NO_ERROR
Sobre el éxito.

IsZeroBytes

bool IsZeroBytes(
  const uint8_t *buf,
  uint32_t len
)

Compruebe si el búfer especificado contiene solo ceros.

Detalles
Parámetros
[in] buf
Un puntero a un búfer.
[in] len
La longitud del búfer.
Valores devueltos
TRUE
Si el búfer contiene solo ceros.
FALSE
Si el búfer contiene valores distintos de cero.