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.

CC2650STK: Broadcast RSSI every 100ms

Part Number: CC2650STK
Other Parts Discussed in Thread: CC2650

Hello,

I am making a localization service and I want to set the cc2650stk boards to broadcast their RSSI every 100ms so I can collect it. How can I do it? I am using simple_peripheral_cc2650stk_app/stack

  • Hello Panagiotis,

    You will need to append the RSSI data, which can be obtained via the GAP_DEVICE_INFO_EVENT (take a look at simple_central or simple_observer for usage of this).

    Then, you will have to turn on/off advertising each time you wish to modify the payload. Although our SimpleLink Academy Module is for the CC2640R2, the concept should translate over for the CC2650STK. Please see https://dev.ti.com/tirex/explore/node?node=AD4sGbaamTCyn0DvZgBAsg__krol.2c__LATEST .

    If you are starting development, I would highly recommend evaluating the CC26x2 Launchpad and taking a look at our localization projects for RTLS. Take a look at our SimpleLink Academy modules on this: https://dev.ti.com/tirex/explore/node?node=ALlHD5N3XwY3m66G7xgq8A__BSEc4rl__LATEST 

  • Unfortunately, because this is about my university thesis I can't use cc26x2 or your localization projects. The only thing that I want from cc2650 is to broadcast its rssi every 100ms so I can collect it using the bluepy python package because now it is doing it at a slower pace. The cc2650 isn't connected at any time with any device and it must not be. I wanted to flash simple_broadcaster_cc2650em but the board bricked when I tried.

    I also want to ask another question. Can I replace the peripheral files from the application folder with the broadcaster ones and the profiles folder from cc2650em to turn my example to a broadcaster?

    I see that it the examples (simple_central or simple_observerGAP_DEVICE_INFO_EVENT uses this function SimpleBLECentral_addDeviceInfo which takes the address as its parameter. How and where can I add GAP_DEVICE_INFO_EVENT to my example as it is not used and add rssi to it?

    I sorry but I'm not very familiar with bluetooth.

  • I wanted to flash simple_broadcaster_cc2650em but the board bricked when I tried.

    If you are using the STK, the simple_broadcaster project will likely require some modifications for it to work on the STK.

    Can I replace the peripheral files from the application folder with the broadcaster ones and the profiles folder from cc2650em to turn my example to a broadcaster?

    It may not be that straightforward as the peripheral files will depend on some project predefines and if those are not translated over, amongst many other potential issues, you may get compiler errors. In this case, you should be able to use the simple_peripheral project and just advertise using a non-connectable advertising set (avoiding any connection requests). Effectively, you use the simple_peripheral project but only use the observer side of things. If using this for production, I would advise otherwise: to create the proper project with observer configuration only. This will make the project simpler. The only con to using this approach is that you lose memory because the stack is configured with symbols it will never use.

    I see that it the examples (simple_central or simple_observerGAP_DEVICE_INFO_EVENT uses this function SimpleBLECentral_addDeviceInfo which takes the address as its parameter. How and where can I add GAP_DEVICE_INFO_EVENT to my example as it is not used and add rssi to it?

    Take a look at gap.h (inside C:\Texas Instruments\BLE-CC254x-1.5.2.0\Components\ble\include\gap.h), you'll find the event defined with a comment stating this event is sent during the device discovery process when a device is discovered. Essentially, a scan needs to be triggered.

    At a high level, I would suggest to go through all the SimpleLink Academy modules I sent for some learning material on Bluetooth LE (use it only for learning concepts as the code may not translate directly). More importantly, navigate to the Documents folder in the SDK and read through the TI_BLE_Software_Developer's_Guide.pdf.