请教一下Ti大神们:
zigbee 3.0协议栈中簇和它相关的回调函数的对应关系在哪里呢?ZCL_CLUSTER_ID_GEN_ON_OFF 和zclSampleLight_OnOffCB()这个函数是怎么对应到一起的。还有这种类型的函数的定义,typedef void (*zclGCB_Identify_t)( zclIdentify_t *pCmd ); //输入形参为Pcmd,输出参数为void的一个函数
感觉都没有用到呢?
YiKai Chen:
是透過 zclGeneral_RegisterCmdCallbacks( SAMPLELIGHT_ENDPOINT, &zclSampleLight_CmdCallbacks )去註冊使用的
user5764532:
回复 YiKai Chen:
嗯嗯,那怎么确定才能簇和回调函数相一一对应呢。是通过这个函数zclGeneral_HdlInSpecificCommands( zclIncoming_t *pInMsg )中的
#ifdef ZCL_GROUPS
case ZCL_CLUSTER_ID_GEN_GROUPS:
if ( zcl_ServerCmd( pInMsg->hdr.fc.direction ) )
stat = zclGeneral_ProcessInGroupsServer( pInMsg );
else
stat = zclGeneral_ProcessInGroupsClient( pInMsg, pCBs );
break;
#endif // ZCL_GROUPS#ifdef ZCL_SCENES
case ZCL_CLUSTER_ID_GEN_SCENES:
if ( zcl_ServerCmd( pInMsg->hdr.fc.direction ) )
stat = zclGeneral_ProcessInScenesServer( pInMsg, pCBs );
else
stat = zclGeneral_ProcessInScenesClient( pInMsg, pCBs );
break;
#endif // ZCL_SCENES#ifdef ZCL_ON_OFF
case ZCL_CLUSTER_ID_GEN_ON_OFF:
stat = zclGeneral_ProcessInOnOff( pInMsg, pCBs );
break;
#endif // ZCL_ON_OFF
这种一一对应的吗
user5764532:
回复 YiKai Chen:
大神您好,请问一下簇和回调函数的对应关系是不是下面说的关系呢,还是怎么相互对应的呢
YiKai Chen:
回复 user5764532:
能簇和回调函数相一一对应呢。是通过这个函数zclGeneral_HdlInSpecificCommands( zclIncoming_t *pInMsg )中的pCBs = zclGeneral_FindCallbacks( pInMsg->msg->endPoint ) 然後在呼叫對應的簇程序去處理
user5764532:
回复 YiKai Chen:
好的,谢谢YiKai Chen大神,就是我还想咨询一下一般想进一步学习zigbee,怎么去寻找源码呢,我感觉TI本身协议栈提供的源码所实现的功能太少了,完全不能达到更深的学习目的呢。请大神指教一下!