TI中文支持网
TI专业的中文技术问题搜集分享网站

簇和回调函数的对应关系

请教一下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本身协议栈提供的源码所实现的功能太少了,完全不能达到更深的学习目的呢。请大神指教一下!

赞(0)
未经允许不得转载:TI中文支持网 » 簇和回调函数的对应关系
分享到: 更多 (0)