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 pembuatan perangkat (0 = tidak ada)
DeviceFeatures
uint32_t
Kolom Bit yang menunjukkan dukungan untuk fitur perangkat tertentu.
DeviceId
uint64_t
ID perangkat Weave (0 = tidak ada)
FabricId
uint64_t
ID Kain tenun 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, panjang 0 = 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 Wi-Fi utama (big-endian, semua 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 Wi-Fi perangkat (NUL dihentikan, durasi 0 = tidak ada)
SerialNumber[kMaxSerialNumberLength+1]
char
Nomor seri perangkat (NUL dihentikan, 0 panjang = tidak ada)
SoftwareVersion[kMaxSoftwareVersionLength+1]
char
Versi software aktif (NUL dihentikan, 0 length = 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 buffering data yang disediakan ke objek Deskriptor Perangkat Weave.
DecodeTLV(const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
Mendekode konten buffering data TLV yang disediakan ke objek Deskriptor Perangkat Weave.
DecodeTLV(nl::Weave::TLV::TLVReader & reader, WeaveDeviceDescriptor & outDesc)
Mendekode Deskripsi Perangkat menggunakan TLVReader pra-inisialisasi yang disediakan.
DecodeText(const char *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
Mendekode konten buffering data teks yang disediakan ke objek Deskriptor Perangkat Weave.
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 telah diinisialisasi sebelumnya.
EncodeText(const WeaveDeviceDescriptor & desc, char *buf, uint32_t bufLen, uint32_t & outEncodedLen)
Mengenkode deskriptor perangkat yang disediakan sebagai teks yang ditulis ke buffering yang disediakan.
IsZeroBytes(const uint8_t *buf, uint32_t len)
bool
Memeriksa apakah buffer yang ditentukan hanya berisi nol.

Jenis publik

@180

 @180

Menentukan panjang maksimum beberapa atribut.

Properti
kMaxPairingCodeLength

Panjang kode penyambungan maksimum.

kMaxRendezvousWiFiESSID

ESSID WiFi maksimum untuk panjang Rendezvous.

kMaxSerialNumberLength

Panjang nomor seri maksimum.

kMaxSoftwareVersionLength

Panjang versi software maksimum.

@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 memerlukan daya listrik.

@182

 @182

Definisi kolom tanda.

Properti
kFlag_IsRendezvousWiFiESSIDSuffix

Menunjukkan bahwa nilai RendezvousWiFiESSID adalah string akhiran yang muncul di akhir ESSID jaringan pertemuan Wi-Fi perangkat.

Atribut publik

Hari

uint8_t Day

Hari pembuatan perangkat (0 = tidak ada)

DeviceFeatures

uint32_t DeviceFeatures

Kolom Bit yang menunjukkan dukungan untuk fitur perangkat tertentu.

DeviceId

uint64_t DeviceId

ID perangkat Weave (0 = tidak ada)

FabricId

uint64_t FabricId

ID Kain tenun yang memiliki perangkat (0 = tidak ada)

Tanda

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, panjang 0 = tidak ada)

PairingCompatibilityVersionMajor

uint16_t PairingCompatibilityVersionMajor

Versi kompatibilitas software penyambungan perangkat utama.

PairingCompatibilityVersionMinor

uint16_t PairingCompatibilityVersionMinor

Versi kompatibilitas software penyambungan perangkat minor.

AlamatMAC802154

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 Wi-Fi utama (big-endian, semua 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 Wi-Fi perangkat (NUL dihentikan, durasi 0 = tidak ada)

SerialNumber

char SerialNumber[kMaxSerialNumberLength+1]

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

SoftwareVersion

char SoftwareVersion[kMaxSoftwareVersionLength+1]

Versi software aktif (NUL dihentikan, 0 length = 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 buffering data yang disediakan ke objek Deskriptor Perangkat Weave.

Detail
Parameter
[in] data
Pointer ke buffer yang berisi teks atau data Weave Device Descriptor yang dienkode TLV.
[in] dataLen
Panjang buffering yang disediakan.
[out] outDesc
Referensi ke objek Deskriptor Perangkat yang akan diisi.
Nilai Pengembalian
WEAVE_ERROR_INVALID_DEVICE_DESCRIPTOR
Jika buffer yang diberikan tidak valid.
WEAVE_NO_ERROR
Setelah berhasil.
other
Kode error Weave atau khusus platform 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 buffering data TLV yang disediakan ke objek Deskriptor Perangkat Weave.

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

DecodeTLV

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

Mendekode Deskripsi Perangkat menggunakan TLVReader pra-inisialisasi yang disediakan.

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

DecodeText

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

Mendekode konten buffering data teks yang disediakan ke objek Deskriptor Perangkat Weave.

Detail
Parameter
[in] data
Pointer ke buffer yang berisi data Deskriptor Perangkat Weave yang dienkode dengan teks.
[in] dataLen
Panjang buffering yang disediakan.
[out] outDesc
Referensi ke objek Deskriptor Perangkat yang akan diisi.
Nilai Pengembalian
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 tidak konsisten ditemui oleh decoder.
WEAVE_ERROR_BUFFER_TOO_SMALL
Jika akhir buffer tercapai selama decoding.
WEAVE_NO_ERROR
Setelah 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 Deskriptor Perangkat Weave untuk dienkode.
[out] buf
Pointer ke buffer tempat teks yang dienkode akan ditulis.
[in] bufLen
Panjang buffering yang diberikan.
[out] outEncodedLen
Referensi ke variabel length yang akan ditimpa dengan jumlah karakter yang ditulis ke buffering.
Nilai Pengembalian
WEAVE_NO_ERROR
Setelah berhasil.
other
Kode error Weave lain atau khusus platform yang 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 telah diinisialisasi sebelumnya.

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

Detail
Parameter
[in] desc
Referensi ke Deskriptor Perangkat Weave untuk dienkode.
[in] writer
Referensi ke objek TLVWriter yang telah diinisialisasi sebelumnya yang akan digunakan.
Nilai Pengembalian
WEAVE_NO_ERROR
Setelah berhasil.
other
Kode error Weave lain atau khusus platform yang 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 buffering yang disediakan.

Detail
Parameter
[in] desc
Referensi ke Deskriptor Perangkat Weave untuk dienkode.
[out] buf
Pointer ke buffer tempat teks yang dienkode akan ditulis.
[in] bufLen
Panjang buffering yang diberikan.
[out] outEncodedLen
Referensi ke variabel length yang akan ditimpa dengan jumlah karakter yang ditulis ke buffering.
Nilai Pengembalian
WEAVE_ERROR_BUFFER_TOO_SMALL
Jika buffer yang disediakan terlalu kecil untuk deskripsi teks yang dihasilkan.
WEAVE_ERROR_INVALID_ARGUMENT
Jika kolom deskripsi tidak valid.
WEAVE_NO_ERROR
Setelah berhasil.

IsZeroBytes

bool IsZeroBytes(
  const uint8_t *buf,
  uint32_t len
)

Memeriksa apakah buffer yang ditentukan hanya berisi nol.

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