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.

BLE-STACK V2.2.0 is now available with full BT4.2 support!

Other Parts Discussed in Thread: BLE-STACK, CC2650, CC2640, CCSTUDIO

Get it at: www.ti.com/blestack

Texas Instruments' Bluetooth® low energy BLE-Stack™ 2.2.0 software development kit (SDK) for TI’s SimpleLink™ Bluetooth Smart CC2640 wireless microcontroller (MCU) and SimpleLink™ multi-standard CC2650 wireless MCU is a full-featured Bluetooth 4.2 certified stack that includes all necessary software and sample applications to quickly get started with the development of single-mode Bluetooth low energy (BLE) applications.

This release is a major update to the BLE-Stack2.1.1 software release and adds support for all Bluetooth core specification 4.2 features. The BLE-Stack software is available royalty-free to customers using TI’s CC2640 and CC2650 wireless MCUs and also runs on TI’s SimpleLink SensorTag kit (CC2650STK), SimpleLink CC2650 LaunchPad™ development kit (LAUNCHXL-CC2650), SimpleLink CC2650 remote control development kit (CC2650RC) and SmartRF06 development kit.

All code generated from the BLE-Stack 2.2.0 SDK is binary compatible and exchangeable with both the CC2640 and CC2650 wireless MCUs. All TI CC26xx development kits feature the CC2650 wireless MCU, which can be used for development and prototyping of CC2640-based designs. Refer to the [release notes | release_notes_ble_sdk_2_2_0.html] for details on how to install and get started developing applications with the BLE-Stack 2.2.0 SDK.

Features

  • Full support for all Bluetooth core specification 4.2 features: LE Secure Connections, LE Data Length Extension and LE Privacy 1.2.
  • Bluetooth low energy simple network processor (SNP) solution with simple API for easily adding connectivity to existing MCU designs. Learn more with the SNP workshop inSimpleLink Academy.
  • Ability to operate without a 32-kHz crystal in peripheral and beacon configurations.
  • Over-the-air (OTA) firmware upgradability via an external flash memory.
  • Advanced topology including concurrent master/slave operation and support for up to 8 connections.
  • Voice-over-BLE support on the CC2650 remote control kit.
  • Ultra-low power advertisement and connected states for applications such as peripherals and beacons, including the popular Apple iBeacon® and Google Eddystone™ formats.
  • Built on top of TI-RTOS framework and includes peripheral drivers and advanced power management libraries.
  • Broad selection of development and Internet of Things (IoT) prototyping kits, including CC2650 LaunchPad development kit, CC2650 SensorTag kit, CC2650 voice remote control kit and SmartRF06 development kit.
  • Wide range of sample applications with certified profiles to reduce time to marke.t
  • Bluetooth qualified design listing to reduce certification test time.
  • Flexible protocol stack configuration options to maximize application memory.
  • Supported in IAR Embedded Workbench for ARM® and Code Composer Studio™ integrated development environment tool chains.

Getting Started with BLE-Stack 2.2.0

  • Project 0: Getting started demo for the CC2650 LaunchPad development kit using CCS Cloud, TI’s web browser based integrated development environment (IDE).
  • Learn Bluetooth low energy basics and custom profile development with SimpleLink Academy, TI’s self-guided learning program with step-by-step guides, theory of operation and interactive quizzes.
  • Download and install the SDK and refer to the “Installation and Usage” section of the included release notes to get started with developing a custom Bluetooth low energy application.

