Commit graph

56 commits

Author SHA1 Message Date
Rohit Grover 7de2b7162f minor rewording of the comment introduced by the previous pull request 2015-11-16 09:41:27 +00:00
Andres Amaya Garcia f8b3f1340f Post radio notification callback through minar
The ble-nrf51822 implementation of the BLE API generated callbacks for radio
notification events without using the minar scheduler and at very high
priority. This functionality is replaced by posting events through minar
when YOTTA_CFG_MBED_OS is defined. Note that minar could not be used directly
to post callbacks because radio notification events are handled at very high
priority, which caused a hard-fault when minar tries to enter a critical
section. Alternatively, a Timeout was used to post the callback in another
context with lower priority.
2015-11-13 14:51:36 +00:00
Andres Amaya Garcia c8cb3aeee3 Change assembly sequence to avoid changing APSR
Change assembly sequence that starts the Nordic bootloader to remove
MOV instruction before cheks of IPSR. The MOV might be translated into a ADDS
that could change the APSR and cause a wrong branch to be taken.
2015-11-13 10:36:02 +00:00
Andres Amaya Garcia 90f6c9714f Fix assembly sequence to start bootloader in GCC
The assemble sequence within an mbedOS application that starts the nordic
bootloader was being modified by the compiler. The result is that DFU enabled
applications could never start the bootloader correctly. This is because the
GCC compiler was translating a MOV instruction into a ADDS, which sets the
conditional flags in APSR before a conditional branch was executed. The result
of the incorrect branch caused the program to believe that it was in interrupt
mode when this was not the case.
2015-11-13 10:35:46 +00:00
Marcus Chang 55aef3bf24 Added watchdog header file from Nordic SDK 8.1 2015-11-07 12:27:34 +00:00
Rohit Grover 6b763c8709 bring in the latest changes for BLE::init() where we allow <object, member> tuples for init callback. 2015-11-03 12:41:08 +00:00
Vincent Coubard f0d521f04c Ensure that the initialization flags is set to false if the BLE stack is
shutdown properly.
2015-11-02 17:04:47 +00:00
Rohit Grover c5dc7e52a6 add init guards for some top level APIs 2015-10-30 10:27:18 +00:00
Rohit Grover 20b07e38bc update init() to match the chagnes around initializationCompleteCallback.
refer to and
2015-10-30 10:26:37 +00:00
Andres Amaya Garcia 97a65815ed Introduced changes for memory savings
Moved GattSecurityManager and GattClient to be allocated dynamically and
reduced the size of some arrays to increase memory savings.
2015-10-29 11:39:00 +00:00
Marcus Chang 6082c76ab5 When connecting, if no scanning parameters are passed, use values from Gap parent. 2015-10-16 11:44:03 +01:00
Rohit Grover 816f4559f1 white space diffs; convert tabs to spaces 2015-10-13 12:54:46 +01:00
Rohit Grover 031ae20002 Merge branch 'patch-1' of into Timmmm-patch-1 2015-10-13 12:51:08 +01:00
Jean-Philippe Brucker eab6631cb6 Update S110 detection macros again
The mbed SDK actually prefixes all labels from with "TARGET_".
Update our detection macros accordingly.
2015-10-05 18:05:55 +01:00
Tim 4af5d03cd5 Error check number of characteristics
Currently it just blindly writes beyond the end of the array, leading to impossible-to-find bugs.

It doesn't help that the limit on the number of characteristics doesn't seem to be documented anywhere.
2015-09-29 15:04:59 +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 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 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
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
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 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 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
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
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
Rohit Grover 27cd45a37c Merge pull request #32 from jpbrucker/dynamic_clksrc
Select the clock source dynamically on SoftDevice initialisation
2015-08-05 12:35:28 +01:00
Jean-Philippe Brucker b22c2e826f Select the clock source dynamically on SoftDevice initialisation
Instead of relying on build macros to know which oscillator we're
supposedly using, check the value of LFCLKSRC register. This way, we can
trust mbed's init code to fallback on the internal clock if the user
specified a wrong target.
This change, along with the mbed patch that selects clock source
dynamically, will allow lots of application to still run and provide
FOTA, when the wrong Nordic platform is specified.

Signed-off-by: Jean-Philippe Brucker <>
2015-08-03 18:56:22 +01:00
Rohit Grover 71d6c4148f fix #29: add mention of version number to the version string. 2015-07-29 12:12:29 +01:00
Rohit Grover 6cdf4e12e0 fix #29: support getVersion for v8 of the softdevice. 2015-07-29 12:08:55 +01:00
Jean-Philippe Brucker 20f4417724 Add SoftDevice s110 compatibility
This patch adds the ability to use the API with the s110 SoftDevice.
Only a minor change is needed so far, to support the absence of roles in
2015-07-22 11:29:25 +01:00
Jean-Philippe Brucker 34977aea1c Add S110 compatibility in S130 headers 2015-07-22 11:29:25 +01:00
Rohit Grover 553132b406 add support to handle radio-notification event as a FuncionPointer so that we can have <object, member> pairs for callbacks. 2015-07-21 11:34:36 +01:00
Rohit Grover df2efa5adb white space diffs. 2015-07-13 07:51:07 +01:00
Rohit Grover c0a8c6b544 Merge branch 'master' of into afernandes 2015-07-13 07:49:07 +01:00
Andrew Fernandes 2e68655044 nRF51ServiceDiscovery should be able to match short AND long UUIDs. 2015-07-11 15:07:00 -04:00
Andrew Fernandes 4ec44d75e3 Change DiscoveredCharacteristic API to return long or short UUIDs. 2015-07-10 11:51:09 -04:00
Rohit Grover 9606130953 Merge branch 'master' of into adfernandes-master 2015-07-07 08:14:15 +01:00