Download it at ti.com/ble-stack
Version 1.3.1
April 18, 2013
Notices:
- This version of the Texas Instruments BLE stack and software is a minor
update to the v1.3 release. It contains some minor bug fixes, with no major
functional changes. It also contains two additional projects for the CC2541
Advanced Remote Control Kit.
- Since none of the profile source code was significantly changed since the
v1.3 release, no additional re-testing of the profiles and sample
application were done for v1.3.1. The only exception is the HID-over-GATT
profile, which was fully re-tested for this release. The BLE protocol stack,
including both the controller and host, was completely retested for v1.3.1.
Major Changes and Enhancements:
- The GAP parameter TGAP_LIM_ADV_TIMEOUT now uses units of seconds instead
of milliseconds.
- The HidAdvRemote Project has been added. This implements a full mouse-like
pointing functionality using motion and gesture control. The project runs on
the CC2541 BLE Advanced Control included as part of the CC2541DK-REMOTE kit.
The application implements the HID-over-GATT (HOGP) profile with a report
descriptor supporting the keyboard, mouse, and consumer control classes of
HID devices.
- The HidAdvRemoteDongle project has been added. This application runs on the
CC2540USB dongle, and implements partial functionality of HID-over-GATT
(HOGP) host with a fixed report descriptor to match that of the descriptor
of the HidAdvRemote Project. This means that the HidAdvRemoteDongle was
designed only to work with with the HidAdvRemote, and will not be compatible
with any other HOGP devices. This project was created to allow users who
are using a host device that does not have native Bluetooth Smart Ready
support and/or does not have HOGP support to use the BLE Advanced Remote
Control with their system.
- For GAP central role applications, the bond manager now properly handles
cases in which the peripheral device has erased previously stored bonding
infomration.
- A new HCI extension API has been added to allow peripheral/slave devices to
temporarily ignore any nonzero slave latency value, and explicitly wake up
at every connection event regardless of whether it has any data to send.
The prototype for the API function HCI_EXT_SetSlaveLatencyOverrideCmd can
be found in hci.h, including the description of the function.
- A new HCI extension API has been added to allow the application layer to
get or set a build revision number.
Bug Fixes:
- In some cases L2CAP Peripheral Connection Parameter Update requests failed
due to a zero value in the transmitWindowOffset parameter when the
connection was initially established. This has been fixed and updates
should now work succesfully.
- During bonding, connection failures would occasionally occur due to the
OSAL Simple NV driver performing a page compaction and halting the CPU for
longer than the time required for the link layer to maintain proper
connection timing. To prevent this from occurring, the simple NV driver now
has any API to force a page compaction if the page is full beyond a specified
threshold. The bond manager calls this API everytime a connection is
terminated to ensure that compaction occurs before the next connection is set
up.
- Occasional slave connection failures would previously occur in cases in which
the master device sends Update Channel Map requests while a large slave
latency value is in use. This has been fixed.
- The SensorTag application now properly supports storage of GATT Client
Characteristic Configuration Descriptor values with bonded devices.
- After disabling advertising, the CC254x would unecessarily wake up for a
short period of time 500ms later. This unecessary wake-up has been removed.
- Upon Power-On Reset or after wake-up from PM3, a 400ms delay has been
implemented, during which time the CC254x will not go into PM2 sleep. This
allows time for the 32kHz crystal to stabilize. Previously, in rare cases
with certain hardware configurations the CC254x could have timing issues due
to the crystal not having time to stabilize.
- Minor bug fixes to GlucoseSensor and GlucoseCollector projects.
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.
- HCI packet size of 128 bytes or more will be disregarded by the stack, and as
such, no HCI event will be returned.
- The HAL SPI driver that was implemented since the v1.3 release can sometimes
hang, particularly in cases in which power management is used and when there
is heavy traffic on the SPI bus.