Commit graph

845 commits

Author SHA1 Message Date
Rohit Grover
d0dbe29f35 minor white space diffs 2014-11-21 08:06:22 +00:00
Rohit Grover
4234515948 Minor re-organization of member functions and their access privileges.
Make most APIs private, and accessible only to BLEDevice.
Add a private copy constructor and assignment operator.
2014-11-21 08:00:15 +00:00
Rohit Grover
a795389b7d remove un-necessary header files from Gap.h 2014-11-21 07:53:32 +00:00
Rohit Grover
5b8a2fb5fe making APIs within GattServer private; but adding friend BLEDevice. 2014-11-21 07:53:08 +00:00
Rohit Grover
d93ad344b3 Merge pull request #5 from xiongyihui/master
make the library less dependent on the mbed.h header
2014-11-20 20:13:01 +00:00
Rohit Grover
505deafd7c white space diffs. 2014-11-20 14:43:58 +00:00
Rohit Grover
ae371eaf9d add a missing header include. 2014-11-20 11:41:53 +00:00
Rohit Grover
0ee78c2c46 bringing in minor improvements from CSR's BLEDevice.h 2014-11-20 11:13:14 +00:00
Rohit Grover
503f8d5297 introduce GattServer::initializeGattDatabase() 2014-11-20 11:11:31 +00:00
Yihui Xiong
814fa47061 Update UARTService.h 2014-11-19 22:56:06 +08:00
Rohit Grover
d9fecf9209 add helper funcs: MSEC_TO_GAP_DURATION_UNITS 2014-11-19 10:08:14 +00:00
Rohit Grover
8d15b5e908 uncrustify Gap.h 2014-11-19 08:57:13 +00:00
Rohit Grover
23f9ef8058 enhance connectionEventCallback() to take in peer addr information 2014-11-18 15:10:26 +00:00
Rohit Grover
44f26b4024 adding typedef for address_t 2014-11-18 15:08:45 +00:00
Rohit Grover
1af30a8952 GattServer:: 'descriptorCount' is no longer a member of the base class. 2014-11-18 10:19:21 +00:00
Rohit Grover
90f241a5cb GattServer:: mark a few helper methods as protected. 2014-11-18 10:18:51 +00:00
Rohit Grover
66c133502e removing un-necessary headers from GattServer.h 2014-11-18 08:21:23 +00:00
Yihui Xiong
1d0b27e58d make the library less dependent on the mbed.h header 2014-11-17 01:11:28 +08:00
Rohit Grover
2f91dffc8b Merge pull request #4 from BlackstoneEngineering/master
adding initial readme with references to developer.mbed.org
2014-11-14 07:58:45 +00:00
Austin Blackstone
5ff054e23b adding initial readme with references to developer.mbed.org 2014-11-13 13:18:41 -06:00
Rohit Grover
252d056de5 increasing GAP_ADV_PARAMS_INTERVAL_MAX to 0x4000 2014-11-10 14:45:37 +00:00
Rohit Grover
039fd060ad Release 0.2.3
=============

Features
~~~~~~~~

* add API for getAddress() to fetch the MAC address.

Bugfixes
~~~~~~~~

* DFUService object needs to remain alive after ble.init(); declaring as static.

Compatibility
~~~~~~~~~~~~~

One new API has been added between 0.2.0 and this release. Applications should be updated.
2014-11-05 14:08:42 +00:00
Rohit Grover
e1a52af1d0 DFUService object needs to remain alive after ble.init(); declaring as static. 2014-09-30 01:03:56 +01:00
Rohit Grover
e8cbc425aa Release 0.2.2
=============

    Features
    ~~~~~~~~

    * Platforms enabled for DFU should introduce the DFU Service into applications automatically.

    Bugfixes
    ~~~~~~~~

    None.

    Compatibility
    ~~~~~~~~~~~~~

    No APIs have changed between 0.2.0 and this release. Applications need not be updated.
2014-09-30 00:47:01 +01:00
Rohit Grover
3f87e06d99 Release 0.2.1
=============

Features
~~~~~~~~

- Add the 'packet' characteristic to the DFUService. This helps mimic the
  layout of the actual DFU service in the dfu-bootloader. Without this, some
  FOTA clients might get confused as service definitions change after handing
  control over to the bootloader.

- Initialize DFUService's controlPoint characteristic to have the value
  0xFFFF. This helps distinguish an application from the dfu-bootloader; since
  both provide the DFU-Service.

Bugfixes
~~~~~~~~

None.

Compatibility
~~~~~~~~~~~~~

No APIs have changed between 0.2.0 and this release. Applications need not be
2014-09-26 16:42:50 +01:00
Rohit Grover
d70b360ab9 Add the packet characteristic to the DFU Service.
This helps mimic the layout of the actual DFU service in the
dfu-bootloader. Without this, some FOTA clients might get confused as
service definitions change after handing control over to the
bootloader.
2014-09-26 14:28:59 +01:00
Rohit Grover
b13f6f309c Release 0.2.0
=============

Highlights:
  Introducing standard services to simplify applications.
  Add support for over-the-air firmware updates.

Features
~~~~~~~~

- This release introduces 'templates' for common services such as heart-rate,
  battery-level, device-info, UART, device-firmware-update etc. These services
  take the shape of class declarations within header files aggregated under a
  new folder called 'services/'. These service-classes provide a high-level
  API hopefully easing the burden of developing BLE applications. The
  underlying APIs to work with characteristics and services are still
  available to allow greater control if needed. We expect to grow the
  supported services to include all SIG defined BLE profiles.

- WriteCallbackParams now includes the characteristic's value-attribute
  handle; this changes the signature of onDataWritten().

- BLEDevice::onDataWritten() now allows chaining of callbacks--this means that
  it is possible to chain together multiple onDataWritten callbacks
  (potentially from different modules of an application) to receive updates to
  characteristics. Many services, such as DFU and UART add their own
  onDataWritten callbacks behind the scenes to trap interesting events. It is
  also possible to chain callbacks to functions within objects.

- Added the following expectation for GattCharacteristic: If valuePtr ==
  NULL, initialLength == 0, and properties == READ for the value attribute of
  a characteristic, then that particular characteristic may be considered
  optional and dropped while instantiating the service with the underlying BLE
  stack.

- Introducing the typedef GattAttribute::Handle_t to capture Attribute handles.

Bugfixes
~~~~~~~~

None.

Compatibility
~~~~~~~~~~~~~

The signature of onDataWritten() has seen a change; so application programs
using this new version of the BLE API will need minor modifications. Please
refer to sample programs under BLE team page.
2014-09-22 10:59:09 +01:00
Rohit Grover
b134b516d5 Release 0.1.1: Minor bugfix release.
Bugfixes
~~~~~~~~

- Handle all valid disconnection reasons.
2014-09-08 17:11:58 +01:00
Rohit Grover
c8eccb0222 Release 0.1.0
=============

Mostly API changes.

Features
~~~~~~~~

- onConnection() callback now receives connection-parameters applicable to the
  new connection.

- onDataSent() callback now receives a count parameter containing the number of
  times notifications were sent out since the last callback.

- A 'reason' parameter has been added to Gap::disconnect() to indicate the
  reason for disconnection; and also to the onDisconnection callback to
  receive a reason from the remote host.

Bugfixes
~~~~~~~~

- onDataWritten() callback now receives an additional parameter
  (GattServer::WriteEventCallback_t) encapsulating the update. This avoids
  having to re-fetch the updated characteristic's value attribute. It also
  fixes a bug where multiple updates to the characteristic's value-attribute
  could get clobbered if they occurred in quick succession before the
  callbacks could be processed.
2014-09-02 15:09:46 +01:00
carlescufi
0cb7eb3eca Move value attribute as member of the char class 2014-08-29 10:41:06 +02:00
carlescufi
9603702120 Add support for adding descriptors 2014-08-28 15:50:29 +02:00
carlescufi
f63175122a Add optional descriptors to the char constructor 2014-08-28 14:17:34 +02:00
carlescufi
fdfd14c37f Add an Attribute class and derive GattCharacteristic from it, to prepare for descriptors 2014-08-27 15:22:22 +02:00
Rohit Grover
d49846740b rename BLEDeviceInstanceBase.hpp to .h; our online toolchain has problems with exporting .hpp files 2014-07-31 14:39:35 +01:00
Rohit Grover
d36e2ab23d remove include of nordic-specific gatts.h from GattCharacteristic.h 2014-07-31 09:07:59 +01:00
Rohit Grover
3155996258 move constants for appearance and UUIDs into blecommon.h 2014-07-25 10:34:18 +01:00
Rohit Grover
e88e3baf0f add APIs for get/setDeviceName(), get/setAppearance(), getVersion(), and setTxPower(). 2014-07-24 15:38:15 +01:00
Rohit Grover
65a336308c adding another error instance to blecommon.h 2014-07-24 15:35:04 +01:00
Rohit Grover
9c8f69c78c initial re-organization of BLE_API directory structure 2014-07-23 15:09:23 +01:00
Rohit Grover
227cf0ebf0 add APIs for working with connectionParams 2014-07-11 14:39:17 +01:00
Rohit Grover
fd4b9e57cb connection and disconnection callbacks need to take a connection handle 2014-07-10 12:12:06 +01:00
Rohit Grover
8c0e55c918 add accumulateScanResponse() to BLEDevice.h 2014-07-09 09:08:53 +01:00
Rohit Grover
ddfdb06026 move the declaration of setAdvertisingPayload within BLEDevice.h 2014-07-09 09:07:37 +01:00
Rohit Grover
e6f85b5495 minor rename of a class variable to help readability 2014-07-08 11:12:19 +01:00
Rohit Grover
1d1a471636 accumulateAdvertisingPayload(flags) should allow for combinations of flags 2014-07-04 11:27:20 +01:00
Rohit Grover
33da94e934 switch onDataSent() to become independent of attribute handle 2014-07-03 09:59:53 +01:00
Rohit Grover
e69eff0a2d add SetAdvertisingPayload() to allow applications to dynamically update the advertising payload 2014-07-03 09:57:05 +01:00
Rohit Grover
46ec9f1365 undoing the negative effects of a previous use of uncrustify 2014-07-02 09:08:48 +01:00
Rohit Grover
a0b9857682 GapAdvertisingData::addFlags() should take a uint8_t bitmask instead of a 'Flags' 2014-06-19 14:09:37 +01:00
Rohit Grover
f80ce69ccb add comment headers to the commonly used functions of BLE_API 2014-06-13 13:07:46 +01:00