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.

LAUNCHXL-CC2640R2: Modify rtls_passive as a peripheral?

Part Number: LAUNCHXL-CC2640R2
Other Parts Discussed in Thread: BLE-STACK

Hi,

I'm still new to the RTLS Toolbox, TI-RTOS, etc. so I was hoping I could get some insight into this.

In the RTLS Toolbox, the AOA documentation shows examples of hard-coding the antenna setup to use one, two, or the full set of antennas.

I was hoping I could modify rtls_passive so that I could have it additionally act as peripheral so that another central device could retrieve the most recent IQ measurements, which would be stored in a GATT table.

I would imagine that the rtls_passive would have to modify its antenna configuration programmatically depending on whether it is in the observer state or in the peripheral state.

Is this possible and, if so, could you give a newbie some pointers on how to go about doing this?

Thanks

  • Hi Phuntimes,
    The RTLS Passive project does not support peripheral role as it's using a smaller subset of the BLE-Stack. For more information on roles and compatibility, please see the tables in this SimpleLink Academy Module: dev.ti.com/.../rtls_intro.html
  • Hi, Joakim,

    Thanks for your prompt reply, but that's not the question I was asking. I'm aware of the compatibility of the existing demo apps. I'm asking is it possible to modify the passive project to utilize the full BLE stack while retaining the RF patches to support CTE? Technically, this should be possible since rtls_slave, which transmits the CTE packets, uses the full stack. Furthermore, is it possible to modify the antenna configuration depending on which task the app is currently operating; that is, IQ sampling or updating GATT characteristics.

    Thanks

  • Hi,

    Theoretically it's doable, however, we don't have the example to support that yet.

    You can't make CC2640R2 in peripheral role to do the antenna toggling because it simply needs another different radio patch to do so.
    In the documentation you will see that it is the radio core that's controlling the reception of the packet, interpret the payload and trigger an event to application layer.

    In order to instrument radio core to do so, we need a radio patch, which is not part of the peripheral role patch. Therefore, you can't just port the application layer code to any peripheral examples and hope it will work.

  • Christin,

    Thanks for the more detailed answer, and I'm glad to hear it. So, if I understand you correctly, because the Micro BLE stack itself does not implement the HCI layer and since the patches for rtls_ctrl only processes connection events between rtls_master and rtls_slave, I'd have to find a way to reconcile the handling of HCI events in the full BLE stack to play nice with handling rtls control messages and, more importantly, RTLSCtrl_processSyncEvent?

    Furthermore, are there any potential conflicts between the patches for passive and peripheral I should know about that I haven't mentioned?


    Thanks

  • Hi,

    In our RTLS Toolbox, the out of box examples already have uNPI interface. Therefore, when the passives receive AoA packets and it can either send the raw I/Q value or calculated angle to the PC/Host. Then the PC/Host can forward the msg to central device(rtls_master) if that's what you want. Central device is a full BLE STACK device.

    Have you checked out our SimpleLink Academy RTLS toolbox section yet? If not, I would recommend you to do so.
    dev.ti.com/.../overview.html