⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 blind_node.s51

📁 zigbee location examples
💻 S51
📖 第 1 页 / 共 5 页
字号:
//////////////////////////////////////////////////////////////////////////////
//                                                                           /
// IAR 8051 C/C++ Compiler V7.20H/W32                  16/Jan/2007  15:33:10 /
// 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:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Eng /
//                          ine\apps\blind_node.c                            /
//    Command line       =  -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\SRC\LIB\" -I "C:\Program Files\IAR  /
//                          Systems\Embedded Workbench 4.05 Evaluation       /
//                          version\8051\INC\CLIB\" -I                       /
//                          E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Eng /
//                          ine\Test\mac\mac_loc\..\..\..\include\ -I        /
//                          E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Eng /
//                          ine\Test\mac\mac_loc\..\..\..\include\mac\cc2430 /
//                          \ -I E:\公司产品资料\Zigbee\cc2431\cc2431定位\LO /
//                          C_Engine\Test\mac\mac_loc\..\..\..\include\hal\c /
//                          c2430\ -I E:\公司产品资料\Zigbee\cc2431\cc2431定 /
//                          位\LOC_Engine\Test\mac\mac_loc\..\..\..\apps\    /
//                          -D USE_LED -D SOC_BB -lCN                        /
//                          "E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_En /
//                          gine\Test\mac\mac_loc\SOC_BB, hex\List\" -lA     /
//                          "E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_En /
//                          gine\Test\mac\mac_loc\SOC_BB, hex\List\" -o      /
//                          "E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_En /
//                          gine\Test\mac\mac_loc\SOC_BB, hex\Obj\" -e -s9   /
//                          --debug --core=plain --dptr=16,1                 /
//                          --data_model=large --code_model=banked           /
//                          --calling_convention=xdata_reentrant             /
//                          --place_constants=data --nr_virtual_regs 8       /
//                          E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Eng /
//                          ine\apps\blind_node.c                            /
//    List file          =  E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Eng /
//                          ine\Test\mac\mac_loc\SOC_BB,                     /
//                          hex\List\blind_node.s51                          /
//                                                                           /
//                                                                           /
//////////////////////////////////////////////////////////////////////////////

        NAME blind_node

        RTMODEL "__calling_convention", "xdata_reentrant"
        RTMODEL "__code_model", "banked"
        RTMODEL "__core", "plain"
        RTMODEL "__data_model", "large"
        RTMODEL "__dptr_size", "16"
        RTMODEL "__extended_stack", "disabled"
        RTMODEL "__location_for_constants", "data"
        RTMODEL "__number_of_dptrs", "1"
        RTMODEL "__rt_version", "1"

        RSEG DOVERLAY:DATA:NOROOT(0)
        RSEG IOVERLAY:IDATA:NOROOT(0)
        RSEG ISTACK:IDATA:NOROOT(0)
        RSEG PSTACK:XDATA:NOROOT(0)
        RSEG XSTACK:XDATA:NOROOT(0)

        EXTERN ?ALLOC_XSTACK8
        EXTERN ?BANKED_ENTER_XDATA
        EXTERN ?BANKED_LEAVE_XDATA
        EXTERN ?BCALL
        EXTERN ?BRET
        EXTERN ?DEALLOC_XSTACK8
        EXTERN ?FLT_MUL
        EXTERN ?FLT_TO_L
        EXTERN ?L_MOV_X
        EXTERN ?PUSH_XSTACK_I_TWO
        EXTERN ?S_SHL
        EXTERN ?UC_SWITCH_DENSE
        EXTERN ?UL_TO_FLT
        EXTERN ?US_SHR
        EXTERN ?V0
        EXTERN ?XSP
        EXTERN ?XSTACK_DISP0_8
        EXTERN __INIT_XDATA_I
        EXTERN __INIT_XDATA_Z

        PUBLIC CalculatePosition
        FUNCTION CalculatePosition,0203H
        ARGFRAME XSTACK, 29, STACK
        LOCFRAME ISTACK, 1, STACK
        LOCFRAME XSTACK, 12, STACK
        PUBLIC CalculateUpperLeft
        FUNCTION CalculateUpperLeft,0203H
        ARGFRAME XSTACK, 31, STACK
        LOCFRAME ISTACK, 1, STACK
        LOCFRAME XSTACK, 12, STACK
        PUBLIC ChooseNodesToUse
        FUNCTION ChooseNodesToUse,0203H
        ARGFRAME XSTACK, 25, STACK
        LOCFRAME XSTACK, 10, STACK
        PUBLIC CreateInputArrayToLocEngine
        FUNCTION CreateInputArrayToLocEngine,021203H
        ARGFRAME XSTACK, 25, STACK
        LOCFRAME ISTACK, 1, STACK
        LOCFRAME XSTACK, 20, STACK
        PUBLIC DiscardResult
        FUNCTION DiscardResult,0203H
        ARGFRAME XSTACK, 25, STACK
        LOCFRAME XSTACK, 9, STACK
        PUBLIC HandleBCastReply
        FUNCTION HandleBCastReply,021203H
        ARGFRAME XSTACK, 25, STACK
        LOCFRAME XSTACK, 20, STACK
        PUBLIC IEN2
