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

📄 ref_node.lst

📁 zigbee location examples
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   000018   12....       LCALL   setUpDmaToFlash
    104          
    105             if(resetCoordinates){
   \   00001B   EE           MOV     A,R6
   \   00001C   6014         JZ      ??RunRefNode_0
    106                x = y = UNINITIALIZED_XY_VALUE;
   \                     ??RunRefNode_1:
   \   00001E   90....       MOV     DPTR,#y
   \   000021   74FF         MOV     A,#-0x1
   \   000023   F0           MOVX    @DPTR,A
   \   000024   A3           INC     DPTR
   \   000025   F0           MOVX    @DPTR,A
   \   000026   90....       MOV     DPTR,#x
   \   000029   F0           MOVX    @DPTR,A
   \   00002A   A3           INC     DPTR
   \   00002B   F0           MOVX    @DPTR,A
    107                z = UNINITIALIZED_Z_VALUE;
   \   00002C   90....       MOV     DPTR,#z
   \   00002F   F0           MOVX    @DPTR,A
   \   000030   8006         SJMP    ??RunRefNode_2
    108             }
    109             else{
    110                if( !getCoordinates() )
   \                     ??RunRefNode_0:
   \   000032                ; Setup parameters for call to function getCoordinates
   \   000032   12....       LCALL   getCoordinates
   \   000035   E9           MOV     A,R1
   \   000036   60E6         JZ      ??RunRefNode_1
    111                {
    112                   x = y = UNINITIALIZED_XY_VALUE;
    113                   z = UNINITIALIZED_Z_VALUE;
    114                }
    115             }
    116          
    117             // Setting up to sleep at the appropriate time
    118             refNodeState = AWAKE_STATE;
   \                     ??RunRefNode_2:
   \   000038   E4           CLR     A
   \   000039   90....       MOV     DPTR,#refNodeState
   \   00003C   F0           MOVX    @DPTR,A
    119             AddToSleepTimer(REF_NODE_POWER_UP_TIME);
   \   00003D                ; Setup parameters for call to function AddToSleepTimer
   \   00003D   7AFA         MOV     R2,#-0x6
   \   00003F   FB           MOV     R3,A
   \   000040   90....       MOV     DPTR,#(AddToSleepTimer & 0xffff)
   \   000043   74..         MOV     A,#((AddToSleepTimer >> 16) & 0xff)
   \   000045   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    120             INT_SETFLAG(INUM_ST, INT_CLR);
   \   000048   C2C7         CLR     0xc0.7
    121             INT_ENABLE(INUM_ST, INT_ON);
   \   00004A   D2AD         SETB    0xa8.5
    122             msgTimerValueNextSend = 0;
   \   00004C   90....       MOV     DPTR,#__Constant_0
   \   00004F   78..         MOV     R0,#?V0 + 0
   \   000051   12....       LCALL   ?L_MOV_X
    123          
    124          #ifdef CC2430EB
    125             PrintXY();
   \   000054                ; Setup parameters for call to function PrintXY
   \   000054   90....       MOV     DPTR,#(PrintXY & 0xffff)
   \   000057   74..         MOV     A,#((PrintXY >> 16) & 0xff)
   \   000059   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    126          #endif
    127          
    128             SET_BUFFER_EMPTY();
   \   00005C   E4           CLR     A
   \   00005D   90....       MOV     DPTR,#buffer
   \   000060   F0           MOVX    @DPTR,A
    129          
    130             WDT_SET_TIMEOUT_PERIOD(SEC_1);
   \   000061   53C9FC       ANL     0xc9,#0xfc
   \   000064   E5C9         MOV     A,0xc9
   \   000066   85C9C9       MOV     0xc9,0xc9
    131             WDT_ENABLE();
   \   000069   43C908       ORL     0xc9,#0x8
   \   00006C   8002         SJMP    ??RunRefNode_3
    132          
    133             while(TRUE) {
    134                WDT_RESET();
    135          
    136                if (msgReceived){
    137                   msgReceived = FALSE;
    138                   packetType = buffer.b.pMsdu[PACKET_INDEX_TYPE];
    139          
    140                   if (packetType == PACKET_TYPE_BLIND_NODE_REQ_SIGNAL){
    141                      if( x != UNINITIALIZED_XY_VALUE || y != UNINITIALIZED_XY_VALUE)
    142                      {
    143          #ifdef USE_LED
    144                         LED1 = LED_ON;
    145          #endif
    146                         SendPosition(buffer.b.srcAddr.Short);
    147          #ifdef USE_LED
    148                         LED1 = LED_OFF;
    149          #endif
    150                         // Avoiding to be in Power Down next time a packet is for me by increasing awake time
    151                         AddToSleepTimer(REF_NODE_EXTENSION_UP_TIME);
    152                      }
    153                   }
    154                   SET_BUFFER_EMPTY();
    155                }
    156          
    157                // Check if xyz coordinates are to be written to FLASH
    158                if(parametersReceived){
    159                   INT_ENABLE(INUM_ST, INT_OFF);
    160                   parametersReceived = FALSE;
    161                   SendPosition(PC_SHORT);
    162          
    163                   storeCoordinates();
    164          #ifdef CC2430EB
    165                   PrintXY();
    166          #endif
    167                   INT_SETFLAG(INUM_ST, INT_CLR);
    168                   INT_ENABLE(INUM_ST, INT_ON);
    169                   AddToSleepTimer(REF_NODE_EXTENSION_UP_TIME);
    170                }
    171          
    172                // Check if a blink led message is received
    173                if (blinkLed){
    174                   blinkLed = FALSE;
    175                   LED1 = LED_ON;
    176                   ledBlinkCounter = 0;
    177                   refNodeState = BLINK_LED_STATE;
    178                }
    179          
    180                // Check if the node should send a message to PC
    181                GetSleepTimer(&sleepTimerValue);
    182                if( ( (msgTimerValue < msgTimerValueNextSend) && (sleepTimerValue > msgTimerValueNextSend) ) ||
    183                    ( (msgTimerValue < msgTimerValueNextSend) && (sleepTimerValue < msgTimerValue        ) ) ||
    184                    ( (msgTimerValueNextSend < msgTimerValue) && (sleepTimerValue > msgTimerValueNextSend) && (sleepTimerValue < msgTimerValue) ) )
    185                {
    186                   SendPosition(PC_SHORT);
    187                   msgTimerValue = sleepTimerValue;
    188                   msgTimerValueNextSend = msgTimerValue + (UINT32)REF_NODE_MSG_INTERVALL;
    189                   msgTimerValueNextSend &= ~0xFF000000;
    190                }
    191          
    192                if(refNodeState == AWAKE_STATE)
    193                {
    194          #if defined CC2430EB && defined USE_LED
    195                   LED3 = LED_ON;
   \                     ??RunRefNode_4:
   \   00006E   C293         CLR     0x90.3
    196          #elif defined CC2430DB && defined USE_LED
    197                   LED2 = LED_ON;
    198          #endif
    199                }
   \                     ??RunRefNode_3:
   \   000070   740F         MOV     A,#0xf
   \   000072   55C9         ANL     A,0xc9
   \   000074   44A0         ORL     A,#0xa0
   \   000076   F5C9         MOV     0xc9,A
   \   000078   740F         MOV     A,#0xf
   \   00007A   55C9         ANL     A,0xc9
   \   00007C   4450         ORL     A,#0x50
   \   00007E   F5C9         MOV     0xc9,A
   \   000080   90....       MOV     DPTR,#msgReceived
   \   000083   E0           MOVX    A,@DPTR
   \   000084   604B         JZ      ??RunRefNode_5
   \   000086   E4           CLR     A
   \   000087   F0           MOVX    @DPTR,A
   \   000088   90....       MOV     DPTR,#(buffer + 27)
   \   00008B   E0           MOVX    A,@DPTR
   \   00008C   6411         XRL     A,#0x11
   \   00008E   703C         JNZ     ??RunRefNode_6
   \   000090   90....       MOV     DPTR,#x
   \   000093   E0           MOVX    A,@DPTR
   \   000094   64FF         XRL     A,#0xff
   \   000096   7004         JNZ     ??RunRefNode_7
   \   000098   A3           INC     DPTR
   \   000099   E0           MOVX    A,@DPTR
   \   00009A   64FF         XRL     A,#0xff
   \                     ??RunRefNode_7:
   \   00009C   700E         JNZ     ??RunRefNode_8
   \   00009E   90....       MOV     DPTR,#y
   \   0000A1   E0           MOVX    A,@DPTR
   \   0000A2   64FF         XRL     A,#0xff
   \   0000A4   7004         JNZ     ??RunRefNode_9
   \   0000A6   A3           INC     DPTR
   \   0000A7   E0           MOVX    A,@DPTR
   \   0000A8   64FF         XRL     A,#0xff
   \                     ??RunRefNode_9:
   \   0000AA   6020         JZ      ??RunRefNode_6
   \                     ??RunRefNode_8:
   \   0000AC   C290         CLR     0x90.0
   \   0000AE                ; Setup parameters for call to function SendPosition
   \   0000AE   90....       MOV     DPTR,#(buffer + 4)
   \   0000B1   E0           MOVX    A,@DPTR
   \   0000B2   FA           MOV     R2,A
   \   0000B3   A3           INC     DPTR
   \   0000B4   E0           MOVX    A,@DPTR
   \   0000B5   FB           MOV     R3,A
   \   0000B6   90....       MOV     DPTR,#(SendPosition & 0xffff)
   \   0000B9   74..         MOV     A,#((SendPosition >> 16) & 0xff)
   \   0000BB   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   0000BE   D290         SETB    0x90.0
   \   0000C0                ; Setup parameters for call to function AddToSleepTimer
   \   0000C0   7AEE         MOV     R2,#-0x12
   \   0000C2   7B02         MOV     R3,#0x2
   \   0000C4   90....       MOV     DPTR,#(AddToSleepTimer & 0xffff)
   \   0000C7   74..         MOV     A,#((AddToSleepTimer >> 16) & 0xff)
   \   0000C9   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \                     ??RunRefNode_6:
   \   0000CC   E4           CLR     A
   \   0000CD   90....       MOV     DPTR,#buffer
   \   0000D0   F0           MOVX    @DPTR,A
   \                     ??RunRefNode_5:
   \   0000D1   90....       MOV     DPTR,#parametersReceived
   \   0000D4   E0           MOVX    A,@DPTR
   \   0000D5   602B         JZ      ??RunRefNode_10
   \   0000D7   C2AD         CLR     0xa8.5
   \   0000D9   E4           CLR     A
   \   0000DA   F0           MOVX    @DPTR,A
   \   0000DB                ; Setup parameters for call to function SendPosition
   \   0000DB   7A34         MOV     R2,#0x34
   \   0000DD   7B12         MOV     R3,#0x12
   \   0000DF   90....       MOV     DPTR,#(SendPosition & 0xffff)
   \   0000E2   74..         MOV     A,#((SendPosition >> 16) & 0xff)
   \   0000E4   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   0000E7                ; Setup parameters for call to function storeCoordinates
   \   0000E7   12....       LCALL   storeCoordinates
   \   0000EA                ; Setup parameters for call to function PrintXY
   \   0000EA   90....       MOV     DPTR,#(PrintXY & 0xffff)
   \   0000ED   74..         MOV     A,#((PrintXY >> 16) & 0xff)
   \   0000EF   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   0000F2   C2C7         CLR     0xc0.7
   \   0000F4   D2AD         SETB    0xa8.5
   \   0000F6                ; Setup parameters for call to function AddToSleepTimer
   \   0000F6   7AEE         MOV     R2,#-0x12
   \   0000F8   7B02         MOV     R3,#0x2
   \   0000FA   90....       MOV     DPTR,#(AddToSleepTimer & 0xffff)
   \   0000FD   74..         MOV     A,#((AddToSleepTimer >> 16) & 0xff)
   \   0000FF   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \                     ??RunRefNode_10:
   \   000102   90....       MOV     DPTR,#blinkLed
   \   000105   E0           MOVX    A,@DPTR
   \   000106   600E         JZ      ??RunRefNode_11
   \   000108   E4           CLR     A
   \   000109   F0           MOVX    @DPTR,A
   \   00010A   C290         CLR     0x90.0
   \   00010C   90....       MOV     DPTR,#ledBlinkCounter
   \   00010F   F0           MOVX    @DPTR,A
   \   000110   7402         MOV     A,#0x2
   \   000112   90....       MOV     DPTR,#refNodeState
   \   000115   F0           MOVX    @DPTR,A
   \                     ??RunRefNode_11:
   \   000116                ; Setup parameters for call to function GetSleepTimer
   \   000116   7404         MOV     A,#0x4
   \   000118   12....       LCALL   ?XSTACK_DISP0_8
   \   00011B   AA82         MOV     R2,DPL
   \   00011D   AB83         MOV     R3,DPH
   \   00011F   90....       MOV     DPTR,#(GetSleepTimer & 0xffff)
   \   000122   74..         MOV     A,#((GetSleepTimer >> 16) & 0xff)
   \   000124   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000127   85..82       MOV     DPL,?XSP + 0
   \   00012A   85..83       MOV     DPH,?XSP + 1
   \   00012D   78..         MOV     R0,#?V0 + 0
   \   00012F   12....       LCALL   ?UL_GT_X
   \   000132   5035         JNC     ??RunRefNode_12
   \   000134   7404         MOV     A,#0x4
   \   000136   12....       LCALL   ?XSTACK_DISP0_8
   \   000139   78..         MOV     R0,#?V0 + 4
   \   00013B   12....       LCALL   ?L_MOV_X
   \   00013E   78..         MOV     R0,#?V0 + 4

⌨️ 快捷键说明

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