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

📄 blind_node.lst

📁 zigbee location examples
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   00004C   74..         MOV     A,#((SendText >> 16) & 0xff)
   \   00004E   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    111          
    112             // enable watch dog timer
    113             WDT_SET_TIMEOUT_PERIOD(SEC_1);
   \   000051   53C9FC       ANL     0xc9,#0xfc
   \   000054   E5C9         MOV     A,0xc9
   \   000056   85C9C9       MOV     0xc9,0xc9
    114             WDT_ENABLE();
   \   000059   43C908       ORL     0xc9,#0x8
   \   00005C   8044         SJMP    ??RunBlindNode_0
    115          
    116             while(TRUE) {
    117                WDT_RESET();
    118          
    119                if(parametersReceived){
    120                   // ack to pc with packet contains A and N
    121                   SendConfiguration();
   \                     ??RunBlindNode_1:
   \   00005E                ; Setup parameters for call to function SendConfiguration
   \   00005E   90....       MOV     DPTR,#(SendConfiguration & 0xffff)
   \   000061   74..         MOV     A,#((SendConfiguration >> 16) & 0xff)
   \   000063   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    122                   parametersReceived = FALSE;
   \   000066   E4           CLR     A
   \   000067   90....       MOV     DPTR,#parametersReceived
   \   00006A   F0           MOVX    @DPTR,A
    123                   // start a new calculation with new parameters
    124                   blindNodeState = INIT_BCAST;
   \   00006B   90....       MOV     DPTR,#blindNodeState
   \   00006E   F0           MOVX    @DPTR,A
    125                }
    126          
    127                switch (blindNodeState){
    128                case INIT_BCAST:
    129                   nbrOfBCastReplys = 0;
   \                     ??RunBlindNode_2:
   \   00006F   E4           CLR     A
   \   000070   90....       MOV     DPTR,#nbrOfBCastReplys
   \   000073   F0           MOVX    @DPTR,A
    130                   nbrOfRetries = 0;
   \   000074   90....       MOV     DPTR,#nbrOfRetries
   \   000077   F0           MOVX    @DPTR,A
    131                   memset(refNodesForCalculation, 0, sizeof(refNodesForCalculation));
   \   000078                ; Setup parameters for call to function memset
   \   000078   75..40       MOV     ?V0 + 2,#0x40
   \   00007B   F5..         MOV     ?V0 + 3,A
   \   00007D   78..         MOV     R0,#?V0 + 2
   \   00007F   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000082   7C00         MOV     R4,#0x0
   \   000084   7D00         MOV     R5,#0x0
   \   000086   7A..         MOV     R2,#(refNodesForCalculation & 0xff)
   \   000088   7B..         MOV     R3,#((refNodesForCalculation >> 8) & 0xff)
   \   00008A   90....       MOV     DPTR,#(memset & 0xffff)
   \   00008D   74..         MOV     A,#((memset >> 16) & 0xff)
   \   00008F   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000092   7402         MOV     A,#0x2
   \   000094   12....       LCALL   ?DEALLOC_XSTACK8
    132                   blindNodeState = BCAST_REQUEST;
   \   000097   7401         MOV     A,#0x1
   \                     ??RunBlindNode_3:
   \   000099   90....       MOV     DPTR,#blindNodeState
   \   00009C   F0           MOVX    @DPTR,A
    133                   SET_BUFFER_EMPTY();
   \                     ??RunBlindNode_4:
   \   00009D   E4           CLR     A
   \   00009E   90....       MOV     DPTR,#buffer
   \                     ??RunBlindNode_5:
   \   0000A1   F0           MOVX    @DPTR,A
   \                     ??RunBlindNode_0:
   \   0000A2   740F         MOV     A,#0xf
   \   0000A4   55C9         ANL     A,0xc9
   \   0000A6   44A0         ORL     A,#0xa0
   \   0000A8   F5C9         MOV     0xc9,A
   \   0000AA   740F         MOV     A,#0xf
   \   0000AC   55C9         ANL     A,0xc9
   \   0000AE   4450         ORL     A,#0x50
   \   0000B0   F5C9         MOV     0xc9,A
   \   0000B2   90....       MOV     DPTR,#parametersReceived
   \   0000B5   E0           MOVX    A,@DPTR
   \   0000B6   70A6         JNZ     ??RunBlindNode_1
   \   0000B8   90....       MOV     DPTR,#blindNodeState
   \   0000BB   E0           MOVX    A,@DPTR
   \   0000BC   12....       LCALL   ?UC_SWITCH_DENSE
   \                     `?<Jumptable for RunBlindNode>_0`:
   \   0000BF   00           DB        0
   \   0000C0   09           DB        9
   \   0000C1   ....         DW        ??RunBlindNode_6
   \   0000C3   ....         DW        ??RunBlindNode_2
   \   0000C5   ....         DW        ??RunBlindNode_7
   \   0000C7   ....         DW        ??RunBlindNode_8
   \   0000C9   ....         DW        ??RunBlindNode_9
   \   0000CB   ....         DW        ??RunBlindNode_10
   \   0000CD   ....         DW        ??RunBlindNode_11
   \   0000CF   ....         DW        ??RunBlindNode_12
   \   0000D1   ....         DW        ??RunBlindNode_13
   \   0000D3   ....         DW        ??RunBlindNode_14
   \   0000D5   ....         DW        ??RunBlindNode_14
    134                   break;
    135                case BCAST_REQUEST:
    136          #ifdef USE_LED
    137                   LED1 = LED_ON;
   \                     ??RunBlindNode_7:
   \   0000D7   C290         CLR     0x90.0
    138          #endif
    139                   ReqSignals(BROADCAST_ADDR);
   \   0000D9                ; Setup parameters for call to function ReqSignals
   \   0000D9   7AFF         MOV     R2,#-0x1
   \   0000DB   7BFF         MOV     R3,#-0x1
   \   0000DD   90....       MOV     DPTR,#(ReqSignals & 0xffff)
   \   0000E0   74..         MOV     A,#((ReqSignals >> 16) & 0xff)
   \   0000E2   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    140                   nbrOfRetries++;
   \   0000E5   90....       MOV     DPTR,#nbrOfRetries
   \   0000E8   E0           MOVX    A,@DPTR
   \   0000E9   04           INC     A
   \   0000EA   F0           MOVX    @DPTR,A
    141          
    142                   blindNodeState = RECEIVE_BCAST_REPLY;
   \   0000EB   7402         MOV     A,#0x2
   \   0000ED   90....       MOV     DPTR,#blindNodeState
   \   0000F0   F0           MOVX    @DPTR,A
    143                   AddToSleepTimer(BLIND_NODE_WAIT_FOR_BCAST_REPLY);
   \   0000F1                ; Setup parameters for call to function AddToSleepTimer
   \   0000F1   7A64         MOV     R2,#0x64
   \   0000F3   7B00         MOV     R3,#0x0
   \   0000F5   90....       MOV     DPTR,#(AddToSleepTimer & 0xffff)
   \   0000F8   74..         MOV     A,#((AddToSleepTimer >> 16) & 0xff)
   \   0000FA   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    144                   INT_SETFLAG(INUM_ST, INT_CLR);
   \   0000FD   C2C7         CLR     0xc0.7
    145                   INT_ENABLE(INUM_ST, INT_ON);
   \   0000FF   D2AD         SETB    0xa8.5
    146          #ifdef USE_LED
    147                   LED1 = LED_OFF;
   \   000101   D290         SETB    0x90.0
   \   000103   809D         SJMP    ??RunBlindNode_0
    148          #endif
    149                   break;
    150                case RECEIVE_BCAST_REPLY:
    151                   if (msgReceived)
   \                     ??RunBlindNode_8:
   \   000105   90....       MOV     DPTR,#msgReceived
   \   000108   E0           MOVX    A,@DPTR
   \   000109   6097         JZ      ??RunBlindNode_0
    152                   {
    153                      msgReceived = FALSE;
   \   00010B   E4           CLR     A
   \   00010C   F0           MOVX    @DPTR,A
    154                      packetType = buffer.b.pMsdu[PACKET_INDEX_TYPE];
    155                      if (packetType == PACKET_TYPE_REF_NODE_POSITION)
   \   00010D   90....       MOV     DPTR,#(buffer + 27)
   \   000110   E0           MOVX    A,@DPTR
   \   000111   6412         XRL     A,#0x12
   \   000113   7088         JNZ     ??RunBlindNode_4
    156                      {
    157                         HandleBCastReply(buffer.b.srcAddr.Short, buffer.b.mpduLinkQuality, buffer.b.pMsdu);
   \   000115                ; Setup parameters for call to function HandleBCastReply
   \   000115   7C..         MOV     R4,#((buffer + 27) & 0xff)
   \   000117   7D..         MOV     R5,#(((buffer + 27) >> 8) & 0xff)
   \   000119   90....       MOV     DPTR,#(buffer + 23)
   \   00011C   E0           MOVX    A,@DPTR
   \   00011D   F9           MOV     R1,A
   \   00011E   90....       MOV     DPTR,#(buffer + 4)
   \   000121   E0           MOVX    A,@DPTR
   \   000122   FA           MOV     R2,A
   \   000123   A3           INC     DPTR
   \   000124   E0           MOVX    A,@DPTR
   \   000125   FB           MOV     R3,A
   \   000126   90....       MOV     DPTR,#(HandleBCastReply & 0xffff)
   \   000129   74..         MOV     A,#((HandleBCastReply >> 16) & 0xff)
   \   00012B   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    158                      }
    159                      SET_BUFFER_EMPTY();
   \   00012E   02....       LJMP    ??RunBlindNode_4 & 0xFFFF
    160                   }
    161                   // state transition handled by Sleep Timer
    162                   break;
    163                case CHECK_REPLIES:
    164                   if(nbrOfRetries < MAX_NBR_OF_REQUESTS)
   \                     ??RunBlindNode_9:
   \   000131   90....       MOV     DPTR,#nbrOfRetries
   \   000134   E0           MOVX    A,@DPTR
   \   000135   C3           CLR     C
   \   000136   9408         SUBB    A,#0x8
   \   000138   5008         JNC     ??RunBlindNode_15
    165                   {
    166                      // Do a new broadcast
    167                      blindNodeState = BCAST_REQUEST;
   \   00013A   7401         MOV     A,#0x1
   \                     ??RunBlindNode_16:
   \   00013C   90....       MOV     DPTR,#blindNodeState
   \   00013F   02....       LJMP    ??RunBlindNode_5 & 0xFFFF
    168                   }
    169                   else{
    170                      // Calculate upper left corner of 64x64 square, node with highest RSSI is
    171                      // placed in the midle of this square
    172                      CalculateUpperLeft(&xUpperLeft, &yUpperLeft, &xStrongestNode, &yStrongestNode, &strongestRssi);
   \                     ??RunBlindNode_15:
   \   000142                ; Setup parameters for call to function CalculateUpperLeft
   \   000142   7406         MOV     A,#0x6
   \   000144   12....       LCALL   ?XSTACK_DISP0_8
   \   000147   8582..       MOV     ?V0 + 2,DPL
   \   00014A   8583..       MOV     ?V0 + 3,DPH
   \   00014D   78..         MOV     R0,#?V0 + 2
   \   00014F   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000152   740B         MOV     A,#0xb
   \   000154   12....       LCALL   ?XSTACK_DISP0_8
   \   000157   8582..       MOV     ?V0 + 2,DPL
   \   00015A   8583..       MOV     ?V0 + 3,DPH
   \   00015D   78..         MOV     R0,#?V0 + 2
   \   00015F   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000162   740B         MOV     A,#0xb
   \   000164   12....       LCALL   ?XSTACK_DISP0_8
   \   000167   8582..       MOV     ?V0 + 2,DPL
   \   00016A   8583..       MOV     ?V0 + 3,DPH
   \   00016D   78..         MOV     R0,#?V0 + 2
   \   00016F   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000172   7408         MOV     A,#0x8
   \   000174   12....       LCALL   ?XSTACK_DISP0_8
   \   000177   AC82         MOV     R4,DPL
   \   000179   AD83         MOV     R5,DPH
   \   00017B   7406         MOV     A,#0x6
   \   00017D   12....       LCALL   ?XSTACK_DISP0_8
   \   000180   AA82         MOV     R2,DPL
   \   000182   AB83         MOV     R3,DPH
   \   000184   90....       MOV     DPTR,#(CalculateUpperLeft & 0xffff)
   \   000187   74..         MOV     A,#((CalculateUpperLeft >> 16) & 0xff)
   \   000189   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   00018C   7406         MOV     A,#0x6
   \   00018E   12....       LCALL   ?DEALLOC_XSTACK8
    173                      nbrOfNodesToUse = ChooseNodesToUse(xUpperLeft, yUpperLeft);
   \   000191                ; Setup parameters for call to function ChooseNodesToUse
   \   000191   7402         MOV     A,#0x2
   \   000193   12....       LCALL   ?XSTACK_DISP0_8
   \   000196   E0           MOVX    A,@DPTR
   \   000197   FC           MOV     R4,A
   \   000198   A3           INC     DPTR
   \   000199   E0           MOVX    A,@DPTR
   \   00019A   FD           MOV     R5,A
   \   00019B   85..82       MOV     DPL,?XSP + 0
   \   00019E   85..83       MOV     DPH,?XSP + 1
   \   0001A1   E0           MOVX    A,@DPTR
   \   0001A2   FA           MOV     R2,A
   \   0001A3   A3           INC     DPTR
   \   0001A4   E0           MOVX    A,@DPTR
   \   0001A5   FB           MOV     R3,A
   \   0001A6   90....       MOV     DPTR,#(ChooseNodesToUse & 0xffff)
   \   0001A9   74..         MOV     A,#((ChooseNodesToUse >> 16) & 0xff)
   \   0001AB   12....       LCALL   ?BCALL               ; Banked call to: DPTR()

⌨️ 快捷键说明

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