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.

Can I use Over the Air download(OAD) to receive data on my android application from the CC2650 LAUNCHPAD?

Other Parts Discussed in Thread: CC2650

I am trying to read stored data from the memory of my CC2650 launchpad on my android application via BLE. I am trying to make a project where the android phone is used to toggle the LED's via bluetooth and I store my data on the flash memory which includes from whose phone number the LED was last toggled. While I am able to toggle the LEDs via BLE, I am unable to view the stored data on my application. I know that OAD can be used as a firmware upgrade for the hardware in future. But I am curious if I can receive the hardware stored data on my phone through over the air download(OAD). Please help.

  • Hello,

    Thanks for your interest. It sounds like you may be new to BLE or the CC2650 platform, we recommend that you get started using SimpleLink Academy and our Software Developer's Guide for more information about TI's BLE solution on CC26xx.

    To answer your question, I don't think OAD suitable for your use case, OAD is really only needed when you need to update the entire user application running on the device over BLE without a debugger.

    It sounds as if your desired case is to
    1) Blink an LED over BLE
    2) Store in CC2650 Non volatile memory a unique ID that corresponds to the Android phone that told the CC2650 to blink the LED

    These are both certainly possible, since you mentioned that you have accomplished step #1, I would recommend taking a look at section 3.10.3 of the Software Developer's guide. We recommend using the SimpleNV APIs to store your application data.
  • Thank you for your reply sean. Yes I am new to BLE . But most of the project which I am trying to do is done. What I am not able to do, is read stored data from my CC2650.I have stored data on my CC2650. I just want to read it on my android phone. The data is a string consisting of the mobile phone which last switched the LED. Is there a provision for this? Please help.
  • Hello Sean,
    I have the BLE Stack software development guide 2.2.0 . I am unable to locate a section numbered 3.10.3. Can you please specify name of the section so I can search by name?

    Regards,
    Keyshav
  • Dear Sean,
    Thank you for the reply. I found the section you were referring to. I found it useful. Now I am able to write in the cc2650 flash memory.

    1) But this is not the whole of the solution to my problems.

    2)I am able to store the log on the cc2650.

    3)The stored log consists of a mobile phone number, date-time stamp, and state of the LED.

    4)I want to be able to send a command from my android application.

    5) This command sent from my phone, should be able to download all the data from my cc2650 flash memory to my android phone.

    6) Erase the data from cc2650 flash memory upon downloading it to the android phone.

    Is there some provision to do this?

    If yes, what is it?

    Initially it is okay if I can read it on PuTTY or Hyper-terminal.

    Regards,
    Keyshav
  • Hi, 

    I'm working on a project using CC2650 launchpad. Using project 0 I'm switching led on and off using ble scanner application.  I'm also storing the mobile number of users who are controlling the led. The values are getting stored. 
    How can I transfer the numbers stored on the cc2650 launchpad to the ble application using the read button or in some other way. 

    Thanks and Regards
    Praveen Gonsalves

  • Hi Praveen,

    If you using Project Zero, you can look at the way data_service.c is implemented as a guide.
  • Keyshav,

    There is no support out of the box for this. However, what you are looking to do is to create a characteristic by which you will send NV data to the phone. So long as the total size of NV data is smaller than the ATT_MTU then you should be able to transfer all data in one GATT operation. However if the NV data is larger then you will have to handle fragmenting your data over multiple GATT transactions. For more info on GATT, etc please see Ch 5 of the Software Developer's guide.
  • Hi Rachel,
    In the data service, when I press the read button I know from which variable the data is being transferred from launchpad to ble app.
    The problem is only the most recent entry will be shown when I press the read button. How should I transfer the previous data stored using the read button or some other mechanism.
  • Hi Praveen,

    You could try writing the data to an array. That would allow you to read and write multiple bytes of data. Please see the following e2e thread for some help on the implementation for sending multiple bytes to your phone: https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/t/148646

    Take note of the steps in Willis1's answer on the second page of the thread.