IEN2    EQU 0
        PUBLIC ReqSignals
        FUNCTION ReqSignals,021203H
        ARGFRAME XSTACK, 25, STACK
        LOCFRAME ISTACK, 3, STACK
        LOCFRAME XSTACK, 1, STACK
        PUBLIC RunBlindNode
        FUNCTION RunBlindNode,0a1203H
        LOCFRAME XSTACK, 31, STACK
        PUBLIC S1CON
S1CON   EQU 0
        PUBLIC ST_IRQ_BlindNode
        FUNCTION ST_IRQ_BlindNode,0a1203H
        LOCFRAME ISTACK, 2, STACK
        PUBLIC SendConfiguration
        FUNCTION SendConfiguration,021203H
        ARGFRAME XSTACK, 25, STACK
        LOCFRAME ISTACK, 3, STACK
        LOCFRAME XSTACK, 8, STACK
        PUBLIC SendDebugInfo
        FUNCTION SendDebugInfo,021203H
        ARGFRAME XSTACK, 25, STACK
        LOCFRAME ISTACK, 1, STACK
        LOCFRAME XSTACK, 35, STACK
        PUBLIC SetupBlindNode
        FUNCTION SetupBlindNode,080203H
        LOCFRAME ISTACK, 3, STACK
        PUBWEAK WDCTL
        PUBWEAK _A_IEN0
        PUBLIC _A_IEN1
_A_IEN1 EQU 0
        PUBWEAK _A_IRCON
        PUBLIC _A_IRCON2
_A_IRCON2 EQU 0
        PUBWEAK _A_P1
        PUBLIC _A_S0CON
_A_S0CON EQU 0
        PUBLIC _A_TCON
