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.

TIDA-01580: TIDA-01580 Software

Part Number: TIDA-01580
Other Parts Discussed in Thread: CC2640, AFE4900

Hello,

I have a working instance of TIDA-01580.

I tested it with LabVIEW. Everything is working!
I need to write data acquisition from an ADC on a Windows 10 platform  Microsoft Visual Studio using Qt.
 
I can connect to TIDA-01580 and open the service,
but which one? How do I read ADC data?
How is it supposed to read ADC data?
Is there an example of receiving data?

TIDA-01580 contains services, and services contain characteristics. Where can I find a description of the characteristics.
Maybe there are some materials with a description?
  • Hello Sergey,

    I got a chance to check with the Firmware engineer who worked on the software for TIDA-01580. Here is his response:

    All the details regarding the BLE configurations can be found in the PROFILES folder in the TX and RX projects.

     

    Specifically, the characteristics used are defined in the file /TIDA-01580_firmware_tx/PROFILES/throughput_service.h  :

    // Service UUID

    #define THROUGHPUT_SERVICE_SERV_UUID 0x1234

     

    //  Characteristic defines

    #define THROUGHPUT_SERVICE_UPDATE_PDU      0

    #define THROUGHPUT_SERVICE_UPDATE_PDU_UUID 0x1235

    #define THROUGHPUT_SERVICE_UPDATE_PDU_LEN  1

     

    //  Characteristic defines

    #define THROUGHPUT_SERVICE_UPDATE_PHY      1

    #define THROUGHPUT_SERVICE_UPDATE_PHY_UUID 0x1236

    #define THROUGHPUT_SERVICE_UPDATE_PHY_LEN  1

     

    //  Characteristic defines

    #define THROUGHPUT_SERVICE_TOGGLE_THROUGHPUT      2

    #define THROUGHPUT_SERVICE_TOGGLE_THROUGHPUT_UUID 0x1237

    #define THROUGHPUT_SERVICE_TOGGLE_THROUGHPUT_LEN  1

     

    We are transmitting with BLE 5 with 2M PHY and Max PDU size of 251 with DLE.  The receiver will have to negotiate the PHY and PDU change the TX CC2640. This code can be seen in /TIDA-01580_firmware_rx/Application/TIDA_01580_rx.c : TIDA_01580_rx_taskFxn()

     

    The data is transmitted from the TX device from the TIDA_01580_TX_blastData() function in /TIDA-01580_firmware_rx/Application/TIDA_01580_rx.c as a notification.

    The data format can be seen in sendDataViaBLE() in /TIDA-01580_firmware_tx/Application/TIDA_01580_TX.c

    This consists of 242 bytes of data which consists of 20 sets consisting of 3 bytes each of ppg, ecg, ppgRd, ppgIR followed by 2 bytes for the status.

    More documentation regarding these aspects can be found in the following pages:

    http://software-dl.ti.com/lprf/simplelink_cc2640r2_sdk/1.35.00.33/exports/docs/ble5stack/ble_user_guide/html/ble-stack/phy-2mbps.html

    http://software-dl.ti.com/lprf/simplelink_cc2640r2_sdk/1.35.00.33/exports/docs/ble5stack/ble_user_guide/html/ble-stack/data-length-extensions.html

    http://software-dl.ti.com/lprf/simplelink_cc2640r2_sdk/1.35.00.33/exports/docs/ble5stack/ble_user_guide/html/doxygen/group___a_t_t___g_a_t_t.html#gac61599736be6b39a5b18d3ef6eb7a45a

    http://software-dl.ti.com/lprf/simplelink_cc2640r2_sdk/1.35.00.33/exports/docs/ble5stack/ble_user_guide/html/ble-stack/gatt.html

     

    Hope this helps. Thank you.

     

    Regards,

    Sanjay R. Pithadia

  • Many thanks for the help.

    All that you wrote to me is clear, but one question remains!
    I am writing a data reception program with TIDA - 01580 under Windows 10 on the Qt platform !!!
    I can find the device, connect to it.
    I can open the service and read the specifications
    and subscribe to notifications.

    Data from TX is transmitted through TIDA_01580_TX_blastData ();

     // Attempt to send the notification w / no authentication
    status = GATT_Notification (connectionHandle, & noti, 0);

    How can I programmatically accept this message (notification) from a program written in C ++ MS VisualStudio ?????
    Through what mechanism can I programmatically receive data from sensors (maybe there is a class in Qt or in Win).
    Like in LabView but getting data in my program.

    How do I get a data stream (through what)?
    This data is not a characteristic of the service!

    I think there should be an example of how to receive data with Bluetooth LE

  • Hello Sergey,

    I have sent your queries to the software engineer. Shall reply with the answers as soon as I receive inputs from him.

    Regards,

    Sanjay R. Pithadia

  • Hello Sergey,

    Here is our response:

    In TIDA-01580, the data is received in the CC2640R2 (rx side) via BLE and transmitted to the PC by UART. We do not have any examples for receiving the data directly on PC for this application.

    In /TIDA-01580_firmware_tx/PROFILES/throughput_service.c Throughput_Service_WriteAttrCB() you can see when the notification gets enabled on the characteristic.

    On the RX side, the application takes the following steps to begin transmission:

    1. Find all characteristics

    2. Request high throughput mode

    3. Request 1M PHY

    4. Request Max DLE

    The notification uses a handle of 0x1E
    noti.handle = 0x1E;

    Please try to perform the above steps before trying to access the notification data. If you can share the service discovery results that you obtained, that might help too.

    Regards,

    Sanjay R. Pithadia

  • Hello, Sanjay 

    >>In TIDA-01580, the data is received in the CC2640R2 (rx side) via BLE and transmitted to the PC by UART. We do not have any examples for receiving the data directly on PC for this application.

    I think you do not quite understand me.
    I do not necessarily need an example for the CC2640R2. I need an example where on a PC (Win 10 or Android) they receive a stream from your BLE device that sent GATT_Notification ().

    It’s not an example, but a plan on how to receive your flow.
    I do not know how to handle notifications on the client side (GATT_Notification). Please tell me, my deadlines are on fire!

    Can I add an attribute to the service and transfer data through notifications about changes to this attribute?
    Can I transfer this stream this way? Or is this fundamentally wrong?

    I do not think that in TI more than one person did not try to write data reception on a PC (Win) from such a device.
    I am sure that there must be a solution, otherwise what was TIDA-01580 designed for?

     Please tell 

  • I did not receive confirmation that my question was accepted. It is very important for me!

  • Sergey,

    We have received your query, but I personally don't have any experience in BLE coding. I am checking with BLE team if anyone has worked on this.

    Meanwhile, if you can help with answers to following questions, it will be helpful:

    1) What is the receiver you are using to receive the data?

    2) Are you able to see any characteristcs already?

    3) Did you try the steps I asked in my previous post?

    Regards,

    Sanjay R. Pithadia

  • 1) What is the receiver you are using to receive the data?

    Simple bluetooth (4.0 or  5.0 )   dongle   (I sent a picture in a previous letter)

    2) Are you able to see any characteristcs already?

    Yes, we can read and write attribute value

    3) Did you try the steps I asked in my previous post?

    Sorry, maybe I’m explaining poorly.
    I have a receiver (RX side) in my computer (bluetooth dongle) 

    I have only TIDA-01580 (TX)    and       PC + bluetooth dongle (RX)

    I need to receive a signal on a PC (under Win10 )

  • Hello Sergey,

    Please be informed that we are forwarding this query to another “expert" within BLE product line for further assistance. 

    Thank you.

    Regards,

    Sanjay R. Pithadia

  • Hello, Sanjay.

    Can you help me to find full AFE4900 datasheet, since I don't know, how to switch to PTT mode?
    Thank you in advance!

  • Hello Sergey,

    You can request it on https://www.ti.com/product/AFE4900

    Please click on "Request now" to get access to the full datasheet.

    Regards,

    Sanjay R. Pithadia