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

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

Berisi informasi deskriptif tentang perangkat Weave.

Ringkasan

Konstruktor dan Destruktor

WeaveDeviceDescriptor(void)

Jenis publik

@180{
  kMaxSerialNumberLength = 32,
  kMaxPairingCodeLength = 16,
  kMaxRendezvousWiFiESSID = 32,
  kMaxSoftwareVersionLength = WEAVE_CONFIG_MAX_SOFTWARE_VERSION_LENGTH
}
enum
Menentukan panjang maksimum beberapa atribut.
@181{
  kFeature_HomeAlarmLinkCapable = 0x00000001,
  kFeature_LinePowered = 0x00000002
}
enum
Tombol fitur yang menunjukkan kemampuan perangkat tertentu.
@182{
  kFlag_IsRendezvousWiFiESSIDSuffix = 0x01
}
enum
Definisi kolom tanda.

Atribut publik

Day
uint8_t
Hari perakitan perangkat (0 = tidak ada)
DeviceFeatures
uint32_t
Kolom bit menunjukkan dukungan untuk fitur perangkat tertentu.
DeviceId
uint64_t
ID perangkat Weave (0 = tidak ada)
FabricId
uint64_t
ID kain Weave yang memiliki perangkat (0 = tidak ada)
Flags
uint8_t
Kolom Bit yang berisi informasi tambahan tentang perangkat.
ManufacturingDate
struct nl::Weave::Profiles::DeviceDescription::WeaveDeviceDescriptor::@183
Month
uint8_t
Bulan pembuatan perangkat (1 = Januari)
PairingCode[kMaxPairingCodeLength+1]
char
Kode penyambungan perangkat (NUL dihentikan, 0 panjang = tidak ada)
PairingCompatibilityVersionMajor
uint16_t
Versi kompatibilitas software penyambungan perangkat utama.
PairingCompatibilityVersionMinor
uint16_t
Versi kompatibilitas software penyambungan perangkat minor.
Primary802154MACAddress[8]
uint8_t
Alamat MAC untuk antarmuka 802.15.4 primer (big-endian, semua nol = tidak ada)
PrimaryWiFiMACAddress[6]
uint8_t
Alamat MAC untuk antarmuka WiFi primer (big-endian, semua angka nol = tidak ada)
ProductId
uint16_t
Kode produk perangkat (0 = tidak ada)
ProductRevision
uint16_t
Revisi produk perangkat (0 = tidak ada)
RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]
char
ESSID untuk jaringan pertemuan WiFi perangkat (NUL dihentikan, panjang 0 = tidak ada)
SerialNumber[kMaxSerialNumberLength+1]
char
Nomor seri perangkat (dihentikan NUL, panjang 0 = tidak ada)
SoftwareVersion[kMaxSoftwareVersionLength+1]
char
Versi software aktif (NUL dihentikan, panjang 0 = tidak ada)
VendorId
uint16_t
Kode vendor perangkat (0 = tidak ada)
Year
uint16_t
Tahun pembuatan perangkat (rentang valid 2001 - 2099)

Fungsi publik

Clear(void)
void
Menghapus deskripsi perangkat.

Fungsi statis publik

Decode(const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
Mendekode konten buffer data yang disediakan ke objek Weave Device Descriptor.
DecodeTLV(const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
Mendekode konten buffer data TLV yang disediakan menjadi objek Weave Device Descriptor.
DecodeTLV(nl::Weave::TLV::TLVReader & reader, WeaveDeviceDescriptor & outDesc)
Mendekode Deskripsi Perangkat menggunakan TLVReader yang diinisialisasi sebelumnya dan disediakan.
DecodeText(const char *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
Mendekode konten buffer data teks yang disediakan ke objek Weave Device Descriptor.
EncodeTLV(const WeaveDeviceDescriptor & desc, uint8_t *buf, uint32_t bufLen, uint32_t & outEncodedLen)
Mengenkode deskriptor perangkat yang disediakan sebagai Weave TLV yang ditulis ke buffer yang disediakan.
EncodeTLV(const WeaveDeviceDescriptor & desc, nl::Weave::TLV::TLVWriter & writer)
Mengenkode deskriptor perangkat yang disediakan sebagai Weave TLV yang ditulis menggunakan objek TLVWriter yang diinisialisasi sebelumnya dan disediakan.
EncodeText(const WeaveDeviceDescriptor & desc, char *buf, uint32_t bufLen, uint32_t & outEncodedLen)
Mengenkode deskriptor perangkat yang disediakan sebagai teks yang ditulis ke buffer yang disediakan.
IsZeroBytes(const uint8_t *buf, uint32_t len)
bool
Periksa apakah buffer yang ditentukan hanya berisi angka nol.

Jenis publik

@180

 @180

Menentukan panjang maksimum beberapa atribut.

Properti
kMaxPairingCodeLength

Panjang maksimum kode penyambungan.

kMaxRendezvousWiFiESSID

ESSID WiFi maksimum untuk durasi Rendezvous.

kMaxSerialNumberLength

Panjang nomor seri maksimum.

kMaxSoftwareVersionLength

Panjang maksimum versi software.

@181

 @181

Tombol fitur yang menunjukkan kemampuan perangkat tertentu.

Properti
kFeature_HomeAlarmLinkCapable

Menunjukkan Nest Protect yang mendukung koneksi ke panel alarm rumah.

kFeature_LinePowered

Menunjukkan perangkat yang membutuhkan daya listrik.

@182

 @182

Definisi kolom tanda.

Properti
kFlag_IsRendezvousWiFiESSIDSuffix

Menunjukkan bahwa nilai RendezvousWiFiESSID adalah string akhiran yang muncul di akhir ESSID jaringan rendezvous WiFi perangkat.

Atribut publik

Hari

uint8_t Day

Hari perakitan perangkat (0 = tidak ada)

DeviceFeatures

uint32_t DeviceFeatures

Kolom bit menunjukkan dukungan untuk fitur perangkat tertentu.

DeviceId

uint64_t DeviceId

ID perangkat Weave (0 = tidak ada)

FabricId

uint64_t FabricId

ID kain Weave yang memiliki perangkat (0 = tidak ada)

Flag

uint8_t Flags

Kolom Bit yang berisi informasi tambahan tentang perangkat.

ManufacturingDate

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

Bulan

uint8_t Month

Bulan pembuatan perangkat (1 = Januari)

PairingCode

char PairingCode[kMaxPairingCodeLength+1]

Kode penyambungan perangkat (NUL dihentikan, 0 panjang = tidak ada)

PairingCompatibilityVersionMajor

uint16_t PairingCompatibilityVersionMajor

Versi kompatibilitas software penyambungan perangkat utama.

PairingCompatibilityVersionMinor

uint16_t PairingCompatibilityVersionMinor

Versi kompatibilitas software penyambungan perangkat minor.

Alamat MAC802154

uint8_t Primary802154MACAddress[8]

Alamat MAC untuk antarmuka 802.15.4 primer (big-endian, semua nol = tidak ada)

PrimaryWiFiMACAddress

uint8_t PrimaryWiFiMACAddress[6]

Alamat MAC untuk antarmuka WiFi primer (big-endian, semua angka nol = tidak ada)

ProductId

uint16_t ProductId

Kode produk perangkat (0 = tidak ada)

ProductRevision

uint16_t ProductRevision

Revisi produk perangkat (0 = tidak ada)

RendezvousWiFiESSID

char RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]

ESSID untuk jaringan pertemuan WiFi perangkat (NUL dihentikan, panjang 0 = tidak ada)

SerialNumber

char SerialNumber[kMaxSerialNumberLength+1]

Nomor seri perangkat (dihentikan NUL, panjang 0 = tidak ada)

SoftwareVersion

char SoftwareVersion[kMaxSoftwareVersionLength+1]

Versi software aktif (NUL dihentikan, panjang 0 = tidak ada)

VendorId

uint16_t VendorId

Kode vendor perangkat (0 = tidak ada)

Tahun

uint16_t Year

Tahun pembuatan perangkat (rentang valid 2001 - 2099)

Fungsi publik

Hapus

void Clear(
  void
)

Menghapus deskripsi perangkat.

WeaveDeviceDescriptor

 WeaveDeviceDescriptor(
  void
)

Fungsi statis publik

Decode

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

Mendekode konten buffer data yang disediakan ke objek Weave Device Descriptor.

Detail
Parameter
[in] data
Pointer ke buffer yang berisi teks atau data Deskriptor Perangkat Weave berenkode TLV.
[in] dataLen
Panjang buffer yang disediakan.
[out] outDesc
Referensi ke objek Deskripsi Perangkat yang akan diisi.
Nilai yang Ditampilkan
WEAVE_ERROR_INVALID_DEVICE_DESCRIPTOR
Jika buffer yang disediakan tidak valid.
WEAVE_NO_ERROR
Berhasil.
other
Kode error khusus platform atau Weave lainnya yang menunjukkan bahwa terjadi error yang mencegah decoding TLV.

DecodeTLV

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

Mendekode konten buffer data TLV yang disediakan menjadi objek Weave Device Descriptor.

Detail
Parameter
[in] data
Pointer ke buffer yang berisi data Deskriptor Perangkat Weave yang dienkode dengan teks.
[in] dataLen
Panjang buffer yang disediakan.
[out] outDesc
Referensi ke objek Deskripsi Perangkat yang akan diisi.
Nilai yang Ditampilkan
WEAVE_ERROR_WRONG_TLV_TYPE
Jika ini bukan Deskripsi Perangkat, TLV.
WEAVE_ERROR_UNEXPECTED_TLV_ELEMENT
Jika lebih banyak data TLV ditemukan setelah Deskripsi Perangkat.
WEAVE_NO_ERROR
Berhasil.
other
Kode error khusus platform atau Weave lainnya menunjukkan bahwa terjadi error yang mencegah encoding TLV.

DecodeTLV

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

Mendekode Deskripsi Perangkat menggunakan TLVReader yang diinisialisasi sebelumnya dan disediakan.

Detail
Parameter
[in] reader
Referensi ke TLVReader yang telah diinisialisasi sebelumnya.
[out] outDesc
Referensi ke objek Deskripsi Perangkat yang akan diisi.
Nilai yang Ditampilkan
WEAVE_ERROR_INVALID_TLV_ELEMENT
Jika informasi Deskripsi Perangkat yang tidak valid ditemukan dalam data TLV.
WEAVE_NO_ERROR
Berhasil.
other
Kode error khusus platform atau Weave lainnya yang menunjukkan bahwa terjadi error yang mencegah decoding TLV.

DecodeText

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

Mendekode konten buffer data teks yang disediakan ke objek Weave Device Descriptor.

Detail
Parameter
[in] data
Pointer ke buffer yang berisi data Deskriptor Perangkat Weave yang dienkode dengan teks.
[in] dataLen
Panjang buffer yang disediakan.
[out] outDesc
Referensi ke objek Deskripsi Perangkat yang akan diisi.
Nilai yang Ditampilkan
WEAVE_ERROR_UNSUPPORTED_DEVICE_DESCRIPTOR_VERSION
Jika versi data yang dienkode tidak didukung.
WEAVE_ERROR_INVALID_DEVICE_DESCRIPTOR
Jika data yang dienkode tidak diformat dengan benar.
WEAVE_ERROR_INCORRECT_STATE
Jika status yang tidak konsisten ditemukan oleh decoder.
WEAVE_ERROR_BUFFER_TOO_SMALL
Jika akhir buffer tercapai selama decoding.
WEAVE_NO_ERROR
Berhasil.

EncodeTLV

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

Mengenkode deskriptor perangkat yang disediakan sebagai Weave TLV yang ditulis ke buffer yang disediakan.

Detail
Parameter
[in] desc
Referensi ke Deskripsi Perangkat Weave yang akan dienkode.
[out] buf
Pointer ke buffer tempat teks yang dienkode akan ditulis.
[in] bufLen
Panjang buffer yang disediakan.
[out] outEncodedLen
Referensi ke variabel panjang yang akan ditimpa dengan jumlah karakter yang ditulis ke buffer.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.
other
Kode error khusus platform atau Weave lainnya menunjukkan bahwa terjadi error yang mencegah encoding TLV.

EncodeTLV

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

Mengenkode deskriptor perangkat yang disediakan sebagai Weave TLV yang ditulis menggunakan objek TLVWriter yang diinisialisasi sebelumnya dan disediakan.

Ini digunakan untuk menambahkan deskripsi perangkat ke output TLV yang lebih besar.

Detail
Parameter
[in] desc
Referensi ke Deskripsi Perangkat Weave yang akan dienkode.
[in] writer
Referensi ke objek TLVWriter yang diinisialisasi sebelumnya yang akan digunakan.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.
other
Kode error khusus platform atau Weave lainnya menunjukkan bahwa terjadi error yang mencegah encoding TLV.

EncodeText

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

Mengenkode deskriptor perangkat yang disediakan sebagai teks yang ditulis ke buffer yang disediakan.

Detail
Parameter
[in] desc
Referensi ke Deskripsi Perangkat Weave yang akan dienkode.
[out] buf
Pointer ke buffer tempat teks yang dienkode akan ditulis.
[in] bufLen
Panjang buffer yang disediakan.
[out] outEncodedLen
Referensi ke variabel panjang yang akan ditimpa dengan jumlah karakter yang ditulis ke buffer.
Nilai yang Ditampilkan
WEAVE_ERROR_BUFFER_TOO_SMALL
Jika buffer yang disediakan terlalu kecil untuk deskripsi teks yang dihasilkan.
WEAVE_ERROR_INVALID_ARGUMENT
Jika kolom deskriptor tidak valid.
WEAVE_NO_ERROR
Berhasil.

IsZeroBytes

bool IsZeroBytes(
  const uint8_t *buf,
  uint32_t len
)

Periksa apakah buffer yang ditentukan hanya berisi angka nol.

Detail
Parameter
[in] buf
Pointer ke {i>buffer.<i}
[in] len
Panjang buffer.
Nilai yang Ditampilkan
TRUE
Jika buffer hanya berisi angka nol.
FALSE
Jika buffer berisi nilai selain nol.