nl::Weave::Profiles::DeviceDescription::WeaveDeviceDescriptor

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

Bir Weave cihazı hakkında açıklayıcı bilgiler içerir.

Özet

Oluşturucular ve Yıkıcılar

WeaveDeviceDescriptor(void)

Herkese açık türler

@180{
  kMaxSerialNumberLength = 32,
  kMaxPairingCodeLength = 16,
  kMaxRendezvousWiFiESSID = 32,
  kMaxSoftwareVersionLength = WEAVE_CONFIG_MAX_SOFTWARE_VERSION_LENGTH
}
enum
Bazı özelliklerin maksimum uzunluğunu tanımlar.
@181{
  kFeature_HomeAlarmLinkCapable = 0x00000001,
  kFeature_LinePowered = 0x00000002
}
enum
Belirli cihaz özelliklerini gösteren özellik işaretleri
@182{
  kFlag_IsRendezvousWiFiESSIDSuffix = 0x01
}
enum
İşaretler alanı tanımları.

Herkese açık özellikler

Day
uint8_t
Cihazın üretildiği gün (0 = mevcut değil)
DeviceFeatures
uint32_t
Belirli cihaz özelliklerinin desteğini gösteren bit alanı.
DeviceId
uint64_t
Örgü cihaz kimliği (0 = mevcut değil)
FabricId
uint64_t
Cihazın ait olduğu Weave kumaşın kimliği (0 = mevcut değil)
Flags
uint8_t
Cihaz hakkında ek bilgiler içeren bit alanı.
ManufacturingDate
struct nl::Weave::Profiles::DeviceDescription::WeaveDeviceDescriptor::@183
Month
uint8_t
Cihazın üretildiği ay (1 = Ocak)
PairingCode[kMaxPairingCodeLength+1]
char
Cihaz eşleme kodu (NUL sonlandırıldı, 0 uzunluk = mevcut değil)
PairingCompatibilityVersionMajor
uint16_t
Büyük cihaz eşleme yazılımı uyumluluk sürümü.
PairingCompatibilityVersionMinor
uint16_t
Küçük cihaz eşleme yazılımı uyumluluk sürümü.
Primary802154MACAddress[8]
uint8_t
Birincil 802.15.4 arayüzü için MAC adresi (büyük-endian, tümü sıfırlar = mevcut değil)
PrimaryWiFiMACAddress[6]
uint8_t
Birincil kablosuz arayüzü için MAC adresi (büyük son, tüm sıfırlar = mevcut değil)
ProductId
uint16_t
Cihaz ürün kodu (0 = mevcut değil)
ProductRevision
uint16_t
Cihaz ürün düzeltmesi (0 = mevcut değil)
RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]
char
Cihazın kablosuz ağ toplantı ağı için ESSID (NUL sonlandırıldı, 0 uzunluk = mevcut değil)
SerialNumber[kMaxSerialNumberLength+1]
char
Cihazın seri numarası (NUL sonlandırıldı, 0 uzunluk = mevcut değil)
SoftwareVersion[kMaxSoftwareVersionLength+1]
char
Etkin yazılım sürümü (NUL sonlandırıldı, 0 uzunluk = mevcut değil)
VendorId
uint16_t
Cihaz tedarikçi firma kodu (0 = mevcut değil)
Year
uint16_t
Cihazın üretim yılı (geçerli aralık: 2001 - 2099)

Herkese açık işlevler

Clear(void)
void
Cihaz açıklamasını temizler.

Herkese açık statik işlevler

