微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > static void zclSampleLight_OnOffCB( uint8 cmd ) 中处理不同endpoint问题

static void zclSampleLight_OnOffCB( uint8 cmd ) 中处理不同endpoint问题

时间:10-02 整理:3721RD 点击:

由于之前使用的ember的协议栈,所以思路可能还是按之前的套路,可能钻牛角尖了,望大神牵出来,下面入正题

做一个两路的开关控制,每一个endpoint控制一路开关,协调器那边通过zclGeneral_SendOnOff_CmdToggle(ON  or OFF)来发送命令,对应的终端这边就是static void zclSampleLight_OnOffCB( uint8 cmd )来处理接收的command了,但是在这边的callback函数中只传入了CMD,无法直接得知协调器的ON OFF TOGGLE 等command是具体发给哪一个endpoint的,(之前用的ember协议栈是直接有的,所以跳不出来了)进而不能准确的去通过I/O口控制外接设备,大体思路就是如此,1、希望帮忙验证思路是否有误,多路开关应该是使用ON/OFF cluster 来处理吧?

2、如果流程无误的话,是否是我的处理方式有问题,例如可以直接提取消息发送给那个节点的函数

3,如果大神有更好的处理方式的话,请不吝指教,感激不敬啊

两个个端点都要注册,每个端点使用不同的回调函数。

// Register the ZCL General Cluster Library callback functions zclGeneral_RegisterCmdCallbacks( SAMPLELIGHT_ENDPOINT, &zclSampleLight_CmdCallbacks );

谢谢答复,两个端点都要注册这我是知道的,使用不同的回调函数是否意味着

也需要声明和注册两次,每一个endpoint都需要一次?

这个也需要多声明一次吧,你和楼上的思路应该是对的,谢谢

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top