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

📄 blind_node.lst

📁 zigbee location examples
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   000046   85C9C9       MOV     0xc9,0xc9
    114             WDT_ENABLE();
   \   000049   43C908       ORL     0xc9,#0x8
   \   00004C   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:
   \   00004E                ; Setup parameters for call to function SendConfiguration
   \   00004E   90....       MOV     DPTR,#(SendConfiguration & 0xffff)
   \   000051   74..         MOV     A,#((SendConfiguration >> 16) & 0xff)
   \   000053   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    122                   parametersReceived = FALSE;
   \   000056   E4           CLR     A
   \   000057   90....       MOV     DPTR,#parametersReceived
   \   00005A   F0           MOVX    @DPTR,A
    123                   // start a new calculation with new parameters
    124                   blindNodeState = INIT_BCAST;
   \   00005B   90....       MOV     DPTR,#blindNodeState
   \   00005E   F0           MOVX    @DPTR,A
    125                }
    126          
    127                switch (blindNodeState){
    128                case INIT_BCAST:
    129                   nbrOfBCastReplys = 0;
   \                     ??RunBlindNode_2:
   \   00005F   E4           CLR     A
   \   000060   90....       MOV     DPTR,#nbrOfBCastReplys
   \   000063   F0           MOVX    @DPTR,A
    130                   nbrOfRetries = 0;
   \   000064   90....       MOV     DPTR,#nbrOfRetries
   \   000067   F0           MOVX    @DPTR,A
    131                   memset(refNodesForCalculation, 0, sizeof(refNodesForCalculation));
   \   000068                ; Setup parameters for call to function memset
   \   000068   75..40       MOV     ?V0 + 2,#0x40
   \   00006B   F5..         MOV     ?V0 + 3,A
   \   00006D   78..         MOV     R0,#?V0 + 2
   \   00006F   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000072   7C00         MOV     R4,#0x0
   \   000074   7D00         MOV     R5,#0x0
   \   000076   7A..         MOV     R2,#(refNodesForCalculation & 0xff)
   \   000078   7B..         MOV     R3,#((refNodesForCalculation >> 8) & 0xff)
   \   00007A   90....       MOV     DPTR,#(memset & 0xffff)
   \   00007D   74..         MOV     A,#((memset >> 16) & 0xff)
   \   00007F   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000082   7402         MOV     A,#0x2
   \   000084   12....       LCALL   ?DEALLOC_XSTACK8
    132                   blindNodeState = BCAST_REQUEST;
   \   000087   7401         MOV     A,#0x1
   \                     ??RunBlindNode_3:
   \   000089   90....       MOV     DPTR,#blindNodeState
   \   00008C   F0           MOVX    @DPTR,A
    133                   SET_BUFFER_EMPTY();
   \                     ??RunBlindNode_4:
   \   00008D   E4           CLR     A
   \   00008E   90....       MOV     DPTR,#buffer
   \                     ??RunBlindNode_5:
   \   000091   F0           MOVX    @DPTR,A
   \                     ??RunBlindNode_0:
   \   000092   740F         MOV     A,#0xf
   \   000094   55C9         ANL     A,0xc9
   \   000096   44A0         ORL     A,#0xa0
   \   000098   F5C9         MOV     0xc9,A
   \   00009A   740F         MOV     A,#0xf
   \   00009C   55C9         ANL     A,0xc9
   \   00009E   4450         ORL     A,#0x50
   \   0000A0   F5C9         MOV     0xc9,A
   \   0000A2   90....       MOV     DPTR,#parametersReceived
   \   0000A5   E0           MOVX    A,@DPTR
   \   0000A6   70A6         JNZ     ??RunBlindNode_1
   \   0000A8   90....       MOV     DPTR,#blindNodeState
   \   0000AB   E0           MOVX    A,@DPTR
   \   0000AC   12....       LCALL   ?UC_SWITCH_DENSE
   \                     `?<Jumptable for RunBlindNode>_0`:
   \   0000AF   00           DB        0
   \   0000B0   09           DB        9
   \   0000B1   ....         DW        ??RunBlindNode_6
   \   0000B3   ....         DW        ??RunBlindNode_2
   \   0000B5   ....         DW        ??RunBlindNode_7
   \   0000B7   ....         DW        ??RunBlindNode_8
   \   0000B9   ....         DW        ??RunBlindNode_9
   \   0000BB   ....         DW        ??RunBlindNode_10
   \   0000BD   ....         DW        ??RunBlindNode_11
   \   0000BF   ....         DW        ??RunBlindNode_12
   \   0000C1   ....         DW        ??RunBlindNode_13
   \   0000C3   ....         DW        ??RunBlindNode_14
   \   0000C5   ....         DW        ??RunBlindNode_14
    134                   break;
    135                case BCAST_REQUEST:
    136          #ifdef USE_LED
    137                   LED1 = LED_ON;
   \                     ??RunBlindNode_7:
   \   0000C7   C290         CLR     0x90.0
    138          #endif
    139                   ReqSignals(BROADCAST_ADDR);
   \   0000C9                ; Setup parameters for call to function ReqSignals
   \   0000C9   7AFF         MOV     R2,#-0x1
   \   0000CB   7BFF         MOV     R3,#-0x1
   \   0000CD   90....       MOV     DPTR,#(ReqSignals & 0xffff)
   \   0000D0   74..         MOV     A,#((ReqSignals >> 16) & 0xff)
   \   0000D2   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    140                   nbrOfRetries++;
   \   0000D5   90....       MOV     DPTR,#nbrOfRetries
   \   0000D8   E0           MOVX    A,@DPTR
   \   0000D9   04           INC     A
   \   0000DA   F0           MOVX    @DPTR,A
    141          
    142                   blindNodeState = RECEIVE_BCAST_REPLY;
   \   0000DB   7402         MOV     A,#0x2
   \   0000DD   90....       MOV     DPTR,#blindNodeState
   \   0000E0   F0           MOVX    @DPTR,A
    143                   AddToSleepTimer(BLIND_NODE_WAIT_FOR_BCAST_REPLY);
   \   0000E1                ; Setup parameters for call to function AddToSleepTimer
   \   0000E1   7A64         MOV     R2,#0x64
   \   0000E3   7B00         MOV     R3,#0x0
   \   0000E5   90....       MOV     DPTR,#(AddToSleepTimer & 0xffff)
   \   0000E8   74..         MOV     A,#((AddToSleepTimer >> 16) & 0xff)
   \   0000EA   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    144                   INT_SETFLAG(INUM_ST, INT_CLR);
   \   0000ED   C2C7         CLR     0xc0.7
    145                   INT_ENABLE(INUM_ST, INT_ON);
   \   0000EF   D2AD         SETB    0xa8.5
    146          #ifdef USE_LED
    147                   LED1 = LED_OFF;
   \   0000F1   D290         SETB    0x90.0
   \   0000F3   809D         SJMP    ??RunBlindNode_0
    148          #endif
    149                   break;
    150                case RECEIVE_BCAST_REPLY:
    151                   if (msgReceived)
   \                     ??RunBlindNode_8:
   \   0000F5   90....       MOV     DPTR,#msgReceived
   \   0000F8   E0           MOVX    A,@DPTR
   \   0000F9   6097         JZ      ??RunBlindNode_0
    152                   {
    153                      msgReceived = FALSE;
   \   0000FB   E4           CLR     A
   \   0000FC   F0           MOVX    @DPTR,A
    154                      packetType = buffer.b.pMsdu[PACKET_INDEX_TYPE];
    155                      if (packetType == PACKET_TYPE_REF_NODE_POSITION)
   \   0000FD   90....       MOV     DPTR,#(buffer + 27)
   \   000100   E0           MOVX    A,@DPTR
   \   000101   6412         XRL     A,#0x12
   \   000103   7088         JNZ     ??RunBlindNode_4
    156                      {
    157                         HandleBCastReply(buffer.b.srcAddr.Short, buffer.b.mpduLinkQuality, buffer.b.pMsdu);
   \   000105                ; Setup parameters for call to function HandleBCastReply
   \   000105   7C..         MOV     R4,#((buffer + 27) & 0xff)
   \   000107   7D..         MOV     R5,#(((buffer + 27) >> 8) & 0xff)
   \   000109   90....       MOV     DPTR,#(buffer + 23)
   \   00010C   E0           MOVX    A,@DPTR
   \   00010D   F9           MOV     R1,A
   \   00010E   90....       MOV     DPTR,#(buffer + 4)
   \   000111   E0           MOVX    A,@DPTR
   \   000112   FA           MOV     R2,A
   \   000113   A3           INC     DPTR
   \   000114   E0           MOVX    A,@DPTR
   \   000115   FB           MOV     R3,A
   \   000116   90....       MOV     DPTR,#(HandleBCastReply & 0xffff)
   \   000119   74..         MOV     A,#((HandleBCastReply >> 16) & 0xff)
   \   00011B   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    158                      }
    159                      SET_BUFFER_EMPTY();
   \   00011E   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:
   \   000121   90....       MOV     DPTR,#nbrOfRetries
   \   000124   E0           MOVX    A,@DPTR
   \   000125   C3           CLR     C
   \   000126   9408         SUBB    A,#0x8
   \   000128   5008         JNC     ??RunBlindNode_15
    165                   {
    166                      // Do a new broadcast
    167                      blindNodeState = BCAST_REQUEST;
   \   00012A   7401         MOV     A,#0x1
   \                     ??RunBlindNode_16:
   \   00012C   90....       MOV     DPTR,#blindNodeState
   \   00012F   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:
   \   000132                ; Setup parameters for call to function CalculateUpperLeft
   \   000132   7406         MOV     A,#0x6
   \   000134   12....       LCALL   ?XSTACK_DISP0_8
   \   000137   8582..       MOV     ?V0 + 2,DPL
   \   00013A   8583..       MOV     ?V0 + 3,DPH
   \   00013D   78..         MOV     R0,#?V0 + 2
   \   00013F   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000142   740B         MOV     A,#0xb
   \   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   7408         MOV     A,#0x8
   \   000164   12....       LCALL   ?XSTACK_DISP0_8
   \   000167   AC82         MOV     R4,DPL
   \   000169   AD83         MOV     R5,DPH
   \   00016B   7406         MOV     A,#0x6
   \   00016D   12....       LCALL   ?XSTACK_DISP0_8
   \   000170   AA82         MOV     R2,DPL
   \   000172   AB83         MOV     R3,DPH
   \   000174   90....       MOV     DPTR,#(CalculateUpperLeft & 0xffff)
   \   000177   74..         MOV     A,#((CalculateUpperLeft >> 16) & 0xff)
   \   000179   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   00017C   7406         MOV     A,#0x6
   \   00017E   12....       LCALL   ?DEALLOC_XSTACK8
    173                      nbrOfNodesToUse = ChooseNodesToUse(xUpperLeft, yUpperLeft);
   \   000181                ; Setup parameters for call to function ChooseNodesToUse
   \   000181   7402         MOV     A,#0x2
   \   000183   12....       LCALL   ?XSTACK_DISP0_8
   \   000186   E0           MOVX    A,@DPTR
   \   000187   FC           MOV     R4,A
   \   000188   A3           INC     DPTR
   \   000189   E0           MOVX    A,@DPTR
   \   00018A   FD           MOV     R5,A
   \   00018B   85..82       MOV     DPL,?XSP + 0
   \   00018E   85..83       MOV     DPH,?XSP + 1
   \   000191   E0           MOVX    A,@DPTR
   \   000192   FA           MOV     R2,A
   \   000193   A3           INC     DPTR
   \   000194   E0           MOVX    A,@DPTR
   \   000195   FB           MOV     R3,A
   \   000196   90....       MOV     DPTR,#(ChooseNodesToUse & 0xffff)
   \   000199   74..         MOV     A,#((ChooseNodesToUse >> 16) & 0xff)
   \   00019B   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   00019E   E9           MOV     A,R1
   \   00019F   F5..         MOV     ?V0 + 5,A
    174          
    175                      if(nbrOfNodesToUse >= MIN_NBR_OF_REF_NODES)
   \   0001A1   C3           CLR     C
   \   0001A2   9403         SUBB    A,#0x3
   \   0001A4   4004         JC      ??RunBlindNode_17
    176                      {

⌨️ 快捷键说明

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