由函数afStatus_t AF_DataRequest( afAddrType_t *dstAddr, endPointDesc_t *srcEP,
uint16 cID, uint16 len, uint8 *buf, uint8 *transID,
uint8 options, uint8 radius )的定义可知,它只指定了网络信息接收方的ClusterID并没有具体指定发送方从哪个ClusterID发送出去,既然如此的话
typedef struct
{
uint8 endPoint;
uint8 *task_id; // Pointer to location of the Application task ID.
SimpleDescriptionFormat_t *simpleDesc;
afNetworkLatencyReq_t latencyReq;
} endPointDesc_t;中
typedef struct
{
uint8 EndPoint;
uint16 AppProfId;
uint16 AppDeviceId;
uint8 AppDevVer:4;
uint8 Reserved:4; // AF_V1_SUPPORT uses for AppFlags:4.
uint8 AppNumInClusters;
cId_t *pAppInClusterList;
uint8 AppNumOutClusters;
cId_t *pAppOutClusterList;
} SimpleDescriptionFormat_t;的pAppOutClusterList还有什么意义了?
YiKai Chen:
Simple Descriptor是讓其他網絡內的設備都可以來問自己支援了哪些in/out cluster,所以還是有意義的
user5281211:
回复 YiKai Chen:
但是自己发送消息的时候都没有指定OutClusterID,那实际上pAppOutClusterList对实际通信并没有起到向pAppInClusterList那样的作用是吗?
YiKai Chen:
回复 user5281211:
針對這部份你的理解是對的
user5281211:
回复 YiKai Chen:
好的,Thanks♪(・ω・)ノ
Viki Shi:
回复 YiKai Chen:
pAppOutClusterList主要是可以列出支持的out Cluster ID,其他设备可以通过Simple Descriptor获取信息
hongju wang:
在你不使用zcl的时候,这个outcluster确实没什么意义,甚至你可以设置为何incluster一个样