_A_TCON EQU 0
        PUBWEAK __Constant_3f6b851f
        PUBLIC a_val
        PUBLIC blindNodeState
        PUBLIC n_index
        PUBLIC nbrOfBCastReplys
        PUBLIC nbrOfReqTimeOuts
        PUBLIC nbrOfRetries
        PUBLIC refNodes
        PUBLIC refNodesForCalculation
        PUBLIC refNodesUsable
        
        CFI Names cfiNames0
        CFI StackFrame CFA_SP SP DATA
        CFI StackFrame CFA_PSP16 PSP16 XDATA
        CFI StackFrame CFA_XSP16 XSP16 XDATA
        CFI StaticOverlayFrame CFA_IOVERLAY IOVERLAY
        CFI StaticOverlayFrame CFA_DOVERLAY DOVERLAY
        CFI Resource `PSW.CY`:1, `B.BR0`:1, `B.BR1`:1, `B.BR2`:1, `B.BR3`:1
        CFI Resource `B.BR4`:1, `B.BR5`:1, `B.BR6`:1, `B.BR7`:1, `VB.BR8`:1
        CFI Resource `VB.BR9`:1, `VB.BR10`:1, `VB.BR11`:1, `VB.BR12`:1
        CFI Resource `VB.BR13`:1, `VB.BR14`:1, `VB.BR15`:1, VB:8, B:8, A:8
        CFI Resource PSW:8, DPL0:8, DPH0:8, R0:8, R1:8, R2:8, R3:8, R4:8, R5:8
        CFI Resource R6:8, R7:8, V0:8, V1:8, V2:8, V3:8, V4:8, V5:8, V6:8, V7:8
        CFI Resource SP:8, PSPH:8, PSPL:8, PSP16:16, XSPH:8, XSPL:8, XSP16:16
        CFI VirtualResource ?RET:24
        CFI Resource ?BRET_EXT:8
        CFI VirtualResource ?RET_HIGH:8, ?RET_LOW:8
        CFI ResourceParts PSP16 PSPH, PSPL
        CFI ResourceParts XSP16 XSPH, XSPL
        CFI ResourceParts ?RET ?BRET_EXT, ?RET_HIGH, ?RET_LOW
        CFI EndNames cfiNames0
        
        CFI Common cfiCommon0 Using cfiNames0
        CFI CodeAlign 1
        CFI DataAlign -1
        CFI ReturnAddress ?RET CODE
        CFI CFA_DOVERLAY Used
        CFI CFA_IOVERLAY Used
        CFI CFA_SP SP+-3
        CFI CFA_PSP16 PSP16+0
        CFI CFA_XSP16 XSP16+0
        CFI `PSW.CY` SameValue
        CFI `B.BR0` SameValue
        CFI `B.BR1` SameValue
        CFI `B.BR2` SameValue
        CFI `B.BR3` SameValue
        CFI `B.BR4` SameValue
        CFI `B.BR5` SameValue
        CFI `B.BR6` SameValue
        CFI `B.BR7` SameValue
        CFI `VB.BR8` SameValue
        CFI `VB.BR9` SameValue
        CFI `VB.BR10` SameValue
        CFI `VB.BR11` SameValue
        CFI `VB.BR12` SameValue
        CFI `VB.BR13` SameValue
        CFI `VB.BR14` SameValue
        CFI `VB.BR15` SameValue
        CFI VB SameValue
        CFI B Undefined
        CFI A Undefined
        CFI PSW SameValue
        CFI DPL0 SameValue
        CFI DPH0 SameValue
        CFI R0 Undefined
        CFI R1 Undefined
        CFI R2 Undefined
        CFI R3 Undefined
        CFI R4 Undefined
        CFI R5 Undefined
        CFI R6 SameValue
        CFI R7 SameValue
        CFI V0 SameValue
        CFI V1 SameValue
        CFI V2 SameValue
        CFI V3 SameValue
        CFI V4 SameValue
        CFI V5 SameValue
        CFI V6 SameValue
        CFI V7 SameValue
        CFI PSPH Undefined
        CFI PSPL Undefined
        CFI XSPH Undefined
        CFI XSPL Undefined
        CFI ?RET Concat
        CFI ?BRET_EXT Frame(CFA_SP, 3)
        CFI ?RET_HIGH Frame(CFA_SP, 2)
        CFI ?RET_LOW Frame(CFA_SP, 1)
        CFI EndCommon cfiCommon0
        
        EXTERN SendText
        FUNCTION SendText,0202H
        ARGFRAME XSTACK, 35, STACK
        EXTERN memset
        FUNCTION memset,010202H
        ARGFRAME XSTACK, 27, STACK
        EXTERN AddToSleepTimer
        FUNCTION AddToSleepTimer,0202H
        ARGFRAME ISTACK, 2, STACK
        ARGFRAME XSTACK, 25, STACK
        EXTERN SendPosition
        FUNCTION SendPosition,0202H
        ARGFRAME XSTACK, 25, STACK
        EXTERN mpmSetAndResumeMacAndCpuPowerMode
        FUNCTION mpmSetAndResumeMacAndCpuPowerMode,0202H
        ARGFRAME XSTACK, 25, STACK
        EXTERN memmove
        FUNCTION memmove,010202H
        ARGFRAME XSTACK, 20, STACK
        EXTERN DataRequest
        FUNCTION DataRequest,0202H
        ARGFRAME ISTACK, 2, STACK
        ARGFRAME XSTACK, 8, STACK
        EXTERN blinkLed
        EXTERN buffer
        EXTERN ledBlinkCounter
        EXTERN msgReceived
        EXTERN parametersReceived
        EXTERN x
        EXTERN y

