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

📄 blind_node.lst

📁 zigbee location examples
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   0001AE   E9           MOV     A,R1
   \   0001AF   F5..         MOV     ?V0 + 5,A
    174          
    175                      if(nbrOfNodesToUse >= MIN_NBR_OF_REF_NODES)
   \   0001B1   C3           CLR     C
   \   0001B2   9403         SUBB    A,#0x3
   \   0001B4   4004         JC      ??RunBlindNode_17
    176                      {
    177                         // can't try more, but we can do a calculation with the nodes reaced
    178                         blindNodeState = SETUP_DATA_COLLECTING;
   \   0001B6   7404         MOV     A,#0x4
   \   0001B8   8082         SJMP    ??RunBlindNode_16
    179                      }
    180                      else
    181                      {
    182                         // no we can't do a calculation, go to sleep...
    183                         AddToSleepTimer(BLIND_NODE_POWER_DOWN_PERIODE);
   \                     ??RunBlindNode_17:
   \   0001BA                ; Setup parameters for call to function AddToSleepTimer
   \   0001BA   7AB8         MOV     R2,#-0x48
   \   0001BC   7B0B         MOV     R3,#0xb
   \   0001BE   90....       MOV     DPTR,#(AddToSleepTimer & 0xffff)
   \   0001C1   74..         MOV     A,#((AddToSleepTimer >> 16) & 0xff)
   \   0001C3   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    184                         INT_SETFLAG(INUM_ST, INT_CLR);
   \   0001C6   C2C7         CLR     0xc0.7
    185                         INT_ENABLE(INUM_ST, INT_ON);
   \   0001C8   D2AD         SETB    0xa8.5
    186                         blindNodeState = SLEEP_STATE;
   \   0001CA   7408         MOV     A,#0x8
   \   0001CC   02....       LJMP    ??RunBlindNode_16 & 0xFFFF
    187                      }
    188                   }
    189                   break;
    190                case SETUP_DATA_COLLECTING:
    191                   blindNodeState = REQUEST_REF_NODE_PACKET;
   \                     ??RunBlindNode_10:
   \   0001CF   7405         MOV     A,#0x5
   \   0001D1   90....       MOV     DPTR,#blindNodeState
   \   0001D4   F0           MOVX    @DPTR,A
    192                   refNodeRequested = 0;
   \   0001D5   7F00         MOV     R7,#0x0
    193                   nbrOfPacketsReceivedFromNode = 0;
   \   0001D7   7E00         MOV     R6,#0x0
    194                   nbrOfReqTimeOuts = 0;
   \   0001D9   E4           CLR     A
   \   0001DA   90....       MOV     DPTR,#nbrOfReqTimeOuts
   \   0001DD   F0           MOVX    @DPTR,A
    195                   nbrOfRefNodesReceivedForCalculation = 0;
   \   0001DE   F5..         MOV     ?V0 + 4,A
   \   0001E0   02....       LJMP    ??RunBlindNode_0 & 0xFFFF
    196                   break;
    197                case REQUEST_REF_NODE_PACKET:
    198                   refNodeRequestShortAddress = refNodesForCalculation[refNodeRequested].shortAddress;
   \                     ??RunBlindNode_11:
   \   0001E3   8F..         MOV     ?V0 + 0,R7
   \   0001E5   75..00       MOV     ?V0 + 1,#0x0
   \   0001E8   7403         MOV     A,#0x3
   \   0001EA   78..         MOV     R0,#?V0 + 0
   \   0001EC   12....       LCALL   ?S_SHL
   \   0001EF   E5..         MOV     A,?V0 + 0
   \   0001F1   24..         ADD     A,#(refNodesForCalculation & 0xff)
   \   0001F3   F582         MOV     DPL,A
   \   0001F5   E5..         MOV     A,?V0 + 1
   \   0001F7   34..         ADDC    A,#((refNodesForCalculation >> 8) & 0xff)
   \   0001F9   F583         MOV     DPH,A
   \   0001FB   E0           MOVX    A,@DPTR
   \   0001FC   F5..         MOV     ?V0 + 0,A
   \   0001FE   A3           INC     DPTR
   \   0001FF   E0           MOVX    A,@DPTR
   \   000200   F5..         MOV     ?V0 + 1,A
    199                   ReqSignals(refNodeRequestShortAddress);
   \   000202                ; Setup parameters for call to function ReqSignals
   \   000202   AA..         MOV     R2,?V0 + 0
   \   000204   FB           MOV     R3,A
   \   000205   90....       MOV     DPTR,#(ReqSignals & 0xffff)
   \   000208   74..         MOV     A,#((ReqSignals >> 16) & 0xff)
   \   00020A   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    200          
    201                   blindNodeState = RECEIVE_REF_NODES_PACKET;
   \   00020D   7406         MOV     A,#0x6
   \   00020F   90....       MOV     DPTR,#blindNodeState
   \   000212   F0           MOVX    @DPTR,A
    202                   // starting sleep timer to go back to this state if no respons
    203                   AddToSleepTimer(BLIND_NODE_WAIT_FOR_REPLY);
   \   000213                ; Setup parameters for call to function AddToSleepTimer
   \   000213   7A64         MOV     R2,#0x64
   \   000215   7B00         MOV     R3,#0x0
   \   000217   90....       MOV     DPTR,#(AddToSleepTimer & 0xffff)
   \   00021A   74..         MOV     A,#((AddToSleepTimer >> 16) & 0xff)
   \   00021C   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    204                   INT_SETFLAG(INUM_ST, INT_CLR);
   \                     ??RunBlindNode_18:
   \   00021F   C2C7         CLR     0xc0.7
    205                   INT_ENABLE(INUM_ST, INT_ON);
   \   000221   D2AD         SETB    0xa8.5
   \   000223   02....       LJMP    ??RunBlindNode_0 & 0xFFFF
    206                   break;
    207                case RECEIVE_REF_NODES_PACKET:
    208                   if (msgReceived){
   \                     ??RunBlindNode_12:
   \   000226   90....       MOV     DPTR,#msgReceived
   \   000229   E0           MOVX    A,@DPTR
   \   00022A   7003         JNZ     $+5
   \   00022C   02....       LJMP    ??RunBlindNode_19 & 0xFFFF
    209                      msgReceived = FALSE;
   \   00022F   E4           CLR     A
   \   000230   F0           MOVX    @DPTR,A
    210          
    211                      packetType = buffer.b.pMsdu[PACKET_INDEX_TYPE];
    212                      if (packetType == PACKET_TYPE_REF_NODE_POSITION &&
    213                          refNodeRequestShortAddress == buffer.b.srcAddr.Short)
   \   000231   90....       MOV     DPTR,#(buffer + 27)
   \   000234   E0           MOVX    A,@DPTR
   \   000235   6412         XRL     A,#0x12
   \   000237   6003         JZ      $+5
   \   000239   02....       LJMP    ??RunBlindNode_4 & 0xFFFF
   \   00023C   90....       MOV     DPTR,#(buffer + 4)
   \   00023F   E0           MOVX    A,@DPTR
   \   000240   65..         XRL     A,?V0 + 0
   \   000242   7004         JNZ     ??RunBlindNode_20
   \   000244   A3           INC     DPTR
   \   000245   E0           MOVX    A,@DPTR
   \   000246   65..         XRL     A,?V0 + 1
   \                     ??RunBlindNode_20:
   \   000248   6003         JZ      $+5
   \   00024A   02....       LJMP    ??RunBlindNode_4 & 0xFFFF
    214                      {
    215                         nbrOfReqTimeOuts = 0;
   \   00024D   E4           CLR     A
   \   00024E   90....       MOV     DPTR,#nbrOfReqTimeOuts
   \   000251   F0           MOVX    @DPTR,A
    216                         if(nbrOfPacketsReceivedFromNode == 0)
   \   000252   85....       MOV     ?V0 + 2,?V0 + 4
   \   000255   F5..         MOV     ?V0 + 3,A
   \   000257   7403         MOV     A,#0x3
   \   000259   78..         MOV     R0,#?V0 + 2
   \   00025B   12....       LCALL   ?S_SHL
   \   00025E   E5..         MOV     A,?V0 + 2
   \   000260   24..         ADD     A,#(refNodesForCalculation & 0xff)
   \   000262   F8           MOV     R0,A
   \   000263   E5..         MOV     A,?V0 + 3
   \   000265   34..         ADDC    A,#((refNodesForCalculation >> 8) & 0xff)
   \   000267   F9           MOV     R1,A
   \   000268   E8           MOV     A,R0
   \   000269   FC           MOV     R4,A
   \   00026A   E9           MOV     A,R1
   \   00026B   FD           MOV     R5,A
   \   00026C   EC           MOV     A,R4
   \   00026D   2406         ADD     A,#0x6
   \   00026F   F8           MOV     R0,A
   \   000270   ED           MOV     A,R5
   \   000271   3400         ADDC    A,#0x0
   \   000273   F9           MOV     R1,A
   \   000274   E8           MOV     A,R0
   \   000275   FA           MOV     R2,A
   \   000276   E9           MOV     A,R1
   \   000277   FB           MOV     R3,A
   \   000278   EE           MOV     A,R6
   \   000279   703B         JNZ     ??RunBlindNode_21
    217                         {
    218                            // store x, y and addr
    219                            refNodesForCalculation[nbrOfRefNodesReceivedForCalculation].shortAddress = refNodeRequestShortAddress;
   \   00027B   8C82         MOV     DPL,R4
   \   00027D   8D83         MOV     DPH,R5
   \   00027F   E5..         MOV     A,?V0 + 0
   \   000281   F0           MOVX    @DPTR,A
   \   000282   A3           INC     DPTR
   \   000283   E5..         MOV     A,?V0 + 1
   \   000285   F0           MOVX    @DPTR,A
    220                            refNodesForCalculation[nbrOfRefNodesReceivedForCalculation].x = BYTES_TO_WORD(buffer.b.pMsdu[PACKET_INDEX_X_H], buffer.b.pMsdu[PACKET_INDEX_X_L]);
   \   000286   90....       MOV     DPTR,#(buffer + 28)
   \   000289   E0           MOVX    A,@DPTR
   \   00028A   F9           MOV     R1,A
   \   00028B   90....       MOV     DPTR,#(buffer + 29)
   \   00028E   E0           MOVX    A,@DPTR
   \   00028F   8C82         MOV     DPL,R4
   \   000291   8D83         MOV     DPH,R5
   \   000293   A3           INC     DPTR
   \   000294   A3           INC     DPTR
   \   000295   F0           MOVX    @DPTR,A
   \   000296   A3           INC     DPTR
   \   000297   E9           MOV     A,R1
   \   000298   F0           MOVX    @DPTR,A
    221                            refNodesForCalculation[nbrOfRefNodesReceivedForCalculation].y = BYTES_TO_WORD(buffer.b.pMsdu[PACKET_INDEX_Y_H], buffer.b.pMsdu[PACKET_INDEX_Y_L]);
   \   000299   90....       MOV     DPTR,#(buffer + 30)
   \   00029C   E0           MOVX    A,@DPTR
   \   00029D   F9           MOV     R1,A
   \   00029E   90....       MOV     DPTR,#(buffer + 31)
   \   0002A1   E0           MOVX    A,@DPTR
   \   0002A2   8C82         MOV     DPL,R4
   \   0002A4   8D83         MOV     DPH,R5
   \   0002A6   A3           INC     DPTR
   \   0002A7   A3           INC     DPTR
   \   0002A8   A3           INC     DPTR
   \   0002A9   A3           INC     DPTR
   \   0002AA   F0           MOVX    @DPTR,A
   \   0002AB   A3           INC     DPTR
   \   0002AC   E9           MOV     A,R1
   \   0002AD   F0           MOVX    @DPTR,A
    222                            refNodesForCalculation[nbrOfRefNodesReceivedForCalculation].rssiAcc = 0;
   \   0002AE   8A82         MOV     DPL,R2
   \   0002B0   8B83         MOV     DPH,R3
   \   0002B2   E4           CLR     A
   \   0002B3   F0           MOVX    @DPTR,A
   \   0002B4   A3           INC     DPTR
   \   0002B5   F0           MOVX    @DPTR,A
    223                         }
    224                         // add RSSI value to accumulator
    225                         refNodesForCalculation[nbrOfRefNodesReceivedForCalculation].rssiAcc +=  ED_2_RSSI(LQI_2_ED(buffer.b.mpduLinkQuality));
   \                     ??RunBlindNode_21:
   \   0002B6   90....       MOV     DPTR,#(buffer + 23)
   \   0002B9   E0           MOVX    A,@DPTR
   \   0002BA   13           RRC     A
   \   0002BB   13           RRC     A
   \   0002BC   543F         ANL     A,#0x3f
   \   0002BE   F8           MOV     R0,A
   \   0002BF   7494         MOV     A,#-0x6c
   \   0002C1   28           ADD     A,R0
   \   0002C2   F8           MOV     R0,A
   \   0002C3   74FF         MOV     A,#-0x1
   \   0002C5   3400         ADDC    A,#0x0
   \   0002C7   F9           MOV     R1,A
   \   0002C8   C3           CLR     C
   \   0002C9   E4           CLR     A
   \   0002CA   98           SUBB    A,R0
   \   0002CB   F8           MOV     R0,A
   \   0002CC   E4           CLR     A
   \   0002CD   99           SUBB    A,R1
   \   0002CE   F9           MOV     R1,A
   \   0002CF   8A82         MOV     DPL,R2
   \   0002D1   8B83         MOV     DPH,R3
   \   0002D3   E0           MOVX    A,@DPTR
   \   0002D4   28           ADD     A,R0
   \   0002D5   F0           MOVX    @DPTR,A
   \   0002D6   A3           INC     DPTR
   \   0002D7   E0           MOVX    A,@DPTR
   \   0002D8   39           ADDC    A,R1
   \   0002D9   F0           MOVX    @DPTR,A
    226                         nbrOfPacketsReceivedFromNode++;
   \   0002DA   0E           INC     R6
    227          
    228                         if(nbrOfPacketsReceivedFromNode < NBR_OF_PACKETS_TO_REQUEST)
   \   0002DB   EE           MOV     A,R6
   \   0002DC   C3           CLR     C
   \   0002DD   9408         SUBB    A,#0x8
   \   0002DF   5005         JNC     ??RunBlindNode_22
    229                         {
    230                            blindNodeState = REQUEST_REF_NODE_PACKET;
   \                     ??RunBlindNode_23:

⌨️ 快捷键说明

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