📄 nwk_globals.lst
字号:
##############################################################################
# #
# IAR 8051 C/C++ Compiler V7.20H/W32 18/Sep/2008 17:36:29 #
# Copyright 2004-2006 IAR Systems. All rights reserved. #
# #
# Core = plain #
# Code model = banked #
# Data model = large #
# Calling convention = xdata reentrant #
# Constant location = data #
# Dptr setup = 1,16 #
# Source file = C:\Texas Instruments\ZStack-1.4.2\Components\stac #
# k\nwk\nwk_globals.c #
# Command line = -f "C:\Texas Instruments\ZStack-1.4.2\Projects\zs #
# tack\Samples\SampleApp\CC2430DB\..\..\..\Tools\CC #
# 2430DB\f8wRouter.cfg" (-DCPU32MHZ #
# -DFORCE_MAC_NEAR -DROOT=__near_func #
# -DMAC_CFG_APP_PENDING_QUEUE=TRUE -DRTR_NWK #
# -DBLINK_LEDS "-DCONST=const __code" #
# -DGENERIC=__generic) -f "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\Tools\CC2430DB\f8wCon #
# fig.cfg" (-DSECURE=0 -DDEFAULT_CHANLIST=0x0000080 #
# 0 -DZDAPP_CONFIG_PAN_ID=0xFFFF #
# -DNWK_START_DELAY=100 -DEXTENDED_JOINING_RANDOM_M #
# ASK=0x007F -DBEACON_REQUEST_DELAY=100 #
# -DBEACON_REQ_DELAY_MASK=0x00FF #
# -DROUTE_EXPIRY_TIME=30 -DAPSC_ACK_WAIT_DURATION_P #
# OLLED=3000 -DNWK_INDIRECT_MSG_TIMEOUT=7 #
# -DMAX_RREQ_ENTRIES=10 -DAPSC_MAX_FRAME_RETRIES=3 #
# -DNWK_MAX_DATA_RETRIES=2 #
# -DMAX_POLL_FAILURE_RETRIES=2 -DMAX_BCAST=9 #
# -DAPS_MAX_GROUPS=16 -DMAX_RTG_ENTRIES=20 #
# -DNWK_MAX_BINDING_ENTRIES=10 #
# -DMAX_BINDING_CLUSTER_IDS=5 #
# "-DDEFAULT_KEY={0x01, 0x03, 0x05, 0x07, 0x09, #
# 0x0B, 0x0D, 0x0F, 0x00, 0x02, 0x04, 0x06, 0x08, #
# 0x0A, 0x0C, 0x0D}" -DRFD_RCVC_ALWAYS_ON=FALSE #
# -DPOLL_RATE=1000 -DQUEUED_POLL_RATE=100 #
# -DRESPONSE_POLL_RATE=100 -DREJOIN_POLL_RATE=440 #
# -DTOP_BOOT_PAGES=0) -I "C:\Program Files\IAR #
# Systems\Embedded Workbench 4.05 Evaluation #
# version\8051\inc\" -I "C:\Program Files\IAR #
# Systems\Embedded Workbench 4.05 Evaluation #
# version\8051\inc\clib\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\Source\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\ZMain\TI2430DB\" -I #
# "C:\Texas Instruments\ZStack-1.4.2\Projects\zstac #
# k\Samples\SampleApp\CC2430DB\..\..\..\..\..\Compo #
# nents\mt\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\hal\ #
# include\" -I "C:\Texas Instruments\ZStack-1.4.2\P #
# rojects\zstack\Samples\SampleApp\CC2430DB\..\..\. #
# .\..\..\Components\hal\target\CC2430DB\" -I #
# "C:\Texas Instruments\ZStack-1.4.2\Projects\zstac #
# k\Samples\SampleApp\CC2430DB\..\..\..\..\..\Compo #
# nents\osal\mcu\ccsoc\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\osal #
# \include\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\stac #
# k\af\" -I "C:\Texas Instruments\ZStack-1.4.2\Proj #
# ects\zstack\Samples\SampleApp\CC2430DB\..\..\..\. #
# .\..\Components\stack\nwk\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\stac #
# k\sec\" -I "C:\Texas Instruments\ZStack-1.4.2\Pro #
# jects\zstack\Samples\SampleApp\CC2430DB\..\..\..\ #
# ..\..\Components\stack\sys\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\stac #
# k\zdo\" -I "C:\Texas Instruments\ZStack-1.4.2\Pro #
# jects\zstack\Samples\SampleApp\CC2430DB\..\..\..\ #
# ..\..\Components\zmac\f8w\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\zmac #
# \" -I "C:\Texas Instruments\ZStack-1.4.2\Projects #
# \zstack\Samples\SampleApp\CC2430DB\..\..\..\..\.. #
# \Components\services\saddr\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\serv #
# ices\sdata\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\mac\ #
# include\" -I "C:\Texas Instruments\ZStack-1.4.2\P #
# rojects\zstack\Samples\SampleApp\CC2430DB\..\..\. #
# .\..\..\Components\mac\high_level\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\mac\ #
# low_level\srf03\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\mac\ #
# low_level\srf03\single_chip\" -D CC2430DB -D #
# SOFT_START -D ZAPP_P1 -D HOLD_AUTO_START -lC #
# "C:\Texas Instruments\ZStack-1.4.2\Projects\zstac #
# k\Samples\SampleApp\CC2430DB\RouterDB\List\" -lA #
# "C:\Texas Instruments\ZStack-1.4.2\Projects\zstac #
# k\Samples\SampleApp\CC2430DB\RouterDB\List\" #
# --diag_suppress Pe001,Pa010 --diag_remark pe550 #
# -o "C:\Texas Instruments\ZStack-1.4.2\Projects\zs #
# tack\Samples\SampleApp\CC2430DB\RouterDB\Obj\" #
# -e --require_prototypes -z9 --no_code_motion #
# --debug --core=plain --dptr=16,1 #
# --data_model=large --code_model=banked #
# --calling_convention=xdata_reentrant #
# --place_constants=data --nr_virtual_regs 8 #
# "C:\Texas Instruments\ZStack-1.4.2\Components\sta #
# ck\nwk\nwk_globals.c" #
# List file = C:\Texas Instruments\ZStack-1.4.2\Projects\zstack #
# \Samples\SampleApp\CC2430DB\RouterDB\List\nwk_glo #
# bals.lst #
# Object file = C:\Texas Instruments\ZStack-1.4.2\Projects\zstack #
# \Samples\SampleApp\CC2430DB\RouterDB\Obj\nwk_glob #
# als.r51 #
# #
# #
##############################################################################
C:\Texas Instruments\ZStack-1.4.2\Components\stack\nwk\nwk_globals.c
1 /*********************************************************************
2 Filename: nwk_globals.c
3 Revised: $Date: 2007-05-14 17:34:18 -0700 (Mon, 14 May 2007) $
4 Revision: $Revision: 14296 $
5
6 Description:
7
8 User definable Network Parameters.
9
10 Notes:
11
12 Copyright (c) 2006 by Texas Instruments, Inc.
13 All Rights Reserved. Permission to use, reproduce, copy, prepare
14 derivative works, modify, distribute, perform, display or sell this
15 software and/or its documentation for any purpose is prohibited
16 without the express written consent of Texas Instruments, Inc.
17 *********************************************************************/
18
19 /*********************************************************************
20 * INCLUDES
21 */
22 #include "ZComdef.h"
23 #include "OSAL.h"
24 #include "AddrMgr.h"
25 #include "AssocList.h"
26 #include "BindingTable.h"
27 #include "nwk_globals.h"
28 #include "ssp.h"
29 #include "rtg.h"
30 #include "ZDConfig.h"
31 #include "ZGlobals.h"
32
33 #if defined ( LCD_SUPPORTED )
34 #include "OnBoard.h"
35 #endif
36
37 /* HAL */
38 #include "hal_lcd.h"
39
40 /*********************************************************************
41 * MACROS
42 */
43
44 /*********************************************************************
45 * CONSTANTS
46 */
47
48 // Maximums for the data buffer queue
49 #define NWK_MAX_DATABUFS_WAITING 8 // Waiting to be sent to MAC
50 #define NWK_MAX_DATABUFS_SCHEDULED 5 // Timed messages to be sent
51 #define NWK_MAX_DATABUFS_CONFIRMED 5 // Held after MAC confirms
52 #define NWK_MAX_DATABUFS_TOTAL 12 // Total number of buffers
53
54 // 1-255 (0 -> 256) X RTG_TIMER_INTERVAL
55 // A known shortcoming is that when a message is enqueued as "hold" for a
56 // sleeping device, the timer tick may have counted down to 1, so that msg
57 // will not be held as long as expected. If NWK_INDIRECT_MSG_TIMEOUT is set to 1
58 // the hold time will vary randomly from 0 - CNT_RTG_TIMER ticks.
59 // So the hold time will vary within this interval:
60 // { (NWK_INDIRECT_MSG_TIMEOUT-1)*CNT_RTG_TIMER,
61 // NWK_INDIRECT_MSG_TIMEOUT*CNT_RTG_TIMER }
62 #define NWK_INDIRECT_CNT_RTG_TMR 1 //ggg - need hours or days?
63 // To hold msg for sleeping end devices for 30 secs:
64 // #define CNT_RTG_TIMER 1
65 // #define NWK_INDIRECT_MSG_TIMEOUT 30
66 // To hold msg for sleeping end devices for 30 mins:
67 // #define CNT_RTG_TIMER 60
68 // #define NWK_INDIRECT_MSG_TIMEOUT 30
69 // To hold msg for sleeping end devices for 30 days:
70 // #define CNT_RTG_TIMER 60
71 // #define NWK_INDIRECT_MSG_TIMEOUT (30 * 24 * 60)
72 // Maximum msgs to hold per associated device.
73 #define NWK_INDIRECT_MSG_MAX_PER 3
74 // Maximum total msgs to hold for all associated devices.
75 #define NWK_INDIRECT_MSG_MAX_ALL \
76 (NWK_MAX_DATABUFS_TOTAL - NWK_INDIRECT_MSG_MAX_PER)
77
78
79 /*********************************************************************
80 * TYPEDEFS
81 */
82
83 /*********************************************************************
84 * NWK GLOBAL VARIABLES
85 */
86
87 // Variables for MAX list size
\ In segment CODE_C, align 1
88 CONST uint16 gNWK_MAX_DEVICE_LIST = NWK_MAX_DEVICES;
\ gNWK_MAX_DEVICE_LIST:
\ 000000 1500 DW 21
89
90 // Variables for MAX data buffer levels
\ In segment CODE_C, align 1
91 CONST byte gNWK_MAX_DATABUFS_WAITING = NWK_MAX_DATABUFS_WAITING;
\ gNWK_MAX_DATABUFS_WAITING:
\ 000000 08 DB 8
\ In segment CODE_C, align 1
92 CONST byte gNWK_MAX_DATABUFS_SCHEDULED = NWK_MAX_DATABUFS_SCHEDULED;
\ gNWK_MAX_DATABUFS_SCHEDULED:
\ 000000 05 DB 5
\ In segment CODE_C, align 1
93 CONST byte gNWK_MAX_DATABUFS_CONFIRMED = NWK_MAX_DATABUFS_CONFIRMED;
\ gNWK_MAX_DATABUFS_CONFIRMED:
\ 000000 05 DB 5
\ In segment CODE_C, align 1
94 CONST byte gNWK_MAX_DATABUFS_TOTAL = NWK_MAX_DATABUFS_TOTAL;
\ gNWK_MAX_DATABUFS_TOTAL:
\ 000000 0C DB 12
95
\ In segment CODE_C, align 1
96 CONST byte gNWK_INDIRECT_CNT_RTG_TMR = NWK_INDIRECT_CNT_RTG_TMR;
\ gNWK_INDIRECT_CNT_RTG_TMR:
\ 000000 01 DB 1
\ In segment CODE_C, align 1
97 CONST byte gNWK_INDIRECT_MSG_MAX_PER = NWK_INDIRECT_MSG_MAX_PER;
\ gNWK_INDIRECT_MSG_MAX_PER:
\ 000000 03 DB 3
\ In segment CODE_C, align 1
98 CONST byte gNWK_INDIRECT_MSG_MAX_ALL = NWK_INDIRECT_MSG_MAX_ALL;
\ gNWK_INDIRECT_MSG_MAX_ALL:
\ 000000 09 DB 9
99
100 #if defined ( RTR_NWK )
101 // change this if using a different stack profile...
102 // Cskip array
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
103 uint16 *Cskip;
\ Cskip:
\ 000000 DS 2
104
105 #if ( STACK_PROFILE_ID == HOME_CONTROLS )
\ In segment XDATA_I, align 1, keep-with-next
106 byte CskipRtrs[MAX_NODE_DEPTH+1] = {6,6,6,6,6,0};
\ CskipRtrs:
\ 000000 DS 6
\ 000006 REQUIRE `?<Initializer for CskipRtrs>`
\ 000006 REQUIRE __INIT_XDATA_I
\ In segment XDATA_I, align 1, keep-with-next
107 byte CskipChldrn[MAX_NODE_DEPTH+1] = {20,20,20,20,20,0};
\ CskipChldrn:
\ 000000 DS 6
\ 000006 REQUIRE `?<Initializer for CskipChldrn>`
\ 000006 REQUIRE __INIT_XDATA_I
108 #elif ( STACK_PROFILE_ID == GENERIC_STAR )
109 byte CskipRtrs[MAX_NODE_DEPTH+1] = {5,5,5,5,5,0};
110 byte CskipChldrn[MAX_NODE_DEPTH+1] = {5,5,5,5,5,0};
111 #elif ( STACK_PROFILE_ID == NETWORK_SPECIFIC )
112 byte CskipRtrs[MAX_NODE_DEPTH+1] = {5,5,5,5,5,0};
113 byte CskipChldrn[MAX_NODE_DEPTH+1] = {5,5,5,5,5,0};
114 #endif // STACK_PROFILE_ID
115 #endif // RTR_NWK
116
117
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -