Commit graph

782 commits

Author SHA1 Message Date
Rohit Grover 7fb8b66ebb minor rename of a variable. 2015-07-01 11:33:38 +01:00
Rohit Grover 2d59404877 #49: replace DiscoveredCharacteristic::setupOnDataRead() with GattClient::onDataRead() 2015-07-01 08:17:44 +01:00
Rohit Grover 27bc31ee0c minor white space and comment header diffs. 2015-07-01 07:39:27 +01:00
Rohit Grover 2601599599 #46: rename GATT_MTU_SIZE_DEFAULT to BLE_GATT_MTU_SIZE_DEFAULT. This avoids a name conflict with the contant defined in Nordic-SDK. 2015-07-01 07:31:24 +01:00
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