Commit Graph

455 Commits (ad59bf47010141eec02a64a2c06b1bc8906ec78d)

Author SHA1 Message Date
Rohit Grover ad59bf4701 Merge branch 'develop' 2015-09-25 15:24:03 +01:00
Rohit Grover d18b39efc4 Release 0.4.8

* Relocate the FOTA bootloader image to this repository. The bootloader
  image(s) was previously stored in the mbed SDK, but it was decided that
  putting it inside the nRF module would make more sense. This allows users to
  replace the bootloader with something other than the default.

  The new search algorithm is:
   - search for any file named nrf51822_bootloader.hex *ELSE*
   - search for any file named (depending on the choice of S130/S110 softdevice)
  The exact location of the bootloader image isn't too important, since mbed
  SDK looks for file names in all scanned resource files.

* Initialize the member `authorizationReply` when posting read-write
  authorization callbacks to the application.

* Minor rework for error handling in nRF5xGattServer::write()--including
  remove of the un-necessary variable `gapConnectionHandle`.

* Update yotta CMake files to suppress warnings for unused parameters and
  missing initializers (especially when building with gcc).
2015-09-25 15:21:19 +01:00
Rohit Grover ee2b3dfe4a nRF5xGattServer::write()L remember to setup returnValue to BLE_STACK_BUSY in the case of an unforseen error. 2015-09-25 14:19:49 +01:00
Rohit Grover 2d0b533b5e adding LICENSE at the top level 2015-09-03 13:25:06 +01:00
Rohit Grover 3f9d15a7eb add LICENSE at the top level; also clarify that there are multiple licenses involved in this module 2015-09-02 14:22:39 +01:00
Rohit Grover d0d82e3e65 Merge pull #47 into develop 2015-09-02 09:18:53 +01:00
Rohit Grover 167f304b68 minor cleanup to Fabien's pull request; remove the un-necessary gapConnectionHandle 2015-09-02 09:17:02 +01:00
Rohit Grover 887426ad0b minor white space diff 2015-08-28 14:01:52 +01:00
Rohit Grover b0bf2db253 Merge branch 'master' of into fabiencomte-master2 2015-08-28 13:51:10 +01:00
Fabien Comte 6cdb6f161f rgrover patch fixed 2015-08-28 14:44:34 +02:00
Rohit Grover b94805eb39 Merge branch 'autopulated-master' into develop 2015-08-25 10:35:49 +01:00
Rohit Grover 70a7f88ec4 Merge branch 'master' of into autopulated-master 2015-08-25 10:35:35 +01:00
Rohit Grover 4fa43078db initialize all members of gattc_write_params_t in GattClient::write().
This avoids some compiler warnings about un-initialized members.
2015-08-25 10:34:01 +01:00
Rohit Grover 6a5d142f03 initialize the member authorizationReply when posting authorization callbacks to the application.
This is a nice-to-do.
2015-08-25 10:34:01 +01:00
Rohit Grover 94e699bbe8 supress warnings for unused paramters and missing initializers for the Nordic code. 2015-08-25 10:34:01 +01:00
Rohit Grover 31a28c5b87 Merge pull request #43 from jpbrucker/s110_compat
Update S110 detection macros
2015-08-25 10:28:09 +01:00
Jean-Philippe Brucker dc1d7893c4 Update S110 detection macros
Those macros are defined by mbed SDK in They changed from
MCU_NORDIC_xxx_S110 to MCU_NRF51_xxx_S110. Update the #ifdefs accordingly.
2015-08-24 18:09:28 +01:00
James Crosby b94eaffd5f remove some unnecessary include paths 2015-08-18 14:06:13 +01:00
Rohit Grover 52625825de Merge pull request #41 from jpbrucker/bootloader
Add FOTA bootloader image
2015-08-13 13:43:16 +01:00
Jean-Philippe Brucker 8f853d9676 Add FOTA bootloader image
This file was previously stored in the mbed SDK, but it was decided that
putting it inside the nRF library would make more sense.

The exact location isn't too important, since mbed SDK is looking for
file names in all scanned resource files, when building a BOOT image.

It was built from the current ARMmbed dfu-bootloader repository.
It uses the internal LF clock source only, so it is compatible with all
nRF51822 devices. In addition, it doesn't rely on a specific SoftDevice:
the SoftDevice information struct is inspected at a fixed address, to
find out the application entry point.

As a temporary solution, we'll duplicate the file because mbed assumes
we need per-SoftDevice bootloaders. In the future, this will be a single

In order to ease development, this bootloader pretends to use DFU version
0.4, so recent DFU applications won't mandate an init packet.
2015-08-13 13:36:10 +01:00
Rohit Grover 21e8e22df9 Release 0.4.7

* There's now a compile time switch to for handling for BLE stack events. For
  mbed OS, we now post callbacks to Minar, else stack events are executed
  right-away in interrupt context. In either case, the logic of event
  processing is identical--this means that the Nordic port of BLE_API will
  have the same code for mbed-classic and mbed OS. :)

  As a fallout of the above, all mbed-OS BLE event handling now happens in
  thread mode.
2015-08-13 11:12:42 +01:00
Rohit Grover 41ec57c418 version v0.4.7 2015-08-13 11:11:07 +01:00
Rohit Grover 34cffe75cb depend on an updated version of ble 2015-08-13 11:07:59 +01:00
Rohit Grover 74c707687b setup an event handler to post BLE events to Minar.
Stack and system events now get scheduled through minar.
2015-08-13 11:01:50 +01:00
Rohit Grover 6d1b1d94f6 white space diffs. 2015-08-12 10:55:44 +01:00
Rohit Grover c9a77b8253 Release 0.4.6


