📄 af.lst
字号:
##############################################################################
# #
# IAR 8051 C/C++ Compiler V7.20H/W32 06/Nov/2008 11:25:01 #
# 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 = E:\解决\路由\Components\stack\af\AF.c #
# Command line = -f E:\解决\路由\Projects\zstack\Samples\SampleApp #
# \CC2430DB\..\..\..\Tools\CC2430DB\f8wCoord.cfg #
# (-DCPU32MHZ -DFORCE_MAC_NEAR -DROOT=__near_func #
# -DMAC_CFG_APP_PENDING_QUEUE=TRUE #
# -DZDO_COORDINATOR -DRTR_NWK -DBLINK_LEDS #
# "-DCONST=const __code" -DGENERIC=__generic) -f #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\..\..\..\Tools\CC2430DB\f8wConfig.cfg #
# (-DSECURE=0 -DDEFAULT_CHANLIST=0x00000800 #
# -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 "D:\Program Files\IAR #
# Systems\Embedded Workbench 4.05 Evaluation #
# version\8051\inc\" -I "D:\Program Files\IAR #
# Systems\Embedded Workbench 4.05 Evaluation #
# version\8051\inc\clib\" -I #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\ -I E:\解决\路由\Projects\zstack\Samples\S #
# ampleApp\CC2430DB\..\Source\ -I #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\..\..\..\ZMain\TI2430DB\ -I #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\..\..\..\..\..\Components\mt\ -I #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\..\..\..\..\..\Components\hal\include\ -I #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\..\..\..\..\..\Components\hal\target\CC243 #
# 0DB\ -I E:\解决\路由\Projects\zstack\Samples\Samp #
# leApp\CC2430DB\..\..\..\..\..\Components\osal\mcu #
# \ccsoc\ -I E:\解决\路由\Projects\zstack\Samples\S #
# ampleApp\CC2430DB\..\..\..\..\..\Components\osal\ #
# include\ -I E:\解决\路由\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\stac #
# k\af\ -I E:\解决\路由\Projects\zstack\Samples\Sam #
# pleApp\CC2430DB\..\..\..\..\..\Components\stack\n #
# wk\ -I E:\解决\路由\Projects\zstack\Samples\Sampl #
# eApp\CC2430DB\..\..\..\..\..\Components\stack\sec #
# \ -I E:\解决\路由\Projects\zstack\Samples\SampleA #
# pp\CC2430DB\..\..\..\..\..\Components\stack\sys\ #
# -I E:\解决\路由\Projects\zstack\Samples\SampleApp #
# \CC2430DB\..\..\..\..\..\Components\stack\zdo\ #
# -I E:\解决\路由\Projects\zstack\Samples\SampleApp #
# \CC2430DB\..\..\..\..\..\Components\zmac\f8w\ -I #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\..\..\..\..\..\Components\zmac\ -I #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\..\..\..\..\..\Components\services\saddr\ #
# -I E:\解决\路由\Projects\zstack\Samples\SampleApp #
# \CC2430DB\..\..\..\..\..\Components\services\sdat #
# a\ -I E:\解决\路由\Projects\zstack\Samples\Sample #
# App\CC2430DB\..\..\..\..\..\Components\mac\includ #
# e\ -I E:\解决\路由\Projects\zstack\Samples\Sample #
# App\CC2430DB\..\..\..\..\..\Components\mac\high_l #
# evel\ -I E:\解决\路由\Projects\zstack\Samples\Sam #
# pleApp\CC2430DB\..\..\..\..\..\Components\mac\low #
# _level\srf03\ -I E:\解决\路由\Projects\zstack\Sam #
# ples\SampleApp\CC2430DB\..\..\..\..\..\Components #
# \mac\low_level\srf03\single_chip\ -D CC2430DB #
# -lC E:\解决\路由\Projects\zstack\Samples\SampleAp #
# p\CC2430DB\CoordinatorDB\List\ -lA #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\CoordinatorDB\List\ --diag_suppress #
# Pe001,Pa010 --diag_remark pe550 -o #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\CoordinatorDB\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 #
# E:\解决\路由\Components\stack\af\AF.c #
# List file = E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\CoordinatorDB\List\AF.lst #
# Object file = E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\CoordinatorDB\Obj\AF.r51 #
# #
# #
##############################################################################
E:\解决\路由\Components\stack\af\AF.c
1 /*********************************************************************
2 Filename: AF.c
3 Revised: $Date: 2007-05-14 17:34:18 -0700 (Mon, 14 May 2007) $
4 Revision: $Revision: 14296 $
5
6 Description: General Operational Framework
7 - Device Description helper functions
8
9 Notes:
10
11 If supporting KVP, then afRegister() ties endpoint to KVP only in V2.
12 If KVP in V2,
13
14 Copyright (c) 2006 by Texas Instruments, Inc.
15 All Rights Reserved. Permission to use, reproduce, copy, prepare
16 derivative works, modify, distribute, perform, display or sell this
17 software and/or its documentation for any purpose is prohibited
18 without the express written consent of Texas Instruments, Inc.
19 *********************************************************************/
20
21 /*********************************************************************
22 * INCLUDES
23 */
24
25 #include "OSAL.h"
26 #include "AF.h"
27 #include "nwk_globals.h"
28 #include "nwk_util.h"
29 #include "aps_groups.h"
30 #include "ZDProfile.h"
31 #include "aps_frag.h"
32
33 #if ( AF_FLOAT_SUPPORT )
34 #include "math.h"
35 #endif
36
37 #if defined ( MT_AF_CB_FUNC )
38 #include "MT_AF.h"
39 #endif
40
41 /*********************************************************************
42 * MACROS
43 */
44
45 /*********************************************************************
46 * @fn afSend
47 *
48 * @brief Helper macro for V1 API to invoke V2 API.
49 *
50 * input parameters
51 *
52 * @param *dstAddr - Full ZB destination address: Nwk Addr + End Point.
53 * @param srcEP - Origination (i.e. respond to or ack to) End Point.
54 * @param cID - A valid cluster ID as specified by the Profile.
55 * @param len - Number of bytes of data pointed to by next param.
56 * @param *buf - A pointer to the data bytes to send.
57 * @param options - Valid bit mask of AF Tx Options as defined in AF.h.
58 * @param *transID - A pointer to a byte which can be modified and which will
59 * be used as the transaction sequence number of the msg.
60 *
61 * output parameters
62 *
63 * @param *transID - Incremented by one if the return value is success.
64 *
65 * @return afStatus_t - See previous definition of afStatus_... types.
66 */
67 #if ( AF_V1_SUPPORT )
68 #define afSend( dstAddr, srcEP, cID, len, buf, transID, options, radius ) \
69 afDataRequest( (dstAddr), afFindEndPointDesc( (srcEP) ), \
70 (cID), (len), (buf), (transID), (options), (radius) )
71 #else
72 #define afSend( dstAddr, srcEP, cID, len, buf, transID, options, radius ) \
73 AF_DataRequest( (dstAddr), afFindEndPointDesc( (srcEP) ), \
74 (cID), (len), (buf), (transID), (options), (radius) )
75 #endif
76
77 /*********************************************************************
78 * CONSTANTS
79 */
80
81 /*********************************************************************
82 * TYPEDEFS
83 */
84
85 #if ( AF_KVP_SUPPORT )
86 typedef struct
87 {
88 uint16 clusterID;
89 byte transCount;
90 byte options;
91 byte srcEP;
92 afAddrType_t dstAddr;
93 uint16 msgLen;
94 byte *msg;
95 } afMultiHdr_t;
96 #endif
97
98 /*********************************************************************
99 * GLOBAL VARIABLES
100 */
101
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
102 epList_t *epList;
\ epList:
\ 000000 DS 2
103
104 /*********************************************************************
105 * EXTERNAL VARIABLES
106 */
107
108 /*********************************************************************
109 * EXTERNAL FUNCTIONS
110 */
111
112 /*********************************************************************
113 * LOCAL VARIABLES
114 */
115
116 /*********************************************************************
117 * LOCAL FUNCTIONS
118 */
119
120 #if ( AF_KVP_SUPPORT )
121 static void afBuildKVPIncoming( aps_FrameFormat_t *aff, endPointDesc_t *epDesc,
122 zAddrType_t *SrcAddress, uint8 LinkQuality, byte SecurityUse );
123 #endif
124
125 static void afBuildMSGIncoming( aps_FrameFormat_t *aff, endPointDesc_t *epDesc,
126 zAddrType_t *SrcAddress, uint8 LinkQuality, byte SecurityUse,
127 uint32 timestamp );
128
129 #if ( AF_KVP_SUPPORT )
130 static afMultiHdr_t *multiInit( afAddrType_t *dstAddr,
131 byte srcEndPoint, uint16 clusterID, byte FrameType,
132 byte txOptions, bool DiscoverRoute, byte RadiusCounter );
133
134 static bool multiAppend( afMultiHdr_t *hdr, byte bufLen, byte *buf,
135 byte CommandType, byte AttribDataType, uint16 AttribId, byte ErrorCode );
136
137 static afStatus_t multiSend( afMultiHdr_t *hdr, byte *seqNum, byte radius );
138 #endif
139
140 #if ( AF_V1_SUPPORT )
141 static afStatus_t afDataRequest( afAddrType_t *dstAddr, endPointDesc_t *srcEP,
142 uint16 cID, uint16 len, uint8 *buf, uint8 *transID,
143 uint8 options, uint8 radius );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -