The Texas Instruments Bluetooth® low energy (BLE) software development kit includes all necessary software to get started on the development of single-mode BLE applications using the CC2540/41 system-on-chip. It includes object code with the latest BLE protocol stack supporting multiple connections, sample projects and applications covering an extensive set of profiles with source code, and BTool, a Windows PC application for testing BLE applications. In addition to the software, the kit contains documentation, including a developer’s guide, sample applications guide, and BLE API guide.
Download SW at ti.com/ble-stack
CC2540/41 Bluetooth Low Energy Software Development Kit
Version 1.3Dec 12, 2012
- This version of the Texas Instruments BLE stack and software features several changes, enhancements, and bug fixes from v1.2.1. Details of these can be found below. Changes and Enhancements:
- A new sample project, SensorTag, has been added. This application runs on the CC2541 Sensor Tag board, which is included as part of the CC2541DK-SENSOR development kit. The application includes custom services for an accelerometer, barometer, gyro, humidity sensor, IR temperature sensor, and magnetometer.
- A new Boot Image Manager (BIM) is included. This allows one CC2540 or CC2541 device to contain two separate software images (an "A" image and a "B" image) stored in flash. Upon power-up, the BIM selects which image to boot into. This can be based on criteria such as the state of a GPIO pin, or based on a selection from the previously running application upon reset.
- A new Over-the-air firmware download (OAD) feature is included. The feature allows a peer device (which could be a central BT Smart device such as a smartphone) to push a new firmware image onto a peripheral device and update the firmware. This feature uses the BIM, in which case the downloaded image gets stored in the opposite flash location as the currently running image. For example, if the "A" image is the current image and is used to perform the download, then the downloaded image becomes the "B" image. Upon reset, the "B" image with the updated firmware would be loaded. The OAD feature optionally allows for the firmware image to be signed (using AES). Both the SensorTag and SimpleBLEPeripheral projects include configurations for using the OAD feature. A central "OADManager" application is also included, demonstrating a central implementation for sending a new firmware image to an OAD target device.
- The physical HCI interface used by the network processor (HostTestRelease) has been enhanced to work while power management is enabled on the CC254x device. The UART interface, when using RTS and CTS lines, can be used by an external application processor to wake-up the CC254x network processor. When the network processor has completed all processing, it will go into deep sleep. In addition to UART, an SPI interface has been added as an option for the physical HCI interface. It also supports power management by means of the MRDY and SRDY lines.
- The CC2541 configuration of the KeyFobDemo project has been modified to support the new CC2541 keyfob hardware, contained in the CC2541DK-MINI kit. The accelerometer has been changed, and a TPS62730 DC/DC converter has been added.
- The structure of all projects have been changed to include a Transport Layer ("TL") library and network processor interface "NPI" source code. This new architecture allows for non-network processor applications to have slightly reduced code size by removing unnecessary stack components.
- An API has been provided allowing the device name and appearance characteristics in the GAP service to be modified by the application layer.
- KeyFobDemo project now includes visual feedback from LED to indicate when device has powered up and when device is advertising.
- The HID-over-GATT Pofile (HOGP) implementation has been updated to now queue up HID report and send notifications upon reconnection to a HID host. - A new implementation of the HID service has been included, which supports a combined keyboard, mouse, and consumer class device in its HID report descriptor.
- The API for sending L2CAP Connection Parameter Update Requests from the GAP Peripheral Role Profile has been updated to take both the requested minimum and maximum connection intervals as parameters.
- BTool has been enhanced with a new GATT explorer table, displaying discovered attributes, handles, and values. An XML file is included which allows the user to define descriptions of characteristics based on their UUIDs.
- HCI UART interface baud rate has been changed from 57600 to 115200.
- When power management is used with long connection intervals (>2s), the CC254x remains sleeping properly without unnecessary wake-ups.
- When slave latency is used, peripheral devices now properly wake-up before the next connection event when a data packet is queued
- Various bug fixes on the GlucoseSensor and GlucoseCollector projects to improve compliance with profile and service specifications.
- HID-over-GATT Pofile (HOGP) implementation has been updated to provide better interoperability with HID hosts.
- Use of the NV memory (to save application data or BLE Host bonding information) during a BLE connection may cause an unexpected disconnect. The likelihood of this happening increases with frequent usage, especially when using short connection intervals. The cause is related to the NV wear algorithm which at some point may cause an NV page erase which can disrupt system real-time processing. It is therefore recommended that the NV memory be used sparingly, or only when a connection is not active.
- HCI packet size of 128 bytes or more will be disregarded by the stack, and as such, no HCI event will be returned.
Nick, this is exciting stuff. I was getting antsy waiting for this news.
Can you tell me about what was addressed in 1.3 regarding this bug: http://e2e.ti.com/support/low_power_rf/f/538/t/227515.aspx
My device relies heavily on UART communication while broadcasting characteristic data, so I'd like to keep the processor on all the time (as battery life is not a worry for me)
Which IAR version(s) will work with the new stack and examples?
In reply to Stan 59800:
It works fine on version 8.11 for me. As BLE Stack version 1.21 required 8.11, I would imagine that BLE Stack version 1.3 requires this too.
No idea if it works on version 8.20.
Good News !
Group Not Found.....The requested Group cannot be found.
How can i get it? I have submitted some information on the website
In reply to kesly:
There was a problem with the link - it lacked http://. Try again after a refresh, or type the address ti.com/ble-stack directly into your web-browser.
did you omit the fix ( http://e2e.ti.com/support/low_power_rf/f/538/t/72681.aspx ) for the dynamic update of advertisement data on purpose?
In reply to Andre S:
No. It must have slipped through the cracks. However, you can call GAP_UpdateAdvertisingData( <your task id>, TRUE, <len>, <array with advdata> ); from the application at any time to update the advertisement data. FALSE if ScanRsp.
In reply to Aslak N.:
just to be sure:
is there a bugtracking system where we (the forum users) are able to submit these issues and where we are able to keep track of fixes, etc in the different releases?
if not: why?
There isn't. It's because there are many details in the bug tracking that can not be made public, and the system we use doesn't allow differentiating between internal and external viewers. Thanks for pointing out bugs on e2e, and feel free to continue doing so :)- Aslak
A guide to port BLEv1.2 projects to the BLEv1.3 stack is available at the BLE wiki (www.ti.com/ble-wiki). Fast link to it: http://processors.wiki.ti.com/index.php/LPRF_BLE_Porting_Projects.
Let us know if something is unclear.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.