Commit Graph

178 Commits (8ab6290f23751d58e524062f022ce61868c37b0f)

Author SHA1 Message Date
Martin Kojtal 483db06a5f
Merge pull request #13948 from rajkan01/simplify_ble_lib_inclusion
CMake: Simplify BLE library inclusion
2020-11-25 13:37:11 +00:00
Martin Kojtal 57bbb4739b
Merge pull request #13085 from pea-pod/remove-deprecated-mbed-assert
Change MBED_STATIC_ASSERTs version for built-in
2020-11-24 13:38:07 +00:00
Rajkumar Kanagaraj a964453edf CMake: target_link_library the BLE with CORDIO stack
- Security manager uses some feature from wsf which is part of the mbed-ble-cordio library so added target_link_library to link the BLE library to cordio stack lib.
2020-11-23 16:06:53 +00:00
Marc Emmers 01e56f1f34 Fix missing newline 2020-11-16 17:03:23 +01:00
Marc Emmers afc42b8fb7 Update NRF ble configuration options 2020-11-16 16:43:43 +01:00
Martin Kojtal e725df7d07
Merge pull request #13833 from AGlass0fMilk/privacy-enabled-cb-patch
Add new Gap::EventHandler callbacks to ChainableGapEventHandler class
2020-11-12 08:43:35 +00:00
Hugues Kamba bf84a5b329 CMake: Rename CMake targets
* mbed-os renamed mbed-core
* mbed-os-<COMPONENT> renamed mbed-<COMPONENT>
2020-11-06 17:25:22 +00:00
Hugues Kamba 0ddc75a8f6 CMake: Fix BLE private address linker error
List newly added files in CMake input source files.
2020-11-06 17:25:22 +00:00
Hugues Kamba fa98689639 CMake: Componentize Mbed OS into multiple CMake targets (#13732)
Aside from the core mbed-os CMake target, a number of targets have been created so they can optionally be included by application executables that require them using `target_link_libraries()`.

Co-authored-by: Martin Kojtal <martin.kojtal@arm.com>
Co-authored-by: Rajkumar Kanagaraj <rajkumar.kanagaraj@arm.com>
2020-11-06 17:25:21 +00:00
Hugues Kamba e22b19d6db CMake: Fix build failure due to BLE dir changes 2020-11-06 17:25:21 +00:00
Hugues Kamba b3c614e921 CMake: Fix CORDIO_LL build failure
List missing CORDIO_LL source file in CMake source file.
2020-11-06 17:25:19 +00:00
Hugues Kamba 20e19de028 CMake: Fix breakage due to BLE dir move 2020-11-06 17:25:19 +00:00
Martin Kojtal c29a2e2338
Merge pull request #13811 from pan-/ble-conditional-compilation
Ble conditional compilation
2020-11-06 16:11:10 +00:00
Martin Kojtal eb6b53ac92
Merge pull request #13753 from AGlass0fMilk/rm-nordic-bsp
Remove Unneeded nordic-bsp Folder from Cordio
2020-11-02 14:14:33 +00:00
George Beckstein 911cee69f2 Add new Gap::EventHandler callbacks to ChainableGapEventHandler class 2020-10-29 15:39:41 -04:00
Paul Szczeanek 34c75ffb45 fix wrong advertising set handle being passed to handler 2020-10-28 08:42:58 +00:00
Paul Szczeanek 9e509f435b fix incorrect parameter check in periodic advertising 2020-10-27 15:09:30 +00:00
Vincent Coubard ad37f560c2 BLE: Set host default version to 5.1
Disable 5.2 event handling if not enabled.
2020-10-27 14:36:59 +00:00
Vincent Coubard 87ea47f211 BLE: Refactor Gap::reset to make it more readable 2020-10-27 14:22:54 +00:00
pea-pod 507181d262 Change MBED_STATIC_ASSERTs version for built-in 2020-10-27 08:30:40 -05:00
Vincent Coubard f3031da424 BLE: Disable handling of BT5.2 event in the controller.
These events are not used nor triggered by any of our APIs. It saves ~1.4k of flash
2020-10-23 16:44:29 +01:00
Vincent Coubard 557eac0617 BLE: Conditional compilation of the security manager
Depends on the role (central or peripheral), signing enabled and secure connection enabled.
2020-10-23 16:19:38 +01:00
Vincent Coubard 2e859cdab4 BLE: Conditionally compile PAL depending on the feature selected.
Previously (most) of the code was not pulled in because the pal interface was not virtual.
2020-10-23 12:17:31 +01:00
Vincent Coubard 26300912d3 BLE: Prevent code generation from GattClient when not used. 2020-10-23 10:37:28 +01:00
Martin Kojtal 27d10506e0
Merge pull request #13785 from pan-/ble-fix-prep-write-queue-access
BLE: Fix access to attcCb.onDeck and  attsCb.prepWriteQueue access
2020-10-20 11:10:11 +01:00
Martin Kojtal 1b663a37cf
Merge pull request #13779 from paul-szczepanek-arm/fix-scan-state
BLE: Fix scan state and host resolution of RPAs
2020-10-20 11:09:24 +01:00
Vincent Coubard 3cab37793b BLE: Fix index access to attcCb.onDeck in Cordio.
The connection starts at 1, not 0. The entry in the array should be connId - 1
2020-10-19 17:23:42 +01:00
Vincent Coubard 542b725545 BLE: Fix incorrect index used to access attsCb.prepWriteQueue in Cordio
The connection id starts at the value 1. The entry accessed in the array should be connId - 1
2020-10-19 17:21:49 +01:00
Paul Szczeanek 934e111107 fix advertising report not terminating early for unwanted reports 2020-10-19 15:47:40 +01:00
Paul Szczeanek 2c906110fc missing host resolution for rpa when extended advertising is available 2020-10-19 15:47:39 +01:00
Paul Szczeanek 0931709516 replace current bool state combination for keeping track of ble scanning with an enum that covers all states 2020-10-19 15:47:39 +01:00
Martin Kojtal b242be1b08
Merge pull request #13734 from AGlass0fMilk/chainable-event-handler
BLE: Introduce ChainableEventHandler and subclasses
2020-10-19 12:27:56 +01:00
Martin Kojtal 61aa6817f0
Merge pull request #13724 from harmut01/license_refactor
Add license notice to Arm copyrighted source files
2020-10-16 09:09:53 +01:00
Martin Kojtal 75f3b6cb1c
Merge pull request #13717 from ARMmbed/feature-ble-host-privacy
Feature ble host privacy
2020-10-15 15:07:54 +01:00
Harrison Mutai 4fad1112e5 Add SPDX license identifier to Arm files
Add license identifier to files which Arm owns the copyright to,
and contain either BSD-3 or Apache-2.0 licenses. This is to address
license errors raised by scancode analysis.
2020-10-15 10:47:27 +01:00
George Beckstein 9a6d207585 Update GattServer Callback API
Update parameters passed to onDataSent, onUpdatesEnabled/Disabled, and onConfirmationReceived callbacks.

Deprecate single-callback-registering functions for event handling in lieu of the new EventHandler-based API.

Introduce new GattServer::EventHandler callback functions to replace the deprecated versions.
2020-10-14 12:44:12 -04:00
George Beckstein cda2c8bb8d Introduce ChainableGapEventHandler subclass of ChainableEventHandler
The ChainableGapEventHandler enables chaining together Gap::EventHandlers so separate parts of an application can be notified of Gap events as needed. The application can register multiple Gap::EventHandler objects to one ChainableGapEventHandler and then set the global Gap::EventHandler to the ChainableGapEventHandler. All registered EventHandlers will then be called when a Gap Event occurs.
2020-10-14 12:44:09 -04:00
George Beckstein 751674b962 Introduce ChainableEventHandler and ChainableGattServerEventHandler classes.
Common functionality has been split off into a generic ChainableEventHandler for use by other EventHandler implementations. The ChainableEventHandler is essentially singly-linked list that propagates callbacks to all objects in the list.

The ChainableGattServerEventHandler enables chaining together GattServer::EventHandlers. An application can register separate event handlers (eg: for different services that need to handle GattServer events) and then set the global GattServer::setEventHandler to the instance of ChainableGattServerEventHandler with all registered GattServer::EventHandlers.
2020-10-14 12:42:25 -04:00
Vincent Coubard 5f1b716bfb
Merge pull request #13760 from paul-szczepanek-arm/privacy-fix-ifdef
Fix conditional compilation for ble
2020-10-14 13:35:16 +01:00
Paul Szczeanek 119d459361 fix removed friend function 2020-10-14 09:58:11 +01:00
Paul Szczeanek 9f09bb4956 rename private address controller to match security manager 2020-10-13 17:40:37 +01:00
Paul Szczeanek 3f9798b52d Fix conditional compilation based on config 2020-10-13 17:32:49 +01:00
Vincent Coubard 2a4a097a93 BLE: Take advantage of controller based address resolution on WB55 2020-10-13 16:16:48 +01:00
Vincent Coubard e1842ccd87 BLE: Workaround for WB55 connection event
The connection event reported by the WB55 is incorrect if controller privacy is not enable and the peer connects with an unknown private resolvable address: The RPA field contains the connection address (it should be empty) and the peer address is all FF while it should be equal to the connection address.
2020-10-13 16:16:17 +01:00
Martin Kojtal 83579b1aa5
Merge pull request #13704 from paul-szczepanek-arm/reset-fix
ble: reset transport last and reset the default chars in gatt server
2020-10-13 11:21:21 +01:00
Martin Kojtal 35f97f4e98
Merge pull request #13729 from AGlass0fMilk/implicit-cccd
BLE: Enable getting an implicitly-created CCCD through `GattCharacteristic::getDescriptor`
2020-10-13 11:18:40 +01:00
George Beckstein 46bc1577eb Ignore unneeded Nordic BSP files 2020-10-12 23:28:15 -04:00
Johnny Robeson e27571fb83 This fixes lto type mismatch warnings in 3 functions
```sh
[Warning] pal_rtc.h@76,6: type of 'PalRtcCompareSet' does not match original declaration [-Wlto-type-mismatch]
[Warning] pal_rtc.h@73,6: type of 'PalRtcEnableCompareIrq' does not match original declaration [-Wlto-type-mismatch]
[Warning] pal_rtc.h@74,6: type of 'PalRtcDisableCompareIrq' does not match original declaration [-Wlto-type-mismatch]
```
2020-10-12 07:02:18 -04:00
George Beckstein f9af08c0ad Add error if allocation of cccd attribute fails 2020-10-09 09:47:05 -04:00
George Beckstein fa2c3633dd Add doxygen guard to private function 2020-10-07 13:32:17 -04:00