Android App does not work with SensorTag

The latest version of the Android App on Google Play Store does not work with the SensorTag. It throws error "BLE SensorTag has sopped" after attempting to connect

Thanks, Zaffer

  • In reply to Doug Engel:

    I just tried the following with HTC One M8:
    - Update the SensorTag Android App to 2.20 from 2.00
    - Start out with a SensorTag flashed with original HEX file. Can connect and read out all characteristics
    - Update FW to 1.01. Can still connect and read out all sensors.
    - Compile and download IAR SensorTag project to device. Can still connect and read out all sensors.

    It seems this is more related to the Android side than the FW on the SensorTag.

    Does the issue go away if you clear all data from the application? (Settings->Applications->BLE SensorTag-> Clear data/cache)
    If not, can you post the log file dump from Android either here or send it through the Android crash notification popup?

    Thanks,
    Svend


    If the question is answered, please press the  Verify Answer button below the answer to help other users find the correct answer easily.

  • In reply to svendbt:

    Hi Svend,

    I just sent the crash report from the popup when the application crashed. I get multiple instances of the popup when the app fails, but I only reported the initial crash popup.

    Is the image of the factory HEX file available somewhere that I can put back in my SensorTag and see if reverting to the older version fixes the issue?

    For what it's worth, I compiled the sensortag firmware and stack using CCS. I don't know if it matters, but you said you use IAR, so that is one thing different.

    Doug
  • In reply to Doug Engel:

    It shouldn't matter whether CCS or IAR is used to compile the FW image as long as they are both set up correctly.
    The original HEX file can be found under ble_cc26xx_2_00_00_42893\Accessories\HexFiles.

    .:Svend


    If the question is answered, please press the  Verify Answer button below the answer to help other users find the correct answer easily.

  • In reply to svendbt:

    Hi Svendbt,

    The V2.20 of the TI BLE Sensor Tag Android application available on Google Play crashes when attempting to connect with SensorTag firmware built from the example source in simplelink\ble_cc26xx_2_00_00_42893, using CCS V6.1. The EVOThings applications also crash when trying to connect with this version of firmware.

    I tracked the problem to an invalid Firmware Revision String being generated and loaded into the device. Changing the following line in devinfoservice-st.c

    static const uint8_t devInfoFirmwareRev[] = TOSTRING(VERSION)" ("__DATE__")";

    to read as follows:

    static const uint8_t devInfoFirmwareRev[] = __DATE__;

    This fixes the problem. I am now able to use V2.20 of the TI Android BLE Sensor Tag application as well as the TI Sensor Tag application available from EVOThings.

    Bruce
  • In reply to Bruce Howard:

    Bruce,

    Thanks for the feedback. I will forward it to our FW developers so they can have a look at this.

    .:svend


    If the question is answered, please press the  Verify Answer button below the answer to help other users find the correct answer easily.

  • In reply to svendbt:

    Bruce,

    I was told that they are aware of it and have planned to fix it. VERSION needs to be defined in the CCS project as a compiler preprocessor symbol for it to be recognized.

    .:svend


    If the question is answered, please press the  Verify Answer button below the answer to help other users find the correct answer easily.

  • In reply to Bruce Howard:

    Thanks Bruce. The firmware starts up without crashing now.

    I did manage to get the Android application to crash with this fix applied by accidentally pressing the OTA Firmware Download button in the application.  It could be something similar.

    In both cases, the Android app really should have a bit more robust validation on the data so it can exit gracefully instead of crashing.

    Thanks for tracking down the issue.

    - Doug

  • In reply to Doug Engel:

    Indeed, I'm experiencing the exact same.

    So, out the box SensorTag 2 works, then compile stock SensorTag source and load it, then the Android app crashes after discovering services and want to display the 'info' screen with all the peripheral readouts (if I can call it that).  If you use RF Flash Programmer 2 1.6.x and load the hex that came with the stack, it works fine again.  There is something wrong with the source I expect.

    On a side note.  I searched my but off for the binary/hex and couldn't find it.  Read again that it comes with the BLE stack and looked again and I can only find CC2640 hex files, but decided to take a chance and load the CC2640_SmartRF_SensorTag.hex file and it works.  I think this is also named incorrectly.

    If TI could scour through the source and pinpoint where the issue, it would be great.  Anything I can do from my side to help, just shout.  Amped to get into it.  I suspect enough people already sent the Android bug report, but I can do so if required.

    Cheers

    JD

  • In reply to kowalski5233:

    Sorry, my bad, I missed this page of the thread, only see the technical details now.
  • In reply to kowalski5233:

    Hi JD,

    kowalski5233
    So, out the box SensorTag 2 works, then compile stock SensorTag source and load it, then the Android app crashes after discovering services and want to display the 'info' screen with all the peripheral readouts (if I can call it that).  If you use RF Flash Programmer 2 1.6.x and load the hex that came with the stack, it works fine again.  There is something wrong with the source I expect.

    Yes there is an issue when using CCS to compile the program as mentioned a few posts up:

    kowalski5233
    On a side note.  I searched my but off for the binary/hex and couldn't find it.  Read again that it comes with the BLE stack and looked again and I can only find CC2640 hex files, but decided to take a chance and load the CC2640_SmartRF_SensorTag.hex file and it works.  I think this is also named incorrectly.

    CC2640/CC2650 is equal except for that the CC2650 supports multiple protocols. Since the SensorTag supports other protocols as well it is using the CC2650.

    Regards,
    Svend



    If the question is answered, please press the  Verify Answer button below the answer to help other users find the correct answer easily.