📄 z_user_data.c
字号:
#include "INCLUDE_TOP.h"
#include "C_MAC/INCLUDE_MAC.h"
#include "C_NWK/INCLUDE_NWK.h"
#include "C_APS/INCLUDE_APS.h"
#include "C_Builder/ZZDO_CONF.h"
#include "Z_USER_DATA_CONF.h"
//----------------------------------------------------------------------------
// Memory for APS Layer
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
#if (USER_SIZE_APS_AM)
AS_ADDR_MAP MEMORY_AM[USER_SIZE_APS_AM];
#endif
#if (USER_SIZE_APS_BT)
#define USER_SIZE_APS_BT_DST 4
AS_BIND_TABLE MEMORY_BT[USER_SIZE_APS_BT];
AS_BIND_Dst MEMORY_BT_DST[USER_SIZE_APS_BT][USER_SIZE_APS_BT_DST];
#endif
#if (USER_SIZE_APS_GT)
#define USER_SIZE_APS_GT_EP 4
AS_GROUP_TABLE MEMORY_GT[USER_SIZE_APS_GT];
UINT8 MEMORY_GT_EP[USER_SIZE_APS_GT][USER_SIZE_APS_GT_EP];
#endif
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
// Memory for NWK Layer
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
#if (USER_SIZE_NWK_NT)
NS_NT MEMORY_NT[USER_SIZE_NWK_NT];
#endif
#if (USER_SIZE_NWK_RT)
NS_RT MEMORY_RT[USER_SIZE_NWK_RT];
#endif
#if (USER_SIZE_NWK_GID)
NS_GID MEMORY_GID[USER_SIZE_NWK_GID];
#endif
#if (USER_SIZE_NWK_RDT)
NS_RDT MEMORY_RDT[USER_SIZE_NWK_RDT];
#endif
#if (USER_SIZE_NWK_BTT)
NS_BTT MEMORY_BTT[USER_SIZE_NWK_BTT];
#endif
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
// Memory for MAC Layer
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
#if (USER_SIZE_MAC_ZIGBEE_NET)
S_ZIGBEE_NET MEMORY_ZIGBEE_NET[USER_SIZE_MAC_ZIGBEE_NET];
#endif
//----------------------------------------------------------------------------
#define USER_SIZE_REUSE_ADDR_ZR 8
#if (USER_SIZE_REUSE_ADDR_ZR)
UINT16 MEMORY_REUSE_ADDR_ZR[USER_SIZE_REUSE_ADDR_ZR];
#endif
#define USER_SIZE_REUSE_ADDR_ZED 4
#if (USER_SIZE_REUSE_ADDR_ZED)
UINT16 MEMORY_REUSE_ADDR_ZED[USER_SIZE_REUSE_ADDR_ZED];
#endif
void ZUSER_ALLOCATE_MEMORY()
{
UINT8 i;
//---------------------------------------------------------------
// Pointer to APS Memory
//---------------------------------------------------------------
#if (USER_SIZE_APS_AM)
// Initialize Address Map(AM)
AIB.papsAddrMap = MEMORY_AM;
APA.SIZE_AM = USER_SIZE_APS_AM;
for(i=0 ; i<USER_SIZE_APS_AM ; i++) AIB.papsAddrMap[i].EnaAM = 0;
#endif
#if (USER_SIZE_APS_BT)
// Initialize Binding Table(BT)
AIB.papsBindTable = MEMORY_BT;
APA.SIZE_BT = USER_SIZE_APS_BT;
APA.SIZE_BT_DST = USER_SIZE_APS_BT_DST;
for(i=0 ; i<USER_SIZE_APS_BT ; i++)
{
AIB.papsBindTable[i].EnaBT = 0;
AIB.papsBindTable[i].Dst_Count = 0;
AIB.papsBindTable[i].pDst = &(MEMORY_BT_DST[i][0]);
}
#endif
#if ( USER_SIZE_APS_GT)
// Initialize Group Table(GT)
AIB.papsGroupTable = MEMORY_GT;
APA.SIZE_GT = USER_SIZE_APS_GT;
APA.SIZE_GT_EP = USER_SIZE_APS_GT_EP;
for(i=0 ; i<USER_SIZE_APS_GT ; i++)
{
AIB.papsGroupTable[i].EnaGT = 0;
AIB.papsGroupTable[i].EP_Count = 0;
AIB.papsGroupTable[i].pEP = &(MEMORY_GT_EP[i][0]);
}
#endif
//---------------------------------------------------------------
// Pointer to NWK Memory
//---------------------------------------------------------------
#if (USER_SIZE_NWK_NT)
// Initialize Neighbor Table(NT)
NPA.pnwkNT = MEMORY_NT;
NPA.SIZE_NT = USER_SIZE_NWK_NT;
for(i=0 ; i<USER_SIZE_NWK_NT ; i++) NPA.pnwkNT[i].EnaNT = 0;
#endif
#if (USER_SIZE_NWK_RT)
// Initialize Routing Table(RT)
NPA.pnwkRT = MEMORY_RT;
NPA.SIZE_RT = USER_SIZE_NWK_RT;
for(i=0 ; i<USER_SIZE_NWK_RT ; i++) NPA.pnwkRT[i].EnaRT = 0;
#endif
#if (USER_SIZE_NWK_GID)
// Initialize GroupID Table(GID)
NPA.pnwkGID = MEMORY_GID;
NPA.SIZE_GID = USER_SIZE_NWK_GID;
for(i=0 ; i<USER_SIZE_NWK_GID ; i++) NPA.pnwkGID[i].EnaGID = 0;
#endif
#if (USER_SIZE_NWK_RDT)
// Initialize Routing Discovery Table(RDT)
NPA.pRDT = MEMORY_RDT;
ZNWK_SET_SIZE_RDT(USER_SIZE_NWK_RDT);
for(i=0 ; i<USER_SIZE_NWK_RDT ; i++) ZNWK_SET_RDT_EXPTIME(i, 0);
#endif
#if (USER_SIZE_NWK_BTT)
// Initialize Broadcast Table(BTT)
NPA.pBTT = MEMORY_BTT;
ZNWK_SET_SIZE_BTT(USER_SIZE_NWK_BTT);
for(i=0 ; i<USER_SIZE_NWK_BTT ; i++) ZNWK_SET_BTT_EXPTIME(i, 0);
#endif
#if (USER_SIzE_NWK_ANT)
// Initialize Additional Neighbor Table
NPA.pANT =
#endif
#if (USER_SIZE_NWK_SRT)
// Initialize Source Routing Table
NPA.pSRT =
#endif
//---------------------------------------------------------------
// Pointer to MAC Memory
//---------------------------------------------------------------
#if (USER_SIZE_MAC_ZIGBEE_NET)
// Initialize Network Descriptor for NWK and MAC
pZIGBEE_NET = MEMORY_ZIGBEE_NET;
SIZE_ZIGBEE_NET = USER_SIZE_MAC_ZIGBEE_NET;
for(i=0 ; i<USER_SIZE_MAC_ZIGBEE_NET ; i++) pZIGBEE_NET[i].EnaZN = 0;
#endif
#if (USER_SIZE_REUSE_ADDR_ZR)
NPA.pReuseZRAddr = MEMORY_REUSE_ADDR_ZR;
NPA.SIZE_ReuseZRAddr = USER_SIZE_REUSE_ADDR_ZR;
for(i=0 ; i<USER_SIZE_REUSE_ADDR_ZR ; i++) NPA.pReuseZRAddr[i] = 0;
#endif
#if (USER_SIZE_REUSE_ADDR_ZED)
NPA.pReuseZEDAddr = MEMORY_REUSE_ADDR_ZED;
NPA.SIZE_ReuseZEDAddr = USER_SIZE_REUSE_ADDR_ZED;
for(i=0 ; i<USER_SIZE_REUSE_ADDR_ZED ; i++) NPA.pReuseZEDAddr[i] = 0;
#endif
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -