Commit graph

778 commits

Author SHA1 Message Date
Rohit Grover
dde04982bc fix mbedmicro/BLE_API/#16: move GATT_MTU_SIZE_DEFAULT into blecommon.h 2015-06-30 07:49:04 +01:00
James Crosby
854fd1118a use mbed-classic to build (this will probably be a target-dependendency in the future) 2015-06-23 18:18:44 +01:00
Rohit Grover
d80fec885c Release 0.4.0
=============

This is a major release which introduces the GATT Client functionality. It
also aligns BLE_API with builds using our new package manager: yotta
(https://github.com/armmbed/yotta).

Many APIs have seen some redesign. We encourage our users to pay attention to
the changes and migrate appropriately over time. We've also taken care to
ensure that existing code continues to work the same way. There's more
documentation in the form of comment headers for APIs to explain proper usage;
in many cases comment headers suggest alternative use of APIs.

Enhancements
~~~~~~~~~~~~

* Introduce GattClient. This includes functionality for service-discovery,
  connections, and attribute-reads and writes. You'll find a demo program for
  LEDBlinker on the mbed.org Bluetooth team page to use the new APIs. Some of
  the GATT client functionality hasn't been implemented yet, but the APIs have
  been added.

* Most APIs in the abstract base classes like Gap and GattServer return
  BLE_ERROR_NOT_IMPLEMENTED. Previously many APIs were pure-virtual, which did
  not permit partial ports to compile.

* We've added a new abstract base class for SecurityManager. All security
  related APIs have been moved into that.

* BLEDevice has been renamed as BLE. A deprecated alias for BLEDevice is
  available to support existing code.

* There has been a major cleanup of APIs under BLE. APIs have now been
  categorized as belonging to Gap, GattServer, GattClient, or SecurityManager.
  There are accessors to get references for Gap, GattServer, GattClient, and
  SecurityManager. A former call to ble.setAddress(...) is now expected to be
  achieved with ble.gap().setAddress(...).

* We've cleaned up our APIs, and this has resulted in dropping some APIs like
  BLE::reset().

* We've also dropped GattServer::initializeGattDatabase(). THis was added at
  some point to support controllers where a commit point was needed to
  indicate when the application had finished constructing the GATT database.
  This API would get called internally before Gap::startAdvertising(). We now
  expect the underlying port to do the equivalent of initializeGattDatabase()
  implicitly upon Gap::startAdvertising().

* The callback for BLE.onTimeout() now receives a TimeoutSource_t to indicate
  the cause of the timeout. This is perhaps the only breaking API change. We
  expect it to have very little disruptive effect.

* We've added a version of Gap::disconnect() which takes a connection handle.
  The previous API (which did not take a connection handle) has been
  deprecated; it will still work for situations where there's only a single
  active connection. We hold on to that API to allow existing code to migrate
  to the new API.

Bugfixes
~~~~~~~~

* None.
2015-06-19 15:46:56 +01:00
Rohit Grover
75beb80315 switch to a yotta layout 2015-06-19 13:37:31 +01:00
Rohit Grover
1bb021e666 white space diffs. 2015-06-19 11:49:19 +01:00
Rohit Grover
b7e6ddfae1 DiscoveredCharacteristic: add API for discovering descriptors. 2015-06-19 11:49:03 +01:00
Rohit Grover
9739a146de GattClient: add helper APIs to discover services. 2015-06-19 11:04:23 +01:00
Rohit Grover
9183583ffa disconnect() should take a connection handle. 2015-06-19 10:21:08 +01:00
Rohit Grover
d11a0b04a5 update comment block for launchServiceDiscovery() 2015-06-19 10:12:20 +01:00
Rohit Grover
d90f07cc77 white space diff. 2015-06-19 10:11:18 +01:00
Rohit Grover
3a4a4c16fe SecurityManager: fix comments. 2015-06-19 09:48:09 +01:00
Rohit Grover
bf3cdb35f6 GattClient: provide default implementation for virtual methods. fix comments. 2015-06-19 09:45:37 +01:00
Rohit Grover
29e1b7f7d3 GattServer.h: provide default implementations for virtual methods. Fix comments. 2015-06-19 09:32:21 +01:00
Rohit Grover
3bf2c95c59 Gap.h: provide default implementations for virtual functions and fix up comments. 2015-06-19 09:29:33 +01:00
Rohit Grover
b70e8f6174 drop GattServer::initializeGattDatabase() 2015-06-19 09:10:16 +01:00
Rohit Grover
345e8010a2 remove un-necessary comment block. 2015-06-19 09:04:46 +01:00
Rohit Grover
16658a5f7f fix GattServer::onConfirmationReceived() 2015-06-19 09:04:33 +01:00
Rohit Grover
27a32c92a4 minor cosmetic improvements to comments 2015-06-19 09:02:57 +01:00
Rohit Grover
5c2e63a2d8 fix GattServer::onUpdatesDisabled() 2015-06-19 08:57:31 +01:00
Rohit Grover
dd7bbc9747 fix GattServer::onDataRead() 2015-06-19 08:51:59 +01:00
Rohit Grover
87c8c48d2f fix GattServer::onUpdatesEnabled() 2015-06-19 08:46:22 +01:00
Rohit Grover
16c3c1aa9d minor fix for some typos in comments 2015-06-19 08:45:23 +01:00
Rohit Grover
962533e39f fix GattServer::onDataWritten() 2015-06-19 08:37:04 +01:00
Rohit Grover
0553e6f440 fixed GattServer::onDataSent() 2015-06-19 08:35:57 +01:00
Rohit Grover
ebd6bbceb5 introduce SecurityManager 2015-06-19 08:14:12 +01:00
Rohit Grover
db2de9114e handle Gap::onRadioNotification() 2015-06-18 20:41:43 +01:00
Rohit Grover
183665a01b setup Gap::onDisconnection 2015-06-18 20:19:30 +01:00
Rohit Grover
692fe6d445 setup Gap::onConnection() 2015-06-18 19:18:56 +01:00
Rohit Grover
42d440b3ce minor cosmetic move of APIs within Gap.h 2015-06-18 19:06:30 +01:00
Rohit Grover
61eae6c03a fix Gap::onTimeout().
Introduce Gap::TimeoutSource_t. Update TimeoutEventCallback_t
2015-06-18 19:04:16 +01:00
Rohit Grover
5a93322a63 remove GATTClient related APIs from BLE 2015-06-18 18:34:59 +01:00
Rohit Grover
5b76b4ae76 GattServer: readValue()->read(), updateValue()->write() 2015-06-18 16:15:23 +01:00
Rohit Grover
42aaf6bb99 add BLE::gattServer() 2015-06-18 14:49:33 +01:00
Rohit Grover
68683f1c43 deprecate all GAP APIs from within BLE;
add consistent comment headers.
2015-06-18 14:20:43 +01:00
Rohit Grover
7d4f3584ce drop reset() from BLEInstanceBase.h 2015-06-18 06:53:36 +01:00
Rohit Grover
93ef520e62 GapAdvertisingParams: rename type to AdvertisingType_t 2015-06-17 14:16:43 +01:00
Rohit Grover
0e9fdf09a7 copy over GAP APIs from BLE into GAP 2015-06-17 11:09:28 +01:00
Rohit Grover
3832347ea8 rename accessors within Gap 2015-06-17 09:58:40 +01:00
Rohit Grover
f3de00348d rename members within GAP with an underscore prefix 2015-06-17 09:55:33 +01:00
Rohit Grover
e74eb3b4f2 moved GAP related members out of BLE and into GAP 2015-06-17 09:51:37 +01:00
Rohit Grover
756e86da71 BLE: move scanningParams to a better location 2015-06-16 12:46:56 +01:00
Rohit Grover
5981b610d1 add BLE::gap() 2015-06-16 11:58:35 +01:00
Rohit Grover
c89eea7a32 rename BLEDevice as BLE; BLEDeviceInstanceBase as BLEInstanceBase 2015-06-16 11:35:59 +01:00
Rohit Grover
532535b1ec Merge branch 'gattClient' into develop 2015-06-16 11:17:54 +01:00
Rohit Grover
9bcd743330 Rename BLEDevice as BLE. Retain an alias to BLEDevice for the sake of compatibility with old code. 2015-06-16 09:45:57 +01:00
Rohit Grover
05edd0f454 minor white space diffs. 2015-06-15 08:12:22 +01:00
Rohit Grover
43177a02f7 remove un-necessary comments in GattClient.h 2015-06-15 08:09:58 +01:00
Rohit Grover
bfc5480375 fixes #43. Added a few items to DisconnectionReason_t 2015-06-13 00:31:21 +01:00
Rohit Grover
bc4233f22a white space and cosmetic changes. 2015-06-13 00:18:40 +01:00
Rohit Grover
eaf65c9ec4 various services: changed member access levels from private to protected 2015-06-13 00:17:29 +01:00