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 theCC2540/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/blestack
================
Release Notes
Version 1.2Feb 13, 2012Notices:- This version of the Texas Instruments BLE stack and software includes support for the CC2541, as well as some enhancements and bug fixes. Details of these can be found below. If you have not previously worked with the v1.1b release (which had limited distribution) it is recommend that you also read the notes detailing the changes and enhancements from v1.1a to v1.1b in addition to the notes for v1.2.Changes and Enhancements:- All projects have been migrated from IAR v7.60 to IAR v8.10.4. In order to build all projects, be sure to upgrade and have IAR v8.10.4. Also, be sure to download and install all of the latest patches from IAR for full CC2540 and CC2541 support.- Multi-role and combo-role support has been enhanced. The BLE stack can now support simultaneously advertising and/or scanning while in a connection as either a master or a slave. This allows for a central device to perform device discovery while in a connection. All previous rules for multiple simultaneous connections as a central device still apply (see v1.1a release notes below).- New sample projects "SimpleBLEBroadcaster" and "SimpleBLEObserver" have been added, as example projects for pure broadcaster and observer applications with very low code size. The projects make use of new GAP role profiles broacaster.c and observer.c that are included.- All projects have a modified architecture from the v1.1, v1.1a, and v1.1b releases. Each project contains a file "buildConfig.cfg" that can be found in the project directory and is included in the IAR project workspace as part of the "TOOLS" group. The settings in this file determine the role of the device in the application. Based on this configuration, different pieces of the BLE stack in object code are linked in, causing the code size to be larger or smaller depending on the roles supported. For example, HostTestRelease by default is now configured to support every single BLE GAP role in a single build, and therefore has a large code size (approx. 165kB). On the other hand, SimpleBLEBroadcaster is configured to only support the GAP broadcaster role, and therefore has a very small code size (approx. 39kB).- The function GAPRole_SendUpdateParam in peripheral.c has been made public to allow a peripheral application to send an L2CAP connection parameter update request at any time. - The names and configuration of the BLE stack libraries have changed. Different libraries are used depending on the GAP role (or combination of roles) used by the application. More information can be found in section 3.3.5the BLE Software Developer's Guide.- All library files now support power management. Power management must be enabled by the application by calling osal_pwrmgr_device( PWRMGR_BATTERY );. All sample applications that use power management make this call in the main function. - All GATT service source code has been cleaned up to make handling of client characteristic configuration descriptors (CCCDs) simpler. All CCCDs are now processing is now handled by GATTServApp and no longer must be handled by the service itself. Examples of this can be found in the included example services such as SimpleGATTprofile, Simple Keys service, Accelerometer service, etc...- The HostTestRelease network processor project now includes HCI Vendor Specific commands for each GATT client sub-procedure, matching the GATT client API. All GATT commands have been added to the "Adv. Commands" tab in BTool. The functions in the BTool GUI "Read / Write" tab now make use of the GATT commands as opposed to ATT commands.- The old "EmulatedKeyboard" project has been removed and replaced with the new "HIDEmuKbd" project. The new project performs the same functions as the old one, but is now based on the "HID over GATT Profile" v1.0 specification (HOGP_SPEC_V10) that has been adopted by the Bluetooth SIG. The HID profile functionality has been implemented in a OSAL task that runs separate from the application to allow for easy portability to other HID projects. More details on the new application can be found in the BLE Sample Application Guide included as part of the release. The following additional new services / profiles have been included to fully support the HOGP specification: - HID Service v1.0 (HIDS_SPEC_V10) - Scan Parameters Profile v1.0 (ScPP_SPEC_V10) - Scan Parameters Service v1.0 (ScPS_SPEC_V10) - Device Information Service v1.1 (DIS_SPEC_V11r00) - Battery Service v1.0 (BAS_SPEC_V10) - The KeyFobDemo project has been updated to use the adopted battery service. The custom battery service that was used in previous released has been removed.- The TimeApp project has been updated to include support for the Phone Alert Status Profile (PASP_SPEC_V10) in the Client role. - Support for "Production Test Mode" has been added, allowing a BLE application in a "single-chip" configuration to temporarily expose the HCI over the UART interface when triggered externally to do so (e.g. hold a GPIO pin low during power up). This allows the device to be connected to a Bluetooth tester in order to run direct test mode (DTM) commands on a production line using the final release firmware, while leaving the UART GPIO pins available for the application to use at all other times- A Universal Boot Loader (UBL) using the USB Mass Storage Device (USB-MSD) class has been added along with a Serial Boot Loader (SBL). The HostTestRelease project includes configurations with examples of both boot loaders. The SBL project is included with the installer. More information on the UBL can be found in the following document: C:\Texas Instruments\BLE-CC254x-1.2\Documents\ Universal Boot Loader for SOC-8051 by USB-MSD Developer's Guide.pdf- HCI extension command HCI_EXT_MapPmIoPortCmd added to support toggling of a GPIO line as CC254x device goes in and out of sleep. This command can be used to automatically control the bypass line of the TPS62730 DC/DC converter for reducing power consumption in an optimized manner.- A slave device will now dynamically widen it's Rx window when a previous connection event was missed. This improves connection stability by accounting for additional clock drift that may have occurred since the last successful connection event. - The application now has the capability to change the permissions of the device name in the GAP service by calling GGS_SetParameter and changing the value of the parameter GGS_W_PERMIT_DEVICE_NAME_ATT. The application can also receive a callback when a client device writes a new name to the device. The application registers the callback by calling GGS_RegisterAppCBs. The prototype for GGS_RegisterAppCBs can be found in gapgattserver.h.Bug Fixes:- Duplicate filtering now works with combination states.- Various minor application / profile bug fixes. Known Issues:- 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.For technical support please visit the Texas Instruments Bluetooth low energyE2E Forum:http://e2e.ti.com/support/low_power_rf/f/538.aspx--------------------------------------------------------------------------------------------------------------------------------------------------------------
Minor stack update released
------------------------------------------------------------------------------------------------------------------