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

📄 ref_node.lst

📁 zigbee location examples
💻 LST
📖 第 1 页 / 共 5 页
字号:
    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();
    126          #endif
    127          
    128             SET_BUFFER_EMPTY();
   \   000054   E4           CLR     A
   \   000055   90....       MOV     DPTR,#buffer
   \   000058   F0           MOVX    @DPTR,A
    129          
    130             WDT_SET_TIMEOUT_PERIOD(SEC_1);
   \   000059   53C9FC       ANL     0xc9,#0xfc
   \   00005C   E5C9         MOV     A,0xc9
   \   00005E   85C9C9       MOV     0xc9,0xc9
    131             WDT_ENABLE();
   \   000061   43C908       ORL     0xc9,#0x8
   \   000064   02....       LJMP    ??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) ) )
   \                     ??RunRefNode_4:
   \   000067   85..82       MOV     DPL,?XSP + 0
   \   00006A   85..83       MOV     DPH,?XSP + 1
   \   00006D   78..         MOV     R0,#?V0 + 4
   \   00006F   12....       LCALL   ?L_MOV_X
   \   000072   78..         MOV     R0,#?V0 + 4
   \   000074   79..         MOV     R1,#?V0 + 0
   \   000076   12....       LCALL   ?UL_GT
   \   000079   5076         JNC     ??RunRefNode_5
   \   00007B   7404         MOV     A,#0x4
   \   00007D   12....       LCALL   ?XSTACK_DISP0_8
   \   000080   78..         MOV     R0,#?V0 + 4
   \   000082   12....       LCALL   ?L_MOV_X
   \   000085   78..         MOV     R0,#?V0 + 4
   \   000087   79..         MOV     R1,#?V0 + 0
   \   000089   12....       LCALL   ?UL_GT
   \   00008C   5063         JNC     ??RunRefNode_5
   \   00008E   7404         MOV     A,#0x4
   \   000090   12....       LCALL   ?XSTACK_DISP0_8
   \   000093   C082         PUSH    DPL
   \   000095   C083         PUSH    DPH
   \   000097   85..82       MOV     DPL,?XSP + 0
   \   00009A   85..83       MOV     DPH,?XSP + 1
   \   00009D   78..         MOV     R0,#?V0 + 4
   \   00009F   12....       LCALL   ?L_MOV_X
   \   0000A2   D083         POP     DPH
   \   0000A4   D082         POP     DPL
   \   0000A6   78..         MOV     R0,#?V0 + 4
   \   0000A8   12....       LCALL   ?UL_GT_X
   \   0000AB   5044         JNC     ??RunRefNode_5
    185                {
    186                   SendPosition(PC_SHORT);
   \                     ??RunRefNode_6:
   \   0000AD                ; Setup parameters for call to function SendPosition
   \   0000AD   7A34         MOV     R2,#0x34
   \   0000AF   7B12         MOV     R3,#0x12
   \   0000B1   90....       MOV     DPTR,#(SendPosition & 0xffff)
   \   0000B4   74..         MOV     A,#((SendPosition >> 16) & 0xff)
   \   0000B6   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    187                   msgTimerValue = sleepTimerValue;
   \   0000B9   7404         MOV     A,#0x4
   \   0000BB   12....       LCALL   ?XSTACK_DISP0_8
   \   0000BE   78..         MOV     R0,#?V0 + 0
   \   0000C0   12....       LCALL   ?L_MOV_X
   \   0000C3   85..82       MOV     DPL,?XSP + 0
   \   0000C6   85..83       MOV     DPH,?XSP + 1
   \   0000C9   78..         MOV     R0,#?V0 + 0
   \   0000CB   12....       LCALL   ?L_MOV_TO_X
    188                   msgTimerValueNextSend = msgTimerValue + (UINT32)REF_NODE_MSG_INTERVALL;
    189                   msgTimerValueNextSend &= ~0xFF000000;
   \   0000CE   85..82       MOV     DPL,?XSP + 0
   \   0000D1   85..83       MOV     DPH,?XSP + 1
   \   0000D4   C082         PUSH    DPL
   \   0000D6   C083         PUSH    DPH
   \   0000D8   90....       MOV     DPTR,#__Constant_28488
   \   0000DB   78..         MOV     R0,#?V0 + 0
   \   0000DD   12....       LCALL   ?L_MOV_X
   \   0000E0   D083         POP     DPH
   \   0000E2   D082         POP     DPL
   \   0000E4   78..         MOV     R0,#?V0 + 0
   \   0000E6   12....       LCALL   ?L_ADD_X
   \   0000E9   90....       MOV     DPTR,#__Constant_ffffff
   \   0000EC   78..         MOV     R0,#?V0 + 0
   \   0000EE   12....       LCALL   ?L_AND_X
    190                }
    191          
    192                if(refNodeState == AWAKE_STATE)
   \                     ??RunRefNode_5:
   \   0000F1   90....       MOV     DPTR,#refNodeState
   \   0000F4   E0           MOVX    A,@DPTR
   \   0000F5   600D         JZ      ??RunRefNode_3
    193                {
    194          #if defined CC2430EB && defined USE_LED
    195                   LED3 = LED_ON;
    196          #elif defined CC2430DB && defined USE_LED
    197                   LED2 = LED_ON;
    198          #endif
    199                }
    200                else if(refNodeState == SLEEP_STATE)
   \   0000F7   6401         XRL     A,#0x1
   \   0000F9   7009         JNZ     ??RunRefNode_3
    201                {
    202          #if defined CC2430EB  && defined USE_LED
    203                   LED3 = LED_OFF;
    204          #elif defined CC2430DB && defined USE_LED
    205                   LED2 = LED_OFF;
    206          #endif
    207          
    208          #ifdef USE_PM
    209                   // Go to sleep
    210                   mpmSetAndResumeMacAndCpuPowerMode (POWER_MODE_PM2, RESUME_MODE_PARTS_PRESERVED, FALSE);
   \   0000FB                ; Setup parameters for call to function mpmSetAndResumeMacAndCpuPowerMode
   \   0000FB   7B00         MOV     R3,#0x0
   \   0000FD   7A01         MOV     R2,#0x1
   \   0000FF   7901         MOV     R1,#0x1
   \   000101   12....       LCALL   mpmSetAndResumeMacAndCpuPowerMode
    211          #endif
    212                }
   \                     ??RunRefNode_3:
   \   000104   740F         MOV     A,#0xf
   \   000106   55C9         ANL     A,0xc9
   \   000108   44A0         ORL     A,#0xa0
   \   00010A   F5C9         MOV     0xc9,A
   \   00010C   740F         MOV     A,#0xf
   \   00010E   55C9         ANL     A,0xc9
   \   000110   4450         ORL     A,#0x50
   \   000112   F5C9         MOV     0xc9,A
   \   000114   90....       MOV     DPTR,#msgReceived
   \   000117   E0           MOVX    A,@DPTR
   \   000118   604B         JZ      ??RunRefNode_7
   \   00011A   E4           CLR     A
   \   00011B   F0           MOVX    @DPTR,A
   \   00011C   90....       MOV     DPTR,#(buffer + 27)
   \   00011F   E0           MOVX    A,@DPTR
   \   000120   6411         XRL     A,#0x11
   \   000122   703C         JNZ     ??RunRefNode_8
   \   000124   90....       MOV     DPTR,#x
   \   000127   E0           MOVX    A,@DPTR
   \   000128   64FF         XRL     A,#0xff
   \   00012A   7004         JNZ     ??RunRefNode_9
   \   00012C   A3           INC     DPTR
   \   00012D   E0           MOVX    A,@DPTR
   \   00012E   64FF         XRL     A,#0xff
   \                     ??RunRefNode_9:
   \   000130   700E         JNZ     ??RunRefNode_10
   \   000132   90....       MOV     DPTR,#y
   \   000135   E0           MOVX    A,@DPTR
   \   000136   64FF         XRL     A,#0xff
   \   000138   7004         JNZ     ??RunRefNode_11
   \   00013A   A3           INC     DPTR
   \   00013B   E0           MOVX    A,@DPTR
   \   00013C   64FF         XRL     A,#0xff
   \                     ??RunRefNode_11:
   \   00013E   6020         JZ      ??RunRefNode_8
   \                     ??RunRefNode_10:
   \   000140   C290         CLR     0x90.0
   \   000142                ; Setup parameters for call to function SendPosition
   \   000142   90....       MOV     DPTR,#(buffer + 4)
   \   000145   E0           MOVX    A,@DPTR
   \   000146   FA           MOV     R2,A

⌨️ 快捷键说明

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