Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

nl::Weave::Profil::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 Flag.

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 tenun (0 = tidak ada)
FabricId
uint64_t
ID kain Weave yang mencakup 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 utama perangkat penyambungan.
PairingCompatibilityVersionMinor
uint16_t
Versi kompatibilitas software pemasangan perangkat minor.
Primary802154MACAddress[8]
uint8_t
Alamat MAC untuk antarmuka 802.15.4 utama (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 rendezvous WiFi perangkat (NUL dihentikan, 0 panjang = tidak ada)
SerialNumber[kMaxSerialNumberLength+1]
char
Nomor seri perangkat (NUL dihentikan, panjang 0 = tidak ada)
SoftwareVersion[kMaxSoftwareVersionLength+1]
char
Versi software aktif (dihentikan NUL, 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 pra-inisialisasi yang disediakan.
DecodeText(const char *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
Mendekode konten buffer data teks yang disediakan menjadi objek Weave Device Descriptor.
EncodeTLV(const WeaveDeviceDescriptor & desc, uint8_t *buf, uint32_t bufLen, uint32_t & outEncodedLen)
Mengenkode deskripsi perangkat yang disediakan sebagai Weave TLV yang ditulis ke buffer yang disediakan.
EncodeTLV(const WeaveDeviceDescriptor & desc, nl::Weave::TLV::TLVWriter & writer)
Mengenkode deskripsi perangkat yang disediakan sebagai Weave TLV yang ditulis menggunakan objek TLVWriter pra-inisialisasi yang disediakan.
EncodeText(const WeaveDeviceDescriptor & desc, char *buf, uint32_t bufLen, uint32_t & outEncodedLen)
Mengenkode deskripsi perangkat yang disediakan sebagai teks yang ditulis ke buffering yang diberikan.
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 Wi-Fi maksimum untuk durasi 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 saluran.

@182

 @182

Definisi kolom Flag.

Properti
kFlag_IsRendezvousWiFiESSIDSuffix

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

Atribut publik

Hari

uint8_t Day

Hari pembuatan perangkat (0 = tidak ada)

FiturPerangkat

uint32_t DeviceFeatures

Kolom bit yang menunjukkan dukungan untuk fitur perangkat tertentu.

ID Perangkat

uint64_t DeviceId

ID perangkat tenun (0 = tidak ada)

ID Fabric

uint64_t FabricId

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

Flag

uint8_t Flags

Kolom bit yang berisi informasi tambahan tentang perangkat.

Tanggal Manufaktur

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

Bulan

uint8_t Month

Bulan pembuatan perangkat (1 = Januari)

KodePenyambungan

char PairingCode[kMaxPairingCodeLength+1]

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

PairingCompatibilityVersionMajor

uint16_t PairingCompatibilityVersionMajor

Versi kompatibilitas software utama perangkat penyambungan.

PairCompatibilityCompatibilityVersionMinor

uint16_t PairingCompatibilityVersionMinor

Versi kompatibilitas software pemasangan perangkat minor.

Alamat Primer802154MAC

uint8_t Primary802154MACAddress[8]

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

AlamatWiFiMACUtama

uint8_t PrimaryWiFiMACAddress[6]

Alamat MAC untuk antarmuka Wi-Fi utama (big-endian, semua nol = tidak ada)

ID produk

uint16_t ProductId

Kode produk perangkat (0 = tidak ada)

RevisiProduk

uint16_t ProductRevision

Revisi produk perangkat (0 = tidak ada)

RendezvousWiFiESSID

char RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]

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

Nomor Seri

char SerialNumber[kMaxSerialNumberLength+1]

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

VersiPerangkat Lunak

char SoftwareVersion[kMaxSoftwareVersionLength+1]

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

ID Vendor

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

Dekode

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 TLV yang dienkode Weave Device Descriptor.
[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 buffering yang diberikan tidak valid.
WEAVE_NO_ERROR
Jika berhasil.
other
Kode error spesifik Weave atau platform lainnya menunjukkan bahwa terjadi error yang mencegah decoding TLV.

DekodeTLV

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 dienkodekan 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 ditemukan lebih banyak data TLV setelah Deskripsi Perangkat.
WEAVE_NO_ERROR
Jika berhasil.
other
Kode error spesifik Weave atau platform lainnya menunjukkan bahwa terjadi error yang mencegah encoding TLV.

DekodeTLV

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 Deskripsi Perangkat yang akan diisi.
Nilai yang Ditampilkan
WEAVE_ERROR_INVALID_TLV_ELEMENT
Jika informasi Deskripsi Perangkat tidak valid ditemukan dalam data TLV.
WEAVE_NO_ERROR
Jika berhasil.
other
Kode error Weave atau khusus platform lainnya menunjukkan bahwa terjadi error yang mencegah decoding TLV.

TeksDekode

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

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

Detail
Parameter
[in] data
Pointer ke buffer yang berisi data Deskriptor Perangkat Weave yang dienkodekan 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
Jika berhasil.

EnkodeTLV

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

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

Detail
Parameter
[in] desc
Referensi ke Weave Device Descriptor untuk dienkode.
[out] buf
Pointer ke buffer tempat teks yang dienkode akan ditulis.
[in] bufLen
Panjang buffer yang diberikan.
[out] outEncodedLen
Referensi ke variabel panjang yang akan ditimpa dengan jumlah karakter yang ditulis ke buffer.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Jika berhasil.
other
Kode error spesifik Weave atau platform lainnya menunjukkan bahwa terjadi error yang mencegah encoding TLV.

EnkodeTLV

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

Mengenkode deskripsi perangkat yang disediakan sebagai Weave TLV yang ditulis menggunakan objek TLVWriter pra-inisialisasi yang disediakan.

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

Detail
Parameter
[in] desc
Referensi ke Weave Device Descriptor untuk dienkode.
[in] writer
Referensi ke objek TLVWriter yang diinisialisasi sebelumnya untuk digunakan.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Jika berhasil.
other
Kode error spesifik Weave atau platform lainnya menunjukkan bahwa terjadi error yang mencegah encoding TLV.

TeksEncode

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

Mengenkode deskripsi perangkat yang disediakan sebagai teks yang ditulis ke buffering yang diberikan.

Detail
Parameter
[in] desc
Referensi ke Weave Device Descriptor untuk dienkode.
[out] buf
Pointer ke buffer tempat teks yang dienkode akan ditulis.
[in] bufLen
Panjang buffer yang diberikan.
[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 diberikan terlalu kecil untuk deskripsi teks yang dibuat.
WEAVE_ERROR_INVALID_ARGUMENT
Jika kolom deskripsi tidak valid.
WEAVE_NO_ERROR
Jika 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 yang Ditampilkan
TRUE
Jika buffer hanya berisi nol.
FALSE
Jika buffer berisi nilai bukan nol.