Decode(const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
Sağlanan veri arabelleğinin içeriğinin kodunu bir Weave Cihaz Tanımlayıcı nesnesine çözer.
DecodeTLV(const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
Sağlanan TLV veri arabelleğinin içeriğinin kodunu bir Weave Cihaz Tanımlayıcı nesnesine dönüştürür.
DecodeTLV(nl::Weave::TLV::TLVReader & reader, WeaveDeviceDescriptor & outDesc)
Sağlanan önceden başlatılmış TLVReader'ı kullanarak Cihaz Açıklamasının kodunu çözer.
DecodeText(const char *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
Sağlanan metin veri arabelleğinin içeriğinin kodunu bir Weave Cihaz Tanımlayıcı nesnesine çözer.
EncodeTLV(const WeaveDeviceDescriptor & desc, uint8_t *buf, uint32_t bufLen, uint32_t & outEncodedLen)
Sağlanan cihaz tanımlayıcısını, sağlanan arabelleğe yazılan Weave TLV olarak kodlar.
EncodeTLV(const WeaveDeviceDescriptor & desc, nl::Weave::TLV::TLVWriter & writer)
Sağlanan cihaz tanımlayıcısını, sağlanan önceden başlatılmış TLVWriter nesnesi kullanılarak yazılan Weave TLV olarak kodlar.
EncodeText(const WeaveDeviceDescriptor & desc, char *buf, uint32_t bufLen, uint32_t & outEncodedLen)
Sağlanan cihaz tanımlayıcısını, sağlanan arabelleğe yazılan metin olarak kodlar.
IsZeroBytes(const uint8_t *buf, uint32_t len)
bool
Belirtilen arabelleğin yalnızca sıfır içerip içermediğini kontrol edin.

Herkese açık türler

@180

 @180

Bazı özelliklerin maksimum uzunluğunu tanımlar.

Özellikler
kMaxPairingCodeLength

Maksimum eşleme kodu uzunluğu.

kMaxRendezvousWiFiESSID

Görüntü uzunluğu için maksimum kablosuz ağ ESSID'si.

kMaxSerialNumberLength

Maksimum seri numarası uzunluğu.

kMaxSoftwareVersionLength

Maksimum yazılım sürümü uzunluğu.

@181

 @181

Belirli cihaz özelliklerini gösteren özellik işaretleri

Özellikler
kFeature_HomeAlarmLinkCapable

Ev alarm paneline bağlantıyı destekleyen bir Nest Protect'i belirtir.

kFeature_LinePowered

Güç kablosu gerektiren bir cihazı belirtir.

@182

 @182

İşaretler alanı tanımları.

Özellikler
kFlag_IsRendezvousWiFiESSIDSuffix

RendezvousWiFiESSID değerinin, cihazın kablosuz ağ bağlantısının ESSID'sinin sonunda görünen bir sonek dizesi olduğunu belirtir.

Herkese açık özellikler

Gün

uint8_t Day

Cihazın üretildiği gün (0 = mevcut değil)

DeviceFeatures

uint32_t DeviceFeatures

Belirli cihaz özelliklerinin desteğini gösteren bit alanı.

DeviceId

uint64_t DeviceId

Örgü cihaz kimliği (0 = mevcut değil)

FabricId

uint64_t FabricId

Cihazın ait olduğu Weave kumaşın kimliği (0 = mevcut değil)

Bayraklar

uint8_t Flags

Cihaz hakkında ek bilgiler içeren bit alanı.

ManufacturingDate

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

Ay

uint8_t Month

Cihazın üretildiği ay (1 = Ocak)

PairingCode

char PairingCode[kMaxPairingCodeLength+1]

Cihaz eşleme kodu (NUL sonlandırıldı, 0 uzunluk = mevcut değil)

PairingCompatibilityVersionMajor

uint16_t PairingCompatibilityVersionMajor

Büyük cihaz eşleme yazılımı uyumluluk sürümü.

PairingCompatibilityVersionMinor

uint16_t PairingCompatibilityVersionMinor

Küçük cihaz eşleme yazılımı uyumluluk sürümü.

Birincil802154MACAdresi

uint8_t Primary802154MACAddress[8]

Birincil 802.15.4 arayüzü için MAC adresi (büyük-endian, tümü sıfırlar = mevcut değil)

PrimaryWiFiMACAddress

uint8_t PrimaryWiFiMACAddress[6]

Birincil kablosuz arayüzü için MAC adresi (büyük son, tüm sıfırlar = mevcut değil)

ProductId

uint16_t ProductId

Cihaz ürün kodu (0 = mevcut değil)

ProductRevision

uint16_t ProductRevision

Cihaz ürün düzeltmesi (0 = mevcut değil)

RendezvousWiFiESSID

char RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]

Cihazın kablosuz ağ toplantı ağı için ESSID (NUL sonlandırıldı, 0 uzunluk = mevcut değil)

SerialNumber

char SerialNumber[kMaxSerialNumberLength+1]

Cihazın seri numarası (NUL sonlandırıldı, 0 uzunluk = mevcut değil)

SoftwareVersion

char SoftwareVersion[kMaxSoftwareVersionLength+1]

Etkin yazılım sürümü (NUL sonlandırıldı, 0 uzunluk = mevcut değil)

VendorId

uint16_t VendorId

Cihaz tedarikçi firma kodu (0 = mevcut değil)

Yıl

uint16_t Year

Cihazın üretim yılı (geçerli aralık: 2001 - 2099)

Herkese açık işlevler

Temizle

void Clear(
  void
)

Cihaz açıklamasını temizler.

WeaveDeviceDescriptor

 WeaveDeviceDescriptor(
  void
)

Herkese açık statik işlevler

Decode

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

Sağlanan veri arabelleğinin içeriğinin kodunu bir Weave Cihaz Tanımlayıcı nesnesine çözer.

Ayrıntılar
Parametreler
[in] data
Metin veya TLV kodlamalı Weave Cihaz Açıklayıcı verileri içeren arabelleğe işaret eden bir işaret.
[in] dataLen
Sağlanan arabelleğin uzunluğu.
[out] outDesc
Doldurulacak Cihaz Tanımlayıcı nesnesine referans.
Değerleri Döndür
WEAVE_ERROR_INVALID_DEVICE_DESCRIPTOR
Sağlanan arabellek geçersizse
WEAVE_NO_ERROR
Başarıya merhaba.
other
TLV'nin kodunun çözülmesini engelleyen bir hata oluştuğunu belirten diğer Weave veya platforma özgü hata kodları.

DecodeTLV

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

Sağlanan TLV veri arabelleğinin içeriğinin kodunu bir Weave Cihaz Tanımlayıcı nesnesine dönüştürür.

Ayrıntılar
Parametreler
[in] data
Metin kodlamalı Weave Cihaz Açıklayıcı verileri içeren arabelleğe işaret eden bir işaretçi.
[in] dataLen
Sağlanan arabelleğin uzunluğu.
[out] outDesc
Doldurulacak Cihaz Tanımlayıcı nesnesine referans.
Değerleri Döndür
WEAVE_ERROR_WRONG_TLV_TYPE
Bu, Cihaz Açıklaması TLV değilse.
WEAVE_ERROR_UNEXPECTED_TLV_ELEMENT
Cihaz Açıklaması'ndan sonra daha fazla TLV verisiyle karşılaşılırsa.
WEAVE_NO_ERROR
Başarıya merhaba.
other
TLV'nin kodlanmasını engelleyen bir hata oluştuğunu belirten diğer Weave veya platforma özgü hata kodları.

DecodeTLV

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

Sağlanan önceden başlatılmış TLVReader'ı kullanarak Cihaz Açıklamasının kodunu çözer.

Ayrıntılar
Parametreler
[in] reader
Önceden başlatılmış TLVReader'a referans.
[out] outDesc
Doldurulacak Cihaz Tanımlayıcı nesnesine referans.
Değerleri Döndür
WEAVE_ERROR_INVALID_TLV_ELEMENT
TLV verilerinde geçersiz Cihaz Açıklaması bilgileri bulunursa.
WEAVE_NO_ERROR
Başarıya merhaba.
other
TLV'nin kodunun çözülmesini engelleyen bir hata oluştuğunu belirten diğer Weave veya platforma özgü hata kodları.

DecodeText

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

Sağlanan metin veri arabelleğinin içeriğinin kodunu bir Weave Cihaz Tanımlayıcı nesnesine çözer.

Ayrıntılar
Parametreler
[in] data
Metin kodlamalı Weave Cihaz Açıklayıcı verileri içeren arabelleğe işaret eden bir işaretçi.
[in] dataLen
Sağlanan arabelleğin uzunluğu.
[out] outDesc
Doldurulacak Cihaz Tanımlayıcı nesnesine referans.
Değerleri Döndür
WEAVE_ERROR_UNSUPPORTED_DEVICE_DESCRIPTOR_VERSION
Kodlanmış veri sürümü desteklenmiyorsa
WEAVE_ERROR_INVALID_DEVICE_DESCRIPTOR
Kodlanmış veriler doğru şekilde biçimlendirilmemişse.
WEAVE_ERROR_INCORRECT_STATE
Kod çözücü tutarsız bir durumla karşılaşırsa.
WEAVE_ERROR_BUFFER_TOO_SMALL
Kod çözme sırasında arabelleğin sonuna ulaşılıp ulaşılmadığı.
WEAVE_NO_ERROR
Başarıya merhaba.

EncodeTLV

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

Sağlanan cihaz tanımlayıcısını, sağlanan arabelleğe yazılan Weave TLV olarak kodlar.

Ayrıntılar
Parametreler
[in] desc
Kodlanacak Weave Cihaz Açıklayıcı referansı.
[out] buf
Kodlanmış metnin yazılacağı arabelleğe işaret eden bir işaret.
[in] bufLen
Sağlanan arabelleğin uzunluğu.
[out] outEncodedLen
Arabelleğe yazılan karakter sayısının üzerine yazılacak uzunluk değişkenine başvuru.
Değerleri Döndür
WEAVE_NO_ERROR
Başarıya merhaba.
other
TLV'nin kodlanmasını engelleyen bir hata oluştuğunu belirten diğer Weave veya platforma özgü hata kodları.

EncodeTLV

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

Sağlanan cihaz tanımlayıcısını, sağlanan önceden başlatılmış TLVWriter nesnesi kullanılarak yazılan Weave TLV olarak kodlar.

Bu parametre, cihaz açıklamasını daha büyük TLV çıkışlarına eklemek için kullanılır.

Ayrıntılar
Parametreler
[in] desc
Kodlanacak Weave Cihaz Açıklayıcı referansı.
[in] writer
Kullanılacak önceden başlatılmış TLVWriter nesnesine referans.
Değerleri Döndür
WEAVE_NO_ERROR
Başarıya merhaba.
other
TLV'nin kodlanmasını engelleyen bir hata oluştuğunu belirten diğer Weave veya platforma özgü hata kodları.

EncodeText

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

Sağlanan cihaz tanımlayıcısını, sağlanan arabelleğe yazılan metin olarak kodlar.

Ayrıntılar
Parametreler
[in] desc
Kodlanacak Weave Cihaz Açıklayıcı referansı.
[out] buf
Kodlanmış metnin yazılacağı arabelleğe işaret eden bir işaret.
[in] bufLen
Sağlanan arabelleğin uzunluğu.
[out] outEncodedLen
Arabelleğe yazılan karakter sayısının üzerine yazılacak uzunluk değişkenine başvuru.
Değerleri Döndür
WEAVE_ERROR_BUFFER_TOO_SMALL
Sağlanan arabellek, oluşturulan metin açıklaması için çok küçükse.
WEAVE_ERROR_INVALID_ARGUMENT
Açıklayıcı alanının geçersiz olup olmadığı.
WEAVE_NO_ERROR
Başarıya merhaba.

IsZeroBytes

bool IsZeroBytes(
  const uint8_t *buf,
  uint32_t len
)

Belirtilen arabelleğin yalnızca sıfır içerip içermediğini kontrol edin.

Ayrıntılar
Parametreler
[in] buf
Tampon işaretçisi.
[in] len
Arabelleğin uzunluğu.
Değerleri Döndür
TRUE
Tampon yalnızca sıfır içeriyorsa.
FALSE
Arabellekte sıfır olmayan değerler varsa.