** Please note that the directory structure and SDK layout in BLE v2.2.0 has changed from BLE v2.1.x and earlier SDK releases. Please refer to the 'Getting Started" section of the included CC2640 BLE SW Developer's Guide (SWRU393) with details on this layout change.

  • 1、I found the code structure relative to 2.1.1 there is a big change,The original project how to transplant to this version?

    2、Transmission speed can reach 2.5 times of promotion?

    3、Support for 6LowPAN?

  • I tried downloading new stack.
    there is no Project folder where i can find pre-build projects to try out.
  • There's an examples directory with the projects.
  • Hey TIm,

    Does it now support OAD Via CCS for external Flash?
    As i had tried earlier it was not happening and in this stack also in OAD only IAR option is there.
  • Is there any migration document to transfer project from BLE-Stack2.1.1 to 2.2.0?

  • Great! i will try it very soon.

    I have a very big project, with about 2k memory free (code) and about 300b free ram bytes,
    Does this stack is smaller then 2.1.1 or bigger? and do you think it will fit in?
  • I get build errors when I test BLE Stack v.2.2 sensortag_audio example like I post in e2e.ti.com/.../524430 . Any help?
  • I had this issue because I had used IAR EWARM 7.40.5 to open this project. After I reinstall BLE stack version 2.2.2 and use IAR EWARM 7.50.3, I can build it now.
  • Is there any way to get this working on a Mac computer? I'm using the instructions on  to get me started on using the Debug DevPack with a SensorTag. I have CCStudio installed and running on my Mac, but this file will not install because its a Windows file.

  • I see BLE Stack can be run on Linux which you can refer to e2e.ti.com/.../412962 . I think you can follow those steps to run it on Mac system.
  • Hello,

    Thank you for the response! The answer on this forum is basically to install the files using Wine or on a different computer and then bring them over to the Mac. I have the BLE stack installed on my flash drive (done in Windows), but I'm not sure how to incorporate it into the Mac version. From what I've seen in the instructions, CCS should recognize that the files are available when I open it and perform some sort of install. This doesn't happen for me. Do you know what I should do with the files?

    Thanks!

    Dan

  • Sorry, I don't know how to do it in this way. Another suggestion is to use CCS cloud for developing.
  • That is nice :) Congratulations for the good work!
  • Hi Dan,

    Here are instructions for "installing" the BLE Stack on a mac. I put the SimpleLink folder in /Applications/ti, and I belive CCS then found it automatically. If it does not, you can always show CCS where the projects are by doing an Import Project. 

    9 Bluetooth Low Energy Software Stack (BLE-STACK)

    Cheers,
    Fredrik

  • When I follow  > Get it at: www.ti.com/blestack

    I get the following message: "Unfortunately, the page you've requested no longer exists. Please use the search form above to locate the information you're interested in."

    Are there alternative locations to download the stack?

    TIA

    Torsten

  • Sorry, just using the second link works for me.
  • Hi all,
    I would like to have some more detail about the new stack version. In particular in the release notes I found these two points:
    - Fixed an issue in simple_broadcaster in which the advertisement data was not updated properly
    - Improved scanning, advertising and connection control when supporting multiple master & slave connections

    What do they exactly mean? Working with combo roles I saw that, when I try to turn on the receiver (by calling GAPRole_StartDiscovery) it isn't really turned on since the next advertising packet is sent. Has this issue been solved?
    Another problem I saw on the old version is: when the advertise is active, if the adv packet is modified (by calling GAP_UpdateAdvertisingData, without turning off-on advertising) the new data is sent with one cycle (i.e. one adv interval) delay. Has this issue been solved?

    I would like to know this because porting my application to the new stack isn't an easy task because of the general folder structure has been changed (I'm sure there was a good reason for doing that). For this I'll do the porting only if the issues mentioned above have been solved, otherwise I'll continue to use BLE stack 2.1.1 .

    Thanks TI in advance for the support!
    Davide.
  • Regarding "Working with combo roles I saw that, when I try to turn on the receiver (by calling GAPRole_StartDiscovery) it isn't really turned on since the next advertising packet is sent. Has this issue been solved?"
    - this is not a bug. Please see the simpleBLECentral project for an example of how to start discovery. This is also implemented with combo roles in the multirole project: github.com/.../ble_examples
  • Hi Chen,

    Do you mean that we can only build the ble stack 2.2 image with IAR >= 7.50.3?  And there will always be building problems with IAR 7.40?

    Sincerely,

    Yang

  • According to my experience, you have to use IAR 7.50.3.
  • Hi Fredrik,

    Thanks for the link. I've been trying to use these instructions but I get a lot of errors when I try to import projects. I think it has to do with the TI-RTOS not being found. Under Code Composer Studio -> RTSC -> Products, the only item under "Installed products" is 3.31.3.43_core. I'm thinking that RTOS should be in there? Let me know if you have any ideas of what to do.

    Best,

    Dan

  • Ok, maybe it is not a bug, but it can be an issue and I'll try to explain why.
    If you need to monitor (observe) a large number of devices (say around 100) you have to use rather short DEFAULT_SCAN_DURATION, otherwise to receive all the packets you need to increase DEFAULT_MAX_SCAN_RES and this increases the heap usage.
    In my case I use DEFAULT_SCAN_DURATION = 2000 and at the same time the device acts as advertiser with ADV_INTERVAL = 1s. Since the ble protocol adds the RANDOM delay [0...10]ms, the scanning (which is actually continuous scanning) and the advertising events go out of sync. Then, since the scan have to wait till the next adv event to be really turned on, if GAPRole_StartDiscovery is triggered just after the advertise event, it have to wait one adv period (1 sec) before having the scanning started, leading to 50% of receiver duty cycle, when I want 100% (say, near 100% because of the concurrent accesses to the radio).
    I don't know if it is clear....

    Davide.
  • What is the size difference of stack? Because I ported my application, that was on 96% of the available memory, and now CCS tells me I have not enough space for the program.

  • I don't have an answer, but search for "optimization" inside the SWRU393C (Developer's Guide). There are some defines and some hints that help in reducing the stack and application size.
    I faced the same problem right today, after some trials I've manage to have the same (if not more) free memory to allocate with respect to the same project on the old version of the stack.

  • Hi all,
    I see that some standard BLE services (like Battery Service, BAS) are implemented in the stack.
    Are there any other standard services implemented somewhere on other repositories, on github for example... I am looking for Immediate Alert Service (IAS) and Link Loss Service (LLS).
    I saw that they are implemented on other platform like MSP430 and TM4C, but I think that the code could be quite different...

    Thank you for your time,
    Stefano.
  • Hello everybody,

    I know that BLE stack 2.2.0 comes together with RTOS 2.18.0.03 but I found a new RTOS release 2.20.0.06 with some features that I am interesting to have like watchdog drivers. Unfortunately I read in the release note that try to use another RTOS different from the original one that comes together with the BLE stack itself is considered experimental and not supported.

    All of the developers here are just using the RTOS 2.18.0.03? Is there any suggestion from TI?

    Thank you,

    SF
  • Hi Simone Frau
    I met the same problem, Do you find the solution?
    I want to use the ADC driver, but the only have it in TI-RTOS-2.20.
  • Hi,

    Yes I copied the watchdog driver files from the TI-RTOS-2.20 directly inside the project because inside that there are links to the drivers from TI-RTOS 2.18. Now I am still testing to be sure that everything is still working like before.

    Kind Regards,


    Simone Frau
  • Did this work out for you?

    Will you share exactly which files you copied from 2.20 to 2.18 folders and any other changes you needed to make to get it to work?

    I am interested in using the 2.20 ADC and Watchdog drivers as well.
  • Hi Jeff,

    unfortunately I still have problems with the new stack compare with the old one, in particular more power consumption and BLE connectivity issues. I am waiting for some feedback from TI about that, you can find some more details here:

    e2e.ti.com/.../512971

    Anyway I have already added the watchdog drivers from the 2.20 RTOS in my system, you can see that these files are the same:

    C:\ti\tirtos_cc13xx_cc26xx_2_20_00_06\products\cc26xxware_2_24_02_17202\driverlib\watchdog.h & .c
    C:\ti\tirtos_cc13xx_cc26xx_2_20_00_06\products\tidrivers_cc13xx_cc26xx_2_20_00_08\packages\ti\drivers\Watchdog.h & .c
    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------
    C:\ti\tirtos_cc13xx_cc26xx_2_18_00_03\products\cc26xxware_2_23_03_17162\driverlib\watchdog.h & .c
    C:\ti\tirtos_cc13xx_cc26xx_2_18_00_03\products\tidrivers_cc13xx_cc26xx_2_16_01_13\packages\ti\drivers\Watchdog.h & .c

    Then you can just add these files in your project:

    C:\ti\tirtos_cc13xx_cc26xx_2_20_00_06\products\tidrivers_cc13xx_cc26xx_2_20_00_08\packages\ti\drivers\watchdog\WatchdogCC26XX. h & .c

    From these files you can just call these APIs to be able to use the watchdog functionality in your application:

    WatchdogCC26XX_open
    WatchdogCC26XX_setReload
    WatchdogIntClear


    Kind Regards,


    Simone Frau
  • We've switched to the v2.2.0 stack and it works well. However, it seems like the SmartRF Packet Sniffer tool can no longer track the comms. The sniffer tool is spec'd for BLE protocol 4.0. Does that mean that the sniffer tool will not work with the new release of the BLE stack?
  • Hi Gabe,

    Glad to see BLE-Stack v2.2.0 is working well for you! Regarding the TI Packet Sniffer, this tool is limited to capturing Data Channel PDUs in the BT4.0/4.1 format (max 27 byte), so the v4.2 Data Length Extension extended packets cannot be captured. You can monitor (but not decode) Secure Connection pairing and privacy features.

    Best wishes
  • Hi

    did anyone got CCS 6.2 version 50 working with BLE Stack 2.2 on Windows 10?

    I am having some trouble to flash my sensortag using BLE Stack 2.2 sensortag example.

    I can compile it with no errors but by flashing it give me some.

    Here is my post: 

    I couldnt find the TI 5.2.6 compiler to download under "Help->install software-> Arm Compiler Tool Update->uncheck show only the latest versions"

    So i am using the installed compiler for it TI v15.12.3.LTS

    Regards,

    Michael