This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

The AOA,s RTLS Monitor is some bug

hello:

    The simplelink_cc2640r2_sdk_3_10_00_15 is sdk i used.The iar is 8.2.0.And the program builds and download and runing is ok.

    I want to use aoa_master and aoa_slave and aoa_passive projects to get a aoa angel. 

    I build and download the three hex to the board.And they is runing ok.

   when i use RTLS Monitor to get angels,and there are some errors.i dont know what how to resolve it.

  As below:

     

firstly i click on the connect button and then i click on the scan-slave button.i get the slave device.

when i click the connect button, and there are som problem, the device cant run.

the log is above.

how can l do?

thanks

  • Hi Lenli,

    That's odd. Have you tried multiple times? i.e. reseting the devices, websocket agent and GUI?

    I just tested the new version myself earlier today, although I used CCS to build the images.

  • hi J Lindh:
    Yea,i try to do this more times.And everytime the result is same as above.
    But when the RTLS_manager send RTLS_CMD_CONN_PARAMS to RTLS_Passive,the normal result is that RTLS_manager send RTLS_CMD_AOA_SET_PARAMS to RTLS_Master. But the RTLS_manager send RTLS_CMD_CONNNECT to RTLS_MASTER again as above.
    maybe this is a problem? how to monitor it?
  • Hi,
    Could you try enabling "Automatic RTLS" option? (It's the checkbox in the GUI)
  • hi.
    i try enabling "Automatic RTLS" option.
    this is same result as above.

    so i try to do task 2 in document.And when i use python -u exambles/rtls_example.py ,this is track. it shows From-rtls-import-RTLSNode ,it cant find "rtls".
    Can u help me to finish it?
    l konw python ,but i dont konw why ur,s py cant find rtls dictory in C:\ti\simplelink_cc2640r2_sdk_2_40_00_32\tools\blestack\rtls_agent dictory.
  • Please make sure to open the git bash/terminal under the same SDK.

    Since you are using example from simplelink_cc2640r2_sdk_3_10_00_15, please execute the python from there.

    There has been some folder restructure between 2.40 and 3.10 SDK.

    Also after you install the module using pip install, can you post the msg so we can know what's going on?

    Ex:

    $ pip install -r requirements.txt
    Processing c:\ti\simplelink_cc2640r2_sdk_3_10_00_15\tools\blestack\rtls_agent\rtls
    Processing c:\ti\simplelink_cc2640r2_sdk_3_10_00_15\tools\blestack\rtls_agent\unpi
    Requirement already satisfied: construct==2.9.45 in c:\ti\simplelink_cc2640r2_sdk_3_10_00_15\tools\blestack\rtls_agent\.venv\lib\site-packages (from -r requirements.txt (line 1)) (2.9.45)
    Requirement already satisfied: websockets==7.0 in c:\ti\simplelink_cc2640r2_sdk_3_10_00_15\tools\blestack\rtls_agent\.venv\lib\site-packages (from -r requirements.txt (line 2)) (7.0)
    Requirement already satisfied: pyserial==3.4 in c:\ti\simplelink_cc2640r2_sdk_3_10_00_15\tools\blestack\rtls_agent\.venv\lib\site-packages (from -r requirements.txt (line 3)) (3.4)
    Requirement already satisfied: windows-curses==1.0 in c:\ti\simplelink_cc2640r2_sdk_3_10_00_15\tools\blestack\rtls_agent\.venv\lib\site-packages (from -r requirements.txt (line 4)) (1.0)
    Requirement already satisfied: PySide2==5.12.0 in c:\ti\simplelink_cc2640r2_sdk_3_10_00_15\tools\blestack\rtls_agent\.venv\lib\site-packages (from -r requirements.txt (line 5)) (5.12.0)
    Requirement already satisfied: shiboken2==5.12.0 in c:\ti\simplelink_cc2640r2_sdk_3_10_00_15\tools\blestack\rtls_agent\.venv\lib\site-packages (from PySide2==5.12.0->-r requirements.txt (line 5)) (5.12.0)
    Installing collected packages: ti-simplelink-rtls, ti-simplelink-unpi
    Found existing installation: ti-simplelink-rtls 0.1
    Uninstalling ti-simplelink-rtls-0.1:
    Successfully uninstalled ti-simplelink-rtls-0.1
    Running setup.py install for ti-simplelink-rtls: started
    Running setup.py install for ti-simplelink-rtls: finished with status 'done'
    Found existing installation: ti-simplelink-unpi 0.1
    Uninstalling ti-simplelink-unpi-0.1:
    Successfully uninstalled ti-simplelink-unpi-0.1
    Running setup.py install for ti-simplelink-unpi: started
    Running setup.py install for ti-simplelink-unpi: finished with status 'done'
    Successfully installed ti-simplelink-rtls-0.1 ti-simplelink-unpi-0.1
    (.venv)

  • hi Christin Lee:

     I try to do it that u told me as above.

    In  the rtls_agent doc,this is a requirement.txt.But the result is same .The track is that py cant find a rtls doc,But it is here in the rtls doc.

    So i dont know how to do it? i remove the simplelink_cc2640r2_sdk_3_10_00_15  sdk and install the simplelink_cc2640r2_sdk_2_40_00_32 sdk.

    for task 1,the result is bad like before.for task 2 and 3 there are some different situation.And l look through the most of the python scipts.

    for the default rtls_examples.py,the result is bad with before.

    and it is a py i changed,it is below.

    import queue
    import time
    import logging
    import sys

    from rtls.rtlsmanager import RTLSManager
    from rtls.rtlsnode import RTLSNode, Subscriber
    from rtls.ss_rtls import RTLS

    logging.basicConfig(stream=sys.stdout, level=logging.INFO,
    format='[%(asctime)s] {%(filename)s:%(lineno)d} %(levelname)s - %(message)s')

    try:
        passivenode1 = RTLSNode('COM1', 115200, "Passive")
        passivenode1.start()

        masternode = RTLSNode('COM3', 115200, "Master")
        masternode.start()

        tofsub = Subscriber(queue=queue.PriorityQueue(), interest=None, transient=False, eventloop=None)
        masternode.add_subscriber(tofsub)

        passivesub1 = Subscriber(queue=queue.PriorityQueue(), interest=None, transient=False, eventloop=None)
        passivenode1.add_subscriber(passivesub1)

        slaveAddr = 'B0:91:22:1A:EB:EB' # Slave addr should be set here

        masternode.rtls.scan()


    while True:
        try:
        item = tofsub.pend(False) 
        msg = item.item 
        # logging.info(msg)
        logging.info(" >> MASTER" + msg.as_json())

        if msg.command == 'RTLS_CMD_SCAN' and msg.type == 'AsyncReq':  
            address = msg.payload.addr
            addressType = msg.payload.addrType

        if msg.command == 'RTLS_CMD_SCAN_STOP':
            if address is not None and addressType is not None and (slaveAddr is None or slaveAddr == address): 
                masternode.rtls.connect(addressType, address)

        if msg.command == 'RTLS_CMD_CONN_PARAMS' and msg.type == 'AsyncReq' and msg.payload.accessAddress is not 0:  
            passivenode1.rtls.set_ble_conn_info(msg.payload.accessAddress, msg.payload.connInterval, msg.payload.hopValue, msg.payload.mSCA, msg.payload.currChan, msg.payload.chanMap)

        if msg.command == 'RTLS_CMD_CONNECT' and msg.type == 'AsyncReq' and msg.payload.status == 'RTLS_SUCCESS':
            time.sleep(1)
            masternode.rtls.aoa_set_params('AOA_MASTER', 'AOA_MODE_PAIR_ANGLES', 4, 4, 20)
            time.sleep(1)
            masternode.rtls.aoa_start(1)
         except queue.Empty:
             pass
         try:
         item = passivesub1.pend(True, 0.05)
         msg = item.item
         logging.info(" >> PASSIVE1" + msg.as_json())

         if msg.command == 'RTLS_CMD_CONNECT' and msg.type == 'AsyncReq' and msg.payload.status == 'RTLS_SUCCESS':
             time.sleep(1)
             time.sleep(1)
             passivenode1.rtls.aoa_set_params('AOA_PASSIVE', 'AOA_MODE_ANGLE', 4, 4, 20)
             time.sleep(1)  
             passivenode1.rtls.aoa_start(1) 

         except queue.Empty:
             pass

    finally:
    if manager:
    manager.stop()

    the result is below:

     it cant get the angel.so i guess the default rtls_example.py is some bug.

    what i can do??

  • Can you stick to one version(3.10) and we take it from there? The RTLS evolves each quarter, the 2.40 out of box rtls_examples.py does not do anything.

    Please use the 3.10 SDK and then go through this SimpleLink Academy Training first
    dev.ti.com/.../rtls_intro.html

    Then move on to AoA SimpleLink Academy
    dev.ti.com/.../ble_aoa.html
  • hi :

    i reinstall the the simplelink_cc2640r2_sdk_3_10_00_15  sdk .

    The task 1,the result is bad as below.The software stops somewhere i dont konw.

    And i gona finish task 2.the output is there as below.

    for task 2,that is a loop all the time as above.

    when the master connects to the slave,for a while the link is terminate.the message are showed as above.

    so how to solve the problem?

    thanks. 

  • Hi,

    Since I was not able to reproduce what you are seeing, can you first reprogram all three devices and do the test again?
    Make sure for rtls_master and slave, you uncomment /* -DRTLS_LOCATIONING_AOA */ in the build_config.opt file in the stack project.
    And for rtls_passive, you enable RTLS_LOCATIONING_AOA in the predefined symbols.

    After that if it's still not working, can you send me your hex files?
    Please make sure you use the same IDE version as we stated in the release note.
    For 3.10 SDK, the IDE version is
    IAR Embedded Workbench: EWARM-8.32.2
    TI Code Composer Studio: CCS-9.0.0.00013
    TI Code Generation Tools for Arm: 18.12.1.LTS
    XDCTools: 3.51.02.21

    If you have a sniffer, then please attach sniffer log as we can see what's going on over the air.

    If you don't have a sniffer, you can consider the TI packet sniffer on CC13xx_CC6xx LP. It does not support all the BT5.0 stuff but it's an affordable sniffer.
    You can find the sniffer software here:
    www.ti.com/.../PACKET-SNIFFER

    You can find the LPs here:
    www.ti.com/.../SIMPLELINK-CC13X2-26X2-SDK
  • Are you able to solve the issue? If yes, I would like to close this thread.
  • hi:

      Currently,l have solved the  problem that the master terminate the link when it link to the slave.Because there are some issue in the launchxl,s rf part.

      But l meet some new problems.

      now i think that the master and slave are normal,and the master receives the rtls_cmd_aoa_enable command and starts doing the location of aoa.But the passive dont show the rtls_cmd_aoa_enable command as below.

  • hi:

    Currently,l have solved the problem that the master terminate the link when it link to the slave.Because there are some issue in the launchxl,s rf part.

    But l meet some new problems.

    now i think that the master and slave are normal,and the master receives the rtls_cmd_aoa_enable command and starts doing the location of aoa.But the passive dont show the rtls_cmd_aoa_enable command as below.
  • hi:
    in task 2,the problem is same like task1,s.

    if msg.command == 'RTLS_CMD_AOA_SET_PARAMS' and msg.payload.status == 'RTLS_SUCCESS':
        sending_node.aoa_initialized = True
        if all([n.aoa_initialized for n in all_nodes]): 
        # Start AoA on the master and passive nodes
            for node in all_nodes:
                node.rtls.aoa_start(True)

    In rtls_example.py ,when the pc receives the rtls_cmd_aoa_set_params command, the if sentence is fail. i guess the pc does not  receive the rtls_cmd_connect command ,so the all_nodes list is null. 

    how to solve this problem?

  • hi:
    Now,i can get the angels.Above the picture,as i explained.The program stoped when the pc show the RTLS_CMD_AOA_SET_PARAMS command.
    But i dont change anything about it.Today i try it again,and i can get the angels.
    I guess that there are some bugs about demo.
  • Sorry that you had to go through so many tries to get it to work. Glad you have it running now.