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.

CC2642R-Q1: RTLS Setup with Phone

Part Number: CC2642R-Q1


Hello,

I have the RTLS setup running with the coordinator running as a BLE peripheral, the responder working as the BLE central and 2 passives. The setup is configured to work with CAN instead of UART. 

When the responder connects to the coordinator, the coordinator sends the connection parameters to the CAN bus where each passive receives them. After the CM monitor starts working, all the RSSI from the 3 devices (coordinator and 2 passives) are sent via CAN.

My final goal is to replace the responder with a smartphone. My first approach has been to connect the phone directly to the coordinator. However, doing it so, only the coordinator is sending the RSSI. Sometimes at the beginning, one of the passives sends a couple of messages with the RSSI but it looks as a random behaviour which might be difficult to trace.

Can you please help me with this?

Thank you and best regards,

Rodrigo

  • Update:

    I have tested different phones. (iPhone 11, iPhone 12 and realme 7 pro)

    • realme 7 pro. I have used 2 different scanner apps to test it.
      • BLE Scanner. I can only get the RSSI from the coordinator
      • nRF Connect. When I connect to the coordinator the first time I only get the RSSI from it. After disconnecting and connecting again I get the RSSI from all devices (Coordinator + 2 passives).

    • iPhone 11 and iPhone 12. With both phones and using both LightBlue and nRF Connect the behaviour is the same. When I connect to the coordinator, I only receive the RSSI from it and the connection parameters are sent from time to time. After some time the passive breaks with PRECISERR HardFault in the function RTLSCtrl_connResultEvt in the following line:

                if (gRtlsData.connStateBm[connHandle] & RTLS_STATE_AOA_ENABLED ||
                    gRtlsData.connStateBm[connHandle] & RTLS_STATE_CONN_INFO_ENABLED)

  • Hi Rodrigo,

    My apologies for the significant delay, but congrats on the good progress so far!

    If you are seeing different interactions on the mobile phone side, it is likely due to the connection parameters. The connection monitor application has a few Limitations: connections must use LE Channel Selection Algorithm #1, LE 1M PHY, and LE Data channels.

    These features are typically disabled via the HCI_LE_READ_LOCAL_SUPPORTED_FEATURES event within the RTLSCoordinator_processStackMsg() handler. Please ensure that these features are properly disabled within your application; could you also take a BLE sniffer log of this issue occurring so that we can double-check that these features aren't enabled?

    Best,
    Joe

  • Hello!

    After making the changes that you suggested we are getting a much better behaviour and we are able to report the RSSI from the 3 devices using an iPhone. We had not taken these limitations for the CM into account when programming our solution. 

    Thank you very much for your help and best regards,

    Rodrigo.