// E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engine\apps\blind_node.c
//    1 /******************************************************************************
//    2 *                                                                             *
//    3 *        **********                                                           *
//    4 *       ************                                                          *
//    5 *      ***        ***                                                         *
//    6 *     ***    ++    ***                                                        *
//    7 *     ***   +  +   ***                      CHIPCON                           *
//    8 *     ***   +                                                                 *
//    9 *     ***   +  +   ***                                                        *
//   10 *     ***    ++    ***                                                        *
//   11 *      ***        ***                                                         *
//   12 *       ************                                                          *
//   13 *        **********                                                           *
//   14 *                                                                             *
//   15 *******************************************************************************
//   16 
//   17 Filename:     blindNode.c
//   18 Target:       cc2431
//   19 Author:       KJA
//   20 Revised:      14/02-2005
//   21 Revision:     1.0
//   22 
//   23 Description:
//   24 This file contains the main function used for blind node.
//   25 
//   26 ******************************************************************************/
//   27 
//   28 #include "mac_headers.h"

        ASEGN SFR_AN:DATA:NOROOT,0c9H
// unsigned char volatile __sfr WDCTL
WDCTL:
        DS 1
//   29 #include "node.h"
//   30 #include "ioCC2431.h"
//   31 #ifdef CC2430EB
//   32 #include "lcd.h"
//   33 #endif
//   34 // flags
//   35 extern BOOL msgReceived;
//   36 
//   37 // counters

        RSEG XDATA_Z:XDATA:NOROOT(0)
        REQUIRE __INIT_XDATA_Z
//   38 UINT8 nbrOfBCastReplys, nbrOfRetries, nbrOfReqTimeOuts;
nbrOfBCastReplys:
        DS 1

        RSEG XDATA_Z:XDATA:NOROOT(0)
        REQUIRE __INIT_XDATA_Z
nbrOfRetries:
        DS 1

        RSEG XDATA_Z:XDATA:NOROOT(0)
        REQUIRE __INIT_XDATA_Z
nbrOfReqTimeOuts:
        DS 1
//   39 
//   40 // node parameters
//   41 extern MSG_BUFFER buffer;
//   42 extern UINT16_2   x;
//   43 extern UINT16_2   y;
//   44 extern UINT8      z;
//   45 extern BOOL       parametersReceived;
//   46 extern BOOL       blinkLed;
//   47 extern UINT8      ledBlinkCounter;
//   48 

        RSEG XDATA_Z:XDATA:NOROOT(0)
        REQUIRE __INIT_XDATA_Z
//   49 UINT8_1     a_val;
a_val:
        DS 1

        RSEG XDATA_Z:XDATA:NOROOT(0)
        REQUIRE __INIT_XDATA_Z
//   50 UINT8       n_index;
n_index:
        DS 1
//   51 
//   52 /* Buffer for storing of received data from ref. nodes */

        RSEG XDATA_N:XDATA:REORDER:NOROOT(0)
//   53 __no_init RAW_REF_NODE_S refNodesForCalculation[LOC_ENGINE_NODE_CAPACITY];
refNodesForCalculation:
        DS 64
//   54 
//   55 /* Short address to all nodes that should be used will be placed in this struct */

        RSEG XDATA_N:XDATA:REORDER:NOROOT(0)
//   56 __no_init WORD refNodesUsable[LOC_ENGINE_NODE_CAPACITY];
refNodesUsable:
        DS 16
//   57 
//   58 /* Buffer used as input to location engine */

        RSEG XDATA_N:XDATA:REORDER:NOROOT(0)
//   59 __no_init LOC_REF_NODE_S refNodes[LOC_ENGINE_NODE_CAPACITY];
refNodes:
        DS 24
//   60 
//   61 
//   62 enum {
//   63    INIT_BCAST,
//   64    BCAST_REQUEST,
//   65    RECEIVE_BCAST_REPLY,
//   66    CHECK_REPLIES,
//   67    SETUP_DATA_COLLECTING,
//   68    REQUEST_REF_NODE_PACKET,
//   69    RECEIVE_REF_NODES_PACKET,
//   70    ESTIMATE_LOCATION,
//   71    SLEEP_STATE,
//   72    BLINK_LED_STATE

        RSEG XDATA_Z:XDATA:NOROOT(0)
        REQUIRE __INIT_XDATA_Z
//   73 } blindNodeState;
blindNodeState:
        DS 1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -