📄 mac_radio.lst
字号:
##############################################################################
# #
# IAR 8051 C/C++ Compiler V7.20H/W32 13/Nov/2008 11:16:43 #
# 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\mac\ #
# low_level\srf03\mac_radio.c #
# Command line = -f "C:\Texas Instruments\ZStack-1.4.2\Projects\zs #
# tack\Samples\SampleApp\CC2430DB\..\..\..\Tools\CC #
# 2430DB\f8wEndev.cfg" (-DCPU32MHZ #
# -DFORCE_MAC_NEAR -DROOT=__near_func #
# -DMAC_OPT_FFD=0 -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\CC2430EB\" -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 CC2430EB -D #
# NWK_AUTO_POLL -D ZTOOL_P1 -D MT_TASK -lC #
# "C:\Texas Instruments\ZStack-1.4.2\Projects\zstac #
# k\Samples\SampleApp\CC2430DB\EndDeviceEB\List\" #
# -lA "C:\Texas Instruments\ZStack-1.4.2\Projects\z #
# stack\Samples\SampleApp\CC2430DB\EndDeviceEB\List #
# \" --diag_suppress Pe001,Pa010 --diag_remark #
# pe550 -o "C:\Texas Instruments\ZStack-1.4.2\Proje #
# cts\zstack\Samples\SampleApp\CC2430DB\EndDeviceEB #
# \Obj\" -e --require_prototypes -z9 #
# --no_code_motion --debug --core=plain #
# --dptr=16,1 --data_model=large #
# --code_model=banked --calling_convention=xdata_re #
# entrant --place_constants=data --nr_virtual_regs #
# 8 "C:\Texas Instruments\ZStack-1.4.2\Components\m #
# ac\low_level\srf03\mac_radio.c" #
# List file = C:\Texas Instruments\ZStack-1.4.2\Projects\zstack #
# \Samples\SampleApp\CC2430DB\EndDeviceEB\List\mac_ #
# radio.lst #
# Object file = C:\Texas Instruments\ZStack-1.4.2\Projects\zstack #
# \Samples\SampleApp\CC2430DB\EndDeviceEB\Obj\mac_r #
# adio.r51 #
# #
# #
##############################################################################
C:\Texas Instruments\ZStack-1.4.2\Components\mac\low_level\srf03\mac_radio.c
1 /**************************************************************************************************
2 Filename:
3 Revised: $Date: 2007-03-26 16:18:09 -0700 (Mon, 26 Mar 2007) $
4 Revision: $Revision: 13860 $
5
6 Description:
7
8 Describe the purpose and contents of the file.
9
10 Copyright (c) 2006 by Texas Instruments, Inc.
11 All Rights Reserved. Permission to use, reproduce, copy, prepare
12 derivative works, modify, distribute, perform, display or sell this
13 software and/or its documentation for any purpose is prohibited
14 without the express written consent of Texas Instruments, Inc.
15 **************************************************************************************************/
16
17
18 /* ------------------------------------------------------------------------------------------------
19 * Includes
20 * ------------------------------------------------------------------------------------------------
21 */
22
23 /* hal */
24 #include "hal_types.h"
25
26 /* high-level */
27 #include "mac_pib.h"
28
29 /* exported low-level */
30 #include "mac_low_level.h"
31
32 /* low-level specific */
33 #include "mac_radio.h"
34 #include "mac_tx.h"
35 #include "mac_rx.h"
36 #include "mac_rx_onoff.h"
37 #include "mac_sleep.h"
38 #include "mac_backoff_timer.h"
39
40 /* target specific */
41 #include "mac_radio_defs.h"
42
43 /* debug */
44 #include "mac_assert.h"
45
46
47 /* ------------------------------------------------------------------------------------------------
48 * Includes
49 * ------------------------------------------------------------------------------------------------
50 */
51 #define ED_RF_POWER_MIN_DBM (MAC_RADIO_RECEIVER_SENSITIVITY_DBM + MAC_SPEC_ED_MIN_DBM_ABOVE_RECEIVER_SENSITIVITY)
52 #define ED_RF_POWER_MAX_DBM MAC_RADIO_RECEIVER_SATURATION_DBM
53
54
55 /* ------------------------------------------------------------------------------------------------
56 * Global Variables
57 * ------------------------------------------------------------------------------------------------
58 */
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
59 uint8 macPhyTxPower;
\ macPhyTxPower:
\ 000000 DS 1
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
60 uint8 macPhyChannel;
\ macPhyChannel:
\ 000000 DS 1
61
62
63 /* ------------------------------------------------------------------------------------------------
64 * Local Variables
65 * ------------------------------------------------------------------------------------------------
66 */
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
67 static uint8 reqChannel;
\ ??reqChannel:
\ 000000 DS 1
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
68 static uint8 reqTxPower;
\ ??reqTxPower:
\ 000000 DS 1
69
70
71 /* ------------------------------------------------------------------------------------------------
72 * Local Functions
73 * ------------------------------------------------------------------------------------------------
74 */
75 static uint8 radioComputeED(int8 rssiDbm);
76
77
78 /**************************************************************************************************
79 * @fn macRadioInit
80 *
81 * @brief Initialize radio software.
82 *
83 * @param none
84 *
85 * @return none
86 **************************************************************************************************
87 */
\ In segment BANKED_CODE, align 1, keep-with-next
88 void macRadioInit(void)
\ macRadioInit:
89 {
\ 000000 C082 PUSH DPL
\ 000002 C083 PUSH DPH
\ 000004 ; Saved register size: 2
\ 000004 ; Auto size: 0
90 /* variable initialization for this module */
91 reqChannel = MAC_RADIO_CHANNEL_DEFAULT;
\ 000004 740B MOV A,#0xb
\ 000006 90.... MOV DPTR,#??reqChannel
\ 000009 F0 MOVX @DPTR,A
92 macPhyChannel = MAC_RADIO_CHANNEL_DEFAULT;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -