📄 hal_led.lst
字号:
##############################################################################
# #
# IAR 8051 C/C++ Compiler V7.20H/W32 06/Nov/2008 11:13:21 #
# 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\hal\target\CC2430DB\hal_l #
# ed.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\hal\target\CC2430DB\hal_l #
# ed.c #
# List file = E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\CoordinatorDB\List\hal_led.lst #
# Object file = E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\CoordinatorDB\Obj\hal_led.r51 #
# #
# #
##############################################################################
E:\解决\路由\Components\hal\target\CC2430DB\hal_led.c
1 /**************************************************************************************************
2 Filename: hal_led.c
3 Revised: $Date: 2007-03-07 16:10:30 -0800 (Wed, 07 Mar 2007) $
4 Revision: $Revision: 13711 $
5
6 Description:
7
8 This file contains the interface to the HAL LED Service.
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 * INCLUDES
19 ***************************************************************************************************/
20 #include "hal_mcu.h"
21 #include "hal_defs.h"
22 #include "hal_types.h"
23 #include "hal_drivers.h"
24 #include "hal_led.h"
25 #include "osal.h"
26 #include "hal_board.h"
27
28 /***************************************************************************************************
29 * CONSTANTS
30 ***************************************************************************************************/
31
32 /***************************************************************************************************
33 * MACROS
34 ***************************************************************************************************/
35
36 /***************************************************************************************************
37 * TYPEDEFS
38 ***************************************************************************************************/
39 /* LED control structure */
40 typedef struct {
41 uint8 mode; /* Operation mode */
42 uint8 todo; /* Blink cycles left */
43 uint8 onPct; /* On cycle percentage */
44 uint16 time; /* On/off cycle time (msec) */
45 uint32 next; /* Time for next change */
46 } HalLedControl_t;
47
48 typedef struct
49 {
50 HalLedControl_t HalLedControlTable[HAL_LED_DEFAULT_MAX_LEDS];
51 uint8 sleepActive;
52 } HalLedStatus_t;
53
54
55 /***************************************************************************************************
56 * GLOBAL VARIABLES
57 ***************************************************************************************************/
58
59
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
60 static uint8 HalLedState; // LED state at last set/clr/blink update
\ ??HalLedState:
\ 000000 DS 1
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
61 static uint8 HalSleepLedState; // LED state at last set/clr/blink update
\ ??HalSleepLedState:
\ 000000 DS 1
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
62 static uint8 preBlinkState; // Original State before going to blink mode
\ ??preBlinkState:
\ 000000 DS 1
63 // bit 0, 1, 2, 3 represent led 0, 1, 2, 3
64
65 #ifdef BLINK_LEDS
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
66 static HalLedStatus_t HalLedStatusControl;
\ ??HalLedStatusControl:
\ 000000 DS 37
67 #endif
68
69 /***************************************************************************************************
70 * LOCAL FUNCTION
71 ***************************************************************************************************/
72 #if (HAL_LED == TRUE)
73 void HalLedUpdate (void);
74 void HalLedOnOff (uint8 leds, uint8 mode);
75 #endif /* HAL_LED */
76
77 /***************************************************************************************************
78 * FUNCTIONS - API
79 ***************************************************************************************************/
80
81 /***************************************************************************************************
82 * @fn HalLedInit
83 *
84 * @brief Initialize LED Service
85 *
86 * @param init - pointer to void that contains the initialized value
87 *
88 * @return None
89 ***************************************************************************************************/
\ In segment BANKED_CODE, align 1, keep-with-next
90 void HalLedInit (void)
\ HalLedInit:
91 {
\ 000000 C082 PUSH DPL
\ 000002 C083 PUSH DPH
\ 000004 ; Saved register size: 2
\ 000004 ; Auto size: 0
92 #if (HAL_LED == TRUE)
93 /* Initialize all LEDs to OFF */
94 HalLedSet (HAL_LED_ALL, HAL_LED_MODE_OFF);
\ 000004 ; Setup parameters for call to function HalLedSet
\ 000004 7A00 MOV R2,#0x0
\ 000006 790F MOV R1,#0xf
\ 000008 90.... MOV DPTR,#(HalLedSet & 0xffff)
\ 00000B 74.. MOV A,#((HalLedSet >> 16) & 0xff)
\ 00000D 02.... LJMP ?Subroutine10 & 0xFFFF
95 /* Initialize sleepActive to FALSE */
96 HalLedStatusControl.sleepActive = FALSE;
97 #endif /* HAL_LED */
98 }
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine10:
\ 000000 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000003 E4 CLR A
\ 000004 90.... MOV DPTR,#(??HalLedStatusControl + 36)
\ ??Subroutine10_0:
\ 000007 F0 MOVX @DPTR,A
\ ??Subroutine10_1:
\ 000008 D083 POP DPH
\ 00000A D082 POP DPL
\ 00000C 02.... LJMP ?BRET
99
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -