nl:: Weave:: Profiles:: DeviceDescription:: WeaveDeviceDescriptor
#include <src/lib/profiles/device-description/DeviceDescription.h>
包含有關 Weave 裝置的描述性資訊。
摘要
建構函式和解構函式 |
|
---|---|
WeaveDeviceDescriptor(void)
|
公開類型 |
|
---|---|
@180{
|
列舉 定義部分屬性的長度上限。 |
@181{
|
列舉 指出特定裝置功能的功能旗標。 |
@182{
|
列舉 旗標欄位定義。 |
公開屬性 |
|
---|---|
Day
|
uint8_t
裝置製造日期 (0 = 不存在)
|
DeviceFeatures
|
uint32_t
位元欄位,表示支援特定裝置功能。
|
DeviceId
|
uint64_t
Weave 裝置 ID (0 = 不存在)
|
FabricId
|
uint64_t
裝置所屬的 Weave 布料 ID (0 = 不存在)
|
Flags
|
uint8_t
含有裝置額外資訊的位元欄位。
|
ManufacturingDate
|
struct nl::Weave::Profiles::DeviceDescription::WeaveDeviceDescriptor::@183
|
Month
|
uint8_t
裝置製造月份 (1 = 1 月)
|
PairingCode[kMaxPairingCodeLength+1]
|
char
裝置配對碼 (NUL 已終止,長度 0 = 未顯示)
|
PairingCompatibilityVersionMajor
|
uint16_t
主要裝置配對軟體相容性版本。
|
PairingCompatibilityVersionMinor
|
uint16_t
裝置配對軟體相容性的小型版本。
|
Primary802154MACAddress[8]
|
uint8_t
主要 802.15.4 介面的 MAC 位址 (大端序,所有零 = 不存在)
|
PrimaryWiFiMACAddress[6]
|
uint8_t
主要 Wi-Fi 介面的 MAC 位址 (大端序,所有零 = 不存在)
|
ProductId
|
uint16_t
裝置產品代碼 (0 = 不存在)
|
ProductRevision
|
uint16_t
裝置產品修訂版本 (0 = 沒有)
|
RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]
|
char
裝置 Wi-Fi 路邊網路的 ESSID (NUL 已終止,0 個長度 = 不存在)
|
SerialNumber[kMaxSerialNumberLength+1]
|
char
裝置的序號 (NUL 已終止,0 個字元 = 不存在)
|
SoftwareVersion[kMaxSoftwareVersionLength+1]
|
char
使用中的軟體版本 (NUL 終止,0 個長度 = 不存在)
|
VendorId
|
uint16_t
裝置供應商代碼 (0 = 不存在)
|
Year
|
uint16_t
裝置製造年份 (有效範圍為 2001 至 2099 年)
|
公開函式 |
|
---|---|
Clear(void)
|
void
清除裝置說明。
|
公開的靜態函式 |
|
---|---|
Decode(const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
|
將所提供資料緩衝區的內容解碼為 Weave Device Descriptor 物件。
|
DecodeTLV(const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
|
將所提供 TLV 資料緩衝區的內容解碼為 Weave 裝置描述元物件。
|
DecodeTLV(nl::Weave::TLV::TLVReader & reader, WeaveDeviceDescriptor & outDesc)
|
使用提供的預先初始化 TLVReader 解碼裝置說明。
|
DecodeText(const char *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
|
將所提供文字資料緩衝區的內容解碼為 Weave Device Descriptor 物件。
|
EncodeTLV(const WeaveDeviceDescriptor & desc, uint8_t *buf, uint32_t bufLen, uint32_t & outEncodedLen)
|
將提供的裝置描述元進行編碼,做為寫入提供的緩衝區的 Weave TLV。
|
EncodeTLV(const WeaveDeviceDescriptor & desc, nl::Weave::TLV::TLVWriter & writer)
|
使用提供的預先初始化 TLVWriter 物件,將提供的裝置描述元編碼為 Weave TLV。
|
EncodeText(const WeaveDeviceDescriptor & desc, char *buf, uint32_t bufLen, uint32_t & outEncodedLen)
|
將提供的裝置描述元編碼為寫入提供的緩衝區的文字。
|
IsZeroBytes(const uint8_t *buf, uint32_t len)
|
bool
檢查指定的緩衝區是否只包含零。
|
公開類型
180 號星
@180
定義部分屬性的長度上限。
屬性 | |
---|---|
kMaxPairingCodeLength
|
配對代碼長度上限。 |
kMaxRendezvousWiFiESSID
|
Rendezvous 的 Wi-Fi ESSID 長度上限。 |
kMaxSerialNumberLength
|
序號長度上限。 |
kMaxSoftwareVersionLength
|
軟體版本長度上限。 |
181 號星
@181
指出特定裝置功能的功能旗標。
屬性 | |
---|---|
kFeature_HomeAlarmLinkCapable
|
表示支援與居家警報面板連線的 Nest Protect。 |
kFeature_LinePowered
|
表示需要接線的裝置。 |
182 次
@182
旗標欄位定義。
屬性 | |
---|---|
kFlag_IsRendezvousWiFiESSIDSuffix
|
表示 RendezvousWiFiESSID 值是後置字串,會顯示在裝置的 Wi-Fi 路邊網路結尾。 |
公開屬性
天
uint8_t Day
裝置製造日期 (0 = 不存在)
DeviceFeatures
uint32_t DeviceFeatures
位元欄位,表示支援特定裝置功能。
DeviceId
uint64_t DeviceId
Weave 裝置 ID (0 = 不存在)
FabricId
uint64_t FabricId
裝置所屬的 Weave 布料 ID (0 = 不存在)
旗幟
uint8_t Flags
含有裝置額外資訊的位元欄位。
ManufacturingDate
struct nl::Weave::Profiles::DeviceDescription::WeaveDeviceDescriptor::@183 ManufacturingDate
月
uint8_t Month
裝置製造月份 (1 = 1 月)
PairingCode
char PairingCode[kMaxPairingCodeLength+1]
裝置配對碼 (NUL 已終止,長度 0 = 未顯示)
PairingCompatibilityVersionMajor
uint16_t PairingCompatibilityVersionMajor
主要裝置配對軟體相容性版本。
PairingCompatibilityVersionMinor
uint16_t PairingCompatibilityVersionMinor
裝置配對軟體相容性的小型版本。
主要 802154MACAddress
uint8_t Primary802154MACAddress[8]
主要 802.15.4 介面的 MAC 位址 (大端序,所有零 = 不存在)
PrimaryWiFiMACAddress
uint8_t PrimaryWiFiMACAddress[6]
主要 Wi-Fi 介面的 MAC 位址 (大端序,所有零 = 不存在)
ProductId
uint16_t ProductId
裝置產品代碼 (0 = 不存在)
ProductRevision
uint16_t ProductRevision
裝置產品修訂版本 (0 = 沒有)
RendezvousWiFiESSID
char RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]
裝置 Wi-Fi 路邊網路的 ESSID (NUL 已終止,0 個長度 = 不存在)
SerialNumber
char SerialNumber[kMaxSerialNumberLength+1]
裝置的序號 (NUL 已終止,0 個字元 = 不存在)
SoftwareVersion
char SoftwareVersion[kMaxSoftwareVersionLength+1]
使用中的軟體版本 (NUL 終止,0 個長度 = 不存在)
VendorId
uint16_t VendorId
裝置供應商代碼 (0 = 不存在)
年
uint16_t Year
裝置製造年份 (有效範圍為 2001 至 2099 年)
公開函式
清除
void Clear( void )
清除裝置說明。
WeaveDeviceDescriptor
WeaveDeviceDescriptor( void )
公開的靜態函式
Decode
WEAVE_ERROR Decode( const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc )
DecodeTLV
WEAVE_ERROR DecodeTLV( const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc )
將所提供 TLV 資料緩衝區的內容解碼為 Weave 裝置描述元物件。
詳細資料 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||
傳回值 |
|
DecodeTLV
WEAVE_ERROR DecodeTLV( nl::Weave::TLV::TLVReader & reader, WeaveDeviceDescriptor & outDesc )
DecodeText
WEAVE_ERROR DecodeText( const char *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc )
將所提供文字資料緩衝區的內容解碼為 Weave Device Descriptor 物件。
詳細資料 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||
傳回值 |
|
EncodeTLV
WEAVE_ERROR EncodeTLV( const WeaveDeviceDescriptor & desc, uint8_t *buf, uint32_t bufLen, uint32_t & outEncodedLen )
EncodeTLV
WEAVE_ERROR EncodeTLV( const WeaveDeviceDescriptor & desc, nl::Weave::TLV::TLVWriter & writer )
EncodeText
WEAVE_ERROR EncodeText( const WeaveDeviceDescriptor & desc, char *buf, uint32_t bufLen, uint32_t & outEncodedLen )
將提供的裝置描述元編碼為寫入提供的緩衝區的文字。
詳細資料 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||
傳回值 |
|
IsZeroBytes
bool IsZeroBytes( const uint8_t *buf, uint32_t len )
檢查指定的緩衝區是否只包含零。
詳細資料 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|