* Add connection handle to GATT callback parameters. This paves the way for
  applications requiring multiple concurrent connections: read/write/HVX
  callbacks will be able to distinguish between peripherals by comparing per-
  device connection handles.

* nRFGattClient: move the allocation of the singleton to within the
  getInstance() method. This saves memory when nRFGattClient isn't

* Disable GattClient features when using S110 SoftDevice. This is controlled
  by the pre-processor macros: MCU_NORDIC_16K_S110 or MCU_NORDIC_16K_S110.
2015-08-11 15:11:45 +01:00
Rohit Grover f69fd98508 version v0.4.6 2015-08-11 15:11:37 +01:00
Rohit Grover a763452453 depend on ble v0.4.6 because of addition of connHandle in gattClient callbacks param structs. 2015-08-11 14:56:27 +01:00
Rohit Grover 1da1aa8622 fix #39: have a single call to SOFTDEVICE_HANDLER_INIT() to remove duplication of BLE_EVT_BUFFER. 2015-08-11 14:42:53 +01:00
Rohit Grover c28d0eea88 fix #11. Remove include for missing header. 2015-08-11 14:35:20 +01:00
Rohit Grover 2c01109786 Merge pull request #38 from jpbrucker/s110_compat
Disable GattClient features when using S110 SoftDevice
2015-08-11 14:21:33 +01:00
Rohit Grover fff7623df3 Setup connHandle for most gattClient callbacks.
Merge branch 'jpbrucker-GattCB_conn_handle' into develop.
2015-08-11 14:11:18 +01:00
Rohit Grover 2d149d36fb Merge branch 'GattCB_conn_handle' of into jpbrucker-GattCB_conn_handle 2015-08-11 14:08:07 +01:00
Jean-Philippe Brucker 3eabc779a0 Disable GattClient features when using S110 SoftDevice
S110 compatibility is already present, but this patch adds proper handling
of observer/central related features:
* Gap::startScan will return BLE_ERRROR_NOT_IMPLEMENTED (instead of
* nRF5xGattClient uses the default GattClient implementation when S110 is
  in use. All if its methods return NOT_IMPLEMENTED.

Example: for an application that acts as both a central and a peripheral,
using S110 will make the call return
BLE_ERROR_NOT_IMPLEMENTED, and advertisement features will continue
running normally.
In addition, with GCC, this patch will free 344 bytes of RAM and 2504
bytes of flash.
2015-08-11 13:02:34 +01:00
Jean-Philippe Brucker 73147b41c2 Fill connection handle in Gatt callbacks parameters 2015-08-11 11:31:20 +01:00
Rohit Grover e699db6a54 nRFGattClient: move the allocation of the singleton to within the getInstance() method.
This saves memory when getInstance() isn't used.
2015-08-11 10:32:33 +01:00
Rohit Grover 2294f555d8 Release 0.4.5


* Renamed to GapAdvertisementParams::getIntervalInADVUnits() based on change in BLE API.
* Fix Gap::getAppearance() to checks for correct success code from sd_ble_gap_appearance_get().


2015-08-10 15:16:08 +01:00
Rohit Grover ab1f76572e version v0.4.5 2015-08-10 15:15:53 +01:00
Rohit Grover dae7886be3 require ble-0.4.5 because of API changes 2015-08-10 15:15:29 +01:00
Rohit Grover 7e6bd9a4f9
* renamed to GapAdvertisementParams::getIntervalInADVUnits()
* fix getAppearance() to checks for correct success code from sd_ble_gap_appearance_get().
2015-08-10 15:12:41 +01:00
Joshua Slater 8830c07558 getAppearance now checks for correct success code from sd_ble_gap_appearance_get 2015-08-10 15:11:33 +01:00
Rohit Grover bf25a5a4c4 rename to getIntervalInADVUnits() 2015-08-10 15:11:18 +01:00
Joshua Slater 781dcbdcfd changed getInterval to getIntervalInAdvUnits to support changes in GapAdvertisingParams.h 2015-08-10 15:08:51 +01:00
Rohit Grover fa0f12d376 version v0.4.4 2015-08-07 15:40:51 +01:00
Rohit Grover 330e3ba31f Release 0.4.4

This is a minor release.


* Minor changes to allow compatibility with S110 SDK headers. Had mostly to do
  with the role_t member in the event structure for BLE_GAP_EVT_CONNECTED.

* Select the clock source dynamically on SoftDevice initialization. This
  change will allow lots of applications to still run and provide FOTA, when
  the wrong Nordic platform is specified.

* Updated module.json because URL of the host repo has changed to


2015-08-07 15:39:18 +01:00
Rohit Grover db8e482c31 we now depend on ble v0.4.4 because of API changes 2015-08-07 15:38:54 +01:00
Rohit Grover 32f4698d56 URL of the host repo has changed to "" 2015-08-07 15:30:58 +01:00
Rohit Grover 552a3b5d46 Merge pull request #34 from jslater8/develop
Changed Gap:: to GapAdvertisingParams:: because of change in BLE
2015-08-06 13:37:29 +01:00
Joshua Slater 110db4c514 Changed Gap:: to GapAdvertisingParams:: because of change in BLE 2015-08-06 10:50:53 +01:00
Rohit Grover 692d7e08e8 minor cosmetic change to the previous commit. 2015-08-05 12:47:41 +01:00