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 长度的最大 Wi-Fi ESSID。 |
kMaxSerialNumberLength
|
序列号长度上限。 |
kMaxSoftwareVersionLength
|
软件版本长度上限。 |
@181
@181
指示特定设备功能的功能标志。
属性 | |
---|---|
kFeature_HomeAlarmLinkCapable
|
表示支持连接到住宅警报面板的 Nest Protect。 |
kFeature_LinePowered
|
表示需要电源线的设备。 |
@182
@182
标志字段定义。
属性 | |
---|---|
kFlag_IsRendezvousWiFiESSIDSuffix
|
表示 RendezvousWiFiESSID 值是一个后缀字符串,显示在设备的 Wi-Fi 集合网络的 ESSID 的末尾。 |
公共属性
日
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
次要设备配对软件兼容性版本。
Primary802154MACAddress
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 Device Descriptor 对象。
详细信息 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
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 )
检查指定的缓冲区是否仅包含零。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|