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 Device Descriptor 对象。
|
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 长度的 WiFi ESSID 上限。 |
kMaxSerialNumberLength
|
序列号长度上限 |
kMaxSoftwareVersionLength
|
软件版本长度上限。 |
@181
@181
指示特定设备功能的功能标志。
属性 | |
---|---|
kFeature_HomeAlarmLinkCapable
|
表示支持连接到家庭警报面板的 Nest Protect。 |
kFeature_LinePowered
|
表示需要电源线的设备。 |
@182
@182
标志字段定义。
属性 | |
---|---|
kFlag_IsRendezvousWiFiESSIDSuffix
|
表示 RendezvousWiFiESSID 值是一个后缀字符串,该字符串显示在设备的 Wi-Fi Rendezvous 网络的 ESSID 末尾。 |
公共属性
天
uint8_t Day
设备制造日期(0 = 不存在)
设备功能
uint32_t DeviceFeatures
指示是否支持特定设备功能的位字段。
DeviceId
uint64_t DeviceId
Weave 设备 ID(0 = 不存在)
FabricId
uint64_t FabricId
设备所属的 Weave 面料的 ID(0 = 不存在)
标志
uint8_t Flags
包含设备其他信息的位字段。
制造日期
struct nl::Weave::Profiles::DeviceDescription::WeaveDeviceDescriptor::@183 ManufacturingDate
月
uint8_t Month
设备制造月份(1 = 1 月)
配对码
char PairingCode[kMaxPairingCodeLength+1]
设备配对码(NUL 已终止,0 = 不存在)
PairingCompatibilityVersionMajor
uint16_t PairingCompatibilityVersionMajor
主要的设备配对软件兼容性版本。
PairingCompatibilityVersionMinor
uint16_t PairingCompatibilityVersionMinor
小的设备配对软件兼容性版本。
Primary802154MACAddress
uint8_t Primary802154MACAddress[8]
主要 802.15.4 接口(大端字节序,所有零都不存在)的 MAC 地址
主要 Wi-FiMAC 地址
uint8_t PrimaryWiFiMACAddress[6]
主要 Wi-Fi 接口的 MAC 地址(大端字节序,所有零都不存在)
ProductId
uint16_t ProductId
设备产品代码(0 = 不存在)
产品修订版本
uint16_t ProductRevision
设备产品修订版本(0 = 不存在)
RendezvousWiFiESSID
char RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]
设备 Wi-Fi 配对网络的 ESSID(NUL 已终止,0 长度 = 不存在)
序列号
char SerialNumber[kMaxSerialNumberLength+1]
设备的序列号(NUL 已终止,0 长度 = 不存在)
软件版本
char SoftwareVersion[kMaxSoftwareVersionLength+1]
有效的软件版本(NUL 已终止,0 长度 = 不存在)
供应商 ID
uint16_t VendorId
设备供应商代码(0 = 不存在)
年
uint16_t Year
设备制造年份(有效范围:2001 - 2099)
公共函数
清除
void Clear( void )
清除设备说明。
WeaveDeviceDescriptor
WeaveDeviceDescriptor( void )
公共静态函数
解码
WEAVE_ERROR Decode( const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc )
解码 TLV
WEAVE_ERROR DecodeTLV( const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc )
将提供的 TLV 数据缓冲区的内容解码为 Weave Device Descriptor 对象。
详细信息 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
解码 TLV
WEAVE_ERROR DecodeTLV( nl::Weave::TLV::TLVReader & reader, WeaveDeviceDescriptor & outDesc )
解码文本
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 )
编码文本
WEAVE_ERROR EncodeText( const WeaveDeviceDescriptor & desc, char *buf, uint32_t bufLen, uint32_t & outEncodedLen )
将提供的设备描述符编码为写入所提供缓冲区的文本。
详细信息 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
IsZeroBytes
bool IsZeroBytes( const uint8_t *buf, uint32_t len )
检查指定的缓冲区是否仅包含零。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|