⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mt_zdo.s51

📁 cc2430应用实例
💻 S51
📖 第 1 页 / 共 5 页
字号:
//  174     case SPI_CMD_ZDO_POWER_DESC_REQ:
//  175       // destination address
//  176       devAddr.addrMode = Addr16Bit;
//  177       devAddr.addr.shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  178       pData += 2;
//  179 
//  180       // Network address of interest
//  181       shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  182       pData += 2;
//  183 
//  184       attr = *pData;
//  185       ret = (byte)ZDP_PowerDescReq( &devAddr, shortAddr, attr );
//  186       break;
//  187 #endif
//  188 
//  189 #if defined ( ZDO_SIMPLEDESC_REQUEST )
//  190     case SPI_CMD_ZDO_SIMPLE_DESC_REQ:
//  191       // destination address
//  192       devAddr.addrMode = Addr16Bit;
//  193       devAddr.addr.shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  194       pData += 2;
//  195 
//  196       // Network address of interest
//  197       shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  198       pData += 2;
//  199 
//  200       attr = *pData++;  // endpoint/interface
//  201       attr1 = *pData;   // SecuritySuite
//  202       ret = (byte)ZDP_SimpleDescReq( &devAddr, shortAddr, attr, attr1 );
//  203       break;
//  204 #endif
//  205 
//  206 #if defined ( ZDO_ACTIVEEP_REQUEST )
//  207     case SPI_CMD_ZDO_ACTIVE_EPINT_REQ:
//  208       // destination address
//  209       devAddr.addrMode = Addr16Bit;
//  210       devAddr.addr.shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  211       pData += 2;
//  212 
//  213       // Network address of interest
//  214       shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  215       pData += 2;
//  216 
//  217       attr = *pData;  // SecuritySuite
//  218       ret = (byte)ZDP_ActiveEPReq( &devAddr, shortAddr, attr );
//  219       break;
//  220 #endif
//  221 
//  222 #if defined ( ZDO_MATCH_REQUEST )
//  223     case SPI_CMD_ZDO_MATCH_DESC_REQ:
//  224       {
//  225         uint16 inC[16], outC[16];
//  226 
//  227         // destination address
//  228         devAddr.addrMode = Addr16Bit;
//  229         devAddr.addr.shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  230         pData += 2;
//  231 
//  232         // Network address of interest
//  233         shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  234         pData += 2;
//  235 
//  236         uAttr = BUILD_UINT16( pData[1], pData[0] );   // Profile ID
//  237         pData += 2;
//  238 
//  239         attr = *pData++;   // NumInClusters
//  240         for (i=0; i<16; ++i)  {
//  241           inC[i] = BUILD_UINT16(pData[1], pData[0]);
//  242           pData += 2;
//  243         }
//  244 
//  245         attr1 = *pData++;  // NumOutClusters
//  246         for (i=0; i<16; ++i)  {
//  247           outC[i] = BUILD_UINT16(pData[1], pData[0]);
//  248           pData += 2;
//  249         }
//  250 
//  251         i = *pData;        // SecuritySuite
//  252 
//  253         ret = (byte)ZDP_MatchDescReq( &devAddr, shortAddr, uAttr,
//  254                                   attr, inC, attr1, outC, i );
//  255       }
//  256       break;
//  257 #endif
//  258 
//  259 #if defined ( ZDO_COMPLEXDESC_REQUEST )
//  260     case SPI_CMD_ZDO_COMPLEX_DESC_REQ:
//  261       // destination address
//  262       devAddr.addrMode = Addr16Bit;
//  263       devAddr.addr.shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  264       pData += 2;
//  265 
//  266       // Network address of interest
//  267       shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  268       pData += 2;
//  269 
//  270       attr = *pData;  // SecuritySuite
//  271       ret = (byte)ZDP_ComplexDescReq( &devAddr, shortAddr, attr );
//  272       break;
//  273 #endif
//  274 
//  275 #if defined ( ZDO_USERDESC_REQUEST )
//  276     case SPI_CMD_ZDO_USER_DESC_REQ:
//  277       // destination address
//  278       devAddr.addrMode = Addr16Bit;
//  279       devAddr.addr.shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  280       pData += 2;
//  281 
//  282       // Network address of interest
//  283       shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  284       pData += 2;
//  285 
//  286       attr = *pData;  // SecuritySuite
//  287       ret = (byte)ZDP_UserDescReq( &devAddr, shortAddr, attr );
//  288       break;
//  289 #endif
//  290 
//  291 #if defined ( ZDO_ENDDEVICEBIND_REQUEST )
//  292     case SPI_CMD_ZDO_END_DEV_BIND_REQ:
//  293       //TODO: When ZTool supports 16 bits the code below will need to take it into account
//  294       {
//  295         uint16 inC[16], outC[16];
//  296 
//  297         // destination address
//  298         devAddr.addrMode = Addr16Bit;
//  299         devAddr.addr.shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  300         pData += 2;
//  301 
//  302         // Network address of interest
//  303         shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  304         pData += 2;
//  305 
//  306         x = *pData++;      // EPInt
//  307 
//  308         uAttr = BUILD_UINT16( pData[1], pData[0] );   // Profile ID
//  309         pData += 2;
//  310 
//  311         attr = *pData++;   // NumInClusters
//  312         for (i=0; i<16; ++i)  {
//  313           inC[i] = BUILD_UINT16(pData[1], pData[0]);
//  314           pData += 2;
//  315         }
//  316 
//  317         attr1 = *pData++;  // NumOutClusters
//  318         for (i=0; i<16; ++i)  {
//  319           outC[i] = BUILD_UINT16(pData[1], pData[0]);
//  320           pData += 2;
//  321         }
//  322 
//  323         i = *pData;        // SecuritySuite
//  324 
//  325         ret = (byte)ZDP_EndDeviceBindReq( &devAddr, shortAddr, x, uAttr,
//  326                                 attr, inC, attr1, outC, i );
//  327       }
//  328       break;
//  329 #endif
//  330 
//  331 #if defined ( ZDO_BIND_UNBIND_REQUEST )
//  332     case SPI_CMD_ZDO_BIND_REQ:
//  333       // destination address
//  334       devAddr.addrMode = Addr16Bit;
//  335       devAddr.addr.shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  336       pData += 2;
//  337 
//  338       MT_ReverseBytes( pData, Z_EXTADDR_LEN );
//  339       ptr = pData;       // SrcAddress
//  340       pData += Z_EXTADDR_LEN;
//  341 
//  342       attr = *pData++;   // SrcEPInt
//  343 
//  344       cID = BUILD_UINT16( pData[1], pData[0]);      // ClusterID
//  345       pData += 2;
//  346       
//  347       dstAddr.addrMode = *pData++;
//  348       if ( NLME_GetProtocolVersion() == ZB_PROT_V1_0 )
//  349         dstAddr.addrMode = Addr64Bit;
//  350       
//  351       MT_ReverseBytes( pData, Z_EXTADDR_LEN );
//  352       if ( dstAddr.addrMode == Addr64Bit )
//  353       {
//  354         ptr1 = pData;      // DstAddress
//  355         osal_cpyExtAddr( dstAddr.addr.extAddr, ptr1 );
//  356       }
//  357       else
//  358       {
//  359         dstAddr.addr.shortAddr = BUILD_UINT16( pData[0], pData[1] ); 
//  360       }
//  361       
//  362       // The short address occupies lsb two bytes
//  363       pData += Z_EXTADDR_LEN;
//  364 
//  365       
//  366       attr1 = *pData++;  // DstEPInt
//  367 
//  368       x = *pData;        // SecuritySuite
//  369      
//  370 #if defined ( REFLECTOR )
//  371       if ( devAddr.addr.shortAddr == _NIB.nwkDevAddress )
//  372       {
//  373 	ZDApp_BindReqCB( 0, &devAddr, ptr, attr, cID, &dstAddr, attr1, x );
//  374         ret = ZSuccess;
//  375       }
//  376       else
//  377 #endif
//  378       ret = (byte)ZDP_BindReq( &devAddr, ptr, attr, cID, &dstAddr, attr1, x );
//  379       break;
//  380 #endif
//  381 
//  382 #if defined ( ZDO_BIND_UNBIND_REQUEST )
//  383     case SPI_CMD_ZDO_UNBIND_REQ:
//  384       // destination address
//  385       devAddr.addrMode = Addr16Bit;
//  386       devAddr.addr.shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  387       pData += 2;
//  388 
//  389       MT_ReverseBytes( pData, Z_EXTADDR_LEN );
//  390       ptr = pData;       // SrcAddress
//  391       pData += Z_EXTADDR_LEN;
//  392 
//  393       attr = *pData++;   // SrcEPInt
//  394 
//  395       cID = BUILD_UINT16( pData[1], pData[0]);      // ClusterID
//  396       pData += 2;
//  397 
//  398       dstAddr.addrMode = *pData++;
//  399       if ( NLME_GetProtocolVersion() == ZB_PROT_V1_0 )
//  400         dstAddr.addrMode = Addr64Bit;
//  401       MT_ReverseBytes( pData, Z_EXTADDR_LEN );
//  402       if ( dstAddr.addrMode == Addr64Bit )
//  403       {
//  404         ptr1 = pData;      // DstAddress
//  405         osal_cpyExtAddr( dstAddr.addr.extAddr, ptr1 );
//  406       }
//  407       else
//  408       {
//  409         dstAddr.addr.shortAddr = BUILD_UINT16( pData[0], pData[1] ); 
//  410       }      
//  411       pData += Z_EXTADDR_LEN;
//  412 
//  413       attr1 = *pData++;  // DstEPInt
//  414 
//  415       x = *pData;        // SecuritySuite
//  416 
//  417 #if defined ( REFLECTOR )
//  418       if ( devAddr.addr.shortAddr == _NIB.nwkDevAddress )
//  419       {
//  420         ZDApp_UnbindReqCB( 0, &devAddr, ptr, attr, cID, &dstAddr, attr1, x );
//  421         ret = ZSuccess;
//  422       }
//  423       else
//  424 #endif
//  425       {
//  426         ret = (byte)ZDP_UnbindReq( &devAddr, ptr, attr, cID, &dstAddr, attr1, x );
//  427       }
//  428       break;
//  429 #endif
//  430 
//  431 #if defined ( ZDO_MGMT_NWKDISC_REQUEST )
//  432     case SPI_CMD_ZDO_MGMT_NWKDISC_REQ:
//  433       devAddr.addrMode = Addr16Bit;
//  434       devAddr.addr.shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  435       pData += 2;
//  436       scanChans = BUILD_UINT32( pData[3], pData[2], pData[1], pData[0] );
//  437       ret = (byte)ZDP_MgmtNwkDiscReq( &devAddr, scanChans, pData[4], pData[5], false );
//  438       break;
//  439 #endif
//  440 
//  441 #if defined ( ZDO_MGMT_LQI_REQUEST )
//  442     case SPI_CMD_ZDO_MGMT_LQI_REQ:
//  443       devAddr.addrMode = Addr16Bit;
//  444       devAddr.addr.shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  445       ret = (byte)ZDP_MgmtLqiReq( &devAddr, pData[2], false );
//  446       break;
//  447 #endif
//  448 
//  449 #if defined ( ZDO_MGMT_RTG_REQUEST )
//  450     case SPI_CMD_ZDO_MGMT_RTG_REQ:
//  451       devAddr.addrMode = Addr16Bit;
//  452       devAddr.addr.shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  453       ret = (byte)ZDP_MgmtRtgReq( &devAddr, pData[2], false );
//  454       break;
//  455 #endif
//  456 
//  457 #if defined ( ZDO_MGMT_BIND_REQUEST )
//  458     case SPI_CMD_ZDO_MGMT_BIND_REQ:
//  459       devAddr.addrMode = Addr16Bit;
//  460       devAddr.addr.shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  461       ret = (byte)ZDP_MgmtBindReq( &devAddr, pData[2], false );
//  462       break;
//  463 #endif
//  464 
//  465 #if defined ( ZDO_MGMT_JOINDIRECT_REQUEST )
//  466     case SPI_CMD_ZDO_MGMT_DIRECT_JOIN_REQ:
//  467       devAddr.addrMode = Addr16Bit;
//  468       devAddr.addr.shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  469       MT_ReverseBytes( &pData[2], Z_EXTADDR_LEN );
//  470       ret = (byte)ZDP_MgmtDirectJoinReq( &devAddr,
//  471                                &pData[2],
//  472                                pData[2 + Z_EXTADDR_LEN],
//  473                                false );
//  474       break;
//  475 #endif
//  476 
//  477 #if defined ( ZDO_MGMT_LEAVE_REQUEST )
//  478     case SPI_CMD_ZDO_MGMT_LEAVE_REQ:
//  479       devAddr.addrMode = Addr16Bit;
//  480       devAddr.addr.shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  481       MT_ReverseBytes( &pData[2], Z_EXTADDR_LEN );
//  482       ret = (byte)ZDP_MgmtLeaveReq( &devAddr, &pData[2], false );
//  483       break;
//  484 #endif
//  485 
//  486 #if defined ( ZDO_MGMT_PERMIT_JOIN_REQUEST )
//  487     case SPI_CMD_ZDO_MGMT_PERMIT_JOIN_REQ:
//  488       devAddr.addrMode = Addr16Bit;
//  489       devAddr.addr.shortAddr = BUILD_UINT16( pData[1], pData[0] );
//  490       ret = (byte)ZDP_MgmtPermitJoinReq( &devAddr, pData[2], pData[3], false );
//  491       break;
//  492 #endif
//  493 
//  494 
//  495 #if defined ( ZDO_USERDESCSET_REQUEST )
//  496     case SPI_CMD_ZDO_USER_DESC_SET:
//  497       // destination address
//  498       devAddr.addrMode = Addr16Bit;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -