Commit Graph

355 Commits (218fee80b6cd095ef631ba78be22478b3705fefa)

Author SHA1 Message Date
Vincent Coubard 4f1e574eff Cordio GattServer: Fix uses of designated initializer.
These are not legal in C++ code.
2018-05-02 18:14:54 +01:00
Vincent Coubard 7e043ead96 Nordic BLE: Add stub implementation of remove_peer_csrk in security manager. 2018-05-02 17:52:39 +01:00
Vincent Coubard f79eeb0173 Cordio: Update stack and pal to support LE security mode 2 level 2. 2018-05-02 14:32:38 +01:00
Vincent Coubard 01e3a004a6 Cordio: register server authorization callback. 2018-05-01 12:29:03 +01:00
Vincent Coubard 549a513dfb Cordio: Enable client and server signing 2018-05-01 12:28:37 +01:00
Vincent Coubard d0c4d7a8a3 Cordio: Forward server related events to CordioGattServer 2018-05-01 12:27:49 +01:00
Vincent Coubard 0f64b1c988 CordioGattServer: Global refactoring
The registration process has been breaked down into several functions that register the service attribute, characteristic declaration attributes, characteristic value attributes and characteristic descriptors.

Service registration now consider all characteristics permissions: read, write and update. Permissions are also considered when updates needs to be propagated to peers.

Handling of user authorization is also a change introduced by this refactoring.
2018-05-01 12:26:24 +01:00
Vincent Coubard 2da6fa3947 Cordio PAL security manager: Copy locally own CSRK
The stack does not copy csrk when DmSecSetLocalCsrk is invoked; it just retains a pointer to it. Therefore a copy is kept inside the pal.
2018-05-01 11:35:16 +01:00
Vincent Coubard e4813f4fe9 Cordio PAL Security Manager: Copy locally own IRK.
The IRK needs to be stored somewhere as it is not copied inside the stack, the stack just keeps a reference to it.
2018-05-01 11:33:36 +01:00
Vincent Coubard 2924bb4c86 Cordio PAL ATT Client: initialize the local sign counter to 0. 2018-05-01 11:29:45 +01:00
Vincent Coubard 2c8b9ab3dc BLE: Remove example section from cordio porting guide.
This section is not applicable in the public version of mbed-os.
2018-04-25 12:15:28 +01:00
Vincent Coubard 6bb80317f8 BLE: Update cordio porting guide
Remove the section "Include prebuilt libraries" as it is not applicable
anymore.
2018-04-25 11:48:23 +01:00
Vincent Coubard 6a90232b6b BLE: Update cordio stack binaries.
The new build contains a fix related to permission verification of
characteristic that requires signed write.
2018-04-20 14:57:14 +01:00
Donatien Garnier f9b371fc0f Handle required BLE5 softdevice commands 2018-04-19 09:40:41 -07:00
Donatien Garnier aeab2ecbbf Fix potential race condition in nRF5xn.cpp 2018-04-19 09:40:41 -07:00
Marcus Chang 97426d63e9 NRF52 BLE: Fix GCC C++11 include error
Change <memory> include to <new>

From: d001fb1c66
2018-04-19 09:40:41 -07:00
Donatien Garnier 64baf717e8 Upgrade NRF52 BLE API to version 5
* Add NRF_SD_BLE_API_VERSION=5 macro to MCU_NRF52832 target
* Added initial Softdevice v5 API support for nRF5XPalGattClient.cpp
* Added initial Softdevice v5 API support for nRF5xGap.h
* Added initial Softdevice v5 API support for nRF5xGattServer.cpp
* Make sure the ah() hash function used by the security manager is declared with C linkage
* Removed 'ARM porting pending' checks in Nordic SDK
* Added BLE configuration to mbed_lib.json for NRF52x targets
* Migrated APIs and events model for Nordic SDK14.2 & SD API v5 in btle.cpp; adopted polling dispatch model
* Migrated APIs and events model for Nordic SDK14.2 & SD API v5 in nRF5xn.cpp
* Migrated APIs and events model for Nordic SDK14.2 & SD API v5 in nRF5xGap.cpp
* Added const qualifier to hwCallbacks's p_ble_evt parameter in nRF5xGattServer
* Add workaround to enable Radio Notification module from Nordic SDK
  * Disabled SWI1 interrupt manually from SWI driver module
    * Added missing include directive for "nrf_nvic.h" in ble_radio_notification.c
* Set correct number of custom UUIDs
* Adjust Softdevice RAM requirements for NRF52832/S132
  * RAM settings for the application were adjusted as follow:
    * Start: 0x20003800
    * Size: 0xC800
* Adjust Softdevice RAM requirements for NRF52840/S140
  * RAM settings for the application were adjusted as follow:
    * Start: 0x20003700 (was 0x20003000)
    * Size: 0xC900
* Added 3dBm as a permitted TX Power value for NRF52832
* Fix address type recovery in GAP
* Return min non-connectable adv interval compatible with infrastrcture's expectations
* Moved BLE driver from TARGET_SDK_14_2/FEATURE_BLE to TARGET_SDK_14_2/TARGET_SOFTDEVICE_COMMON/ble
2018-04-19 09:40:41 -07:00
Vincent Coubard b3c871c960 BLE: Implement privacy on Nordic targets. 2018-04-16 18:18:05 +01:00
Vincent Coubard 2a9d80c5f0 BLE: Change nRF5xSecurityManager::resolve_address signature
Return the resolving list entry instead of accepting in parameters.
2018-04-16 18:18:04 +01:00
Vincent Coubard a18283d897 BLE: change nRF5xSecurityManager::get_resolving_list return
It now returns a resolving list entry.
2018-04-16 18:18:04 +01:00
Vincent Coubard fb680db621 BLE: Implement resolving list in Nordic PAL security manager 2018-04-16 18:18:04 +01:00
Vincent Coubard 365f3d2527 BLE: Add ah in Nordic CryptoToolbox. 2018-04-16 18:18:04 +01:00
paul-szczepanek-arm 9a9167602d moved init code into non-const for clarity 2018-04-16 15:58:03 +01:00
paul-szczepanek-arm 12899b1e09 fix const induced recursive call 2018-04-16 15:34:15 +01:00
Vincent Coubard 8643fd55ed BLE: Add stub for signing API in Nordic pal security manager. 2018-04-11 14:22:51 +01:00
Paul Szczepanek 6c900642e5
Merge pull request #28 from paul-szczepanek-arm/signing-counter
sign counter added
2018-04-10 17:06:14 +01:00
paul-szczepanek-arm 1ba920a338 missing init 2018-04-10 16:47:29 +01:00
paul-szczepanek-arm 70067105d6 class in header 2018-04-10 16:42:43 +01:00
paul-szczepanek-arm a2484b63b0 Signing event monitor proxy to bind both server and client 2018-04-10 14:58:29 +01:00
paul-szczepanek-arm 4fff20583d sign counter kept track by the class using it 2018-04-09 17:49:54 +01:00
paul-szczepanek-arm 55d3423a5e typedef uint32_t 2018-04-09 13:35:17 +01:00
paul-szczepanek-arm be912ded5b normalised the getters const insanity 2018-04-09 12:14:52 +01:00
Vincent Coubard f53a0e4906 Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into sc-nordic 2018-04-09 09:09:01 +01:00
paul-szczepanek-arm 57149b69e4 monitor for signing events and set local counter 2018-04-04 19:24:00 +01:00
paul-szczepanek-arm 1d74dfa1f9 redundant funcs removed 2018-04-04 18:02:16 +01:00
Vincent Coubard dcff810457 BLE: replace byte_array_t::buffer with byte_array_t::data 2018-04-04 17:20:08 +01:00
paul-szczepanek-arm acfc5b218d set cordio csrk and counter 2018-04-04 17:16:34 +01:00
paul-szczepanek-arm 2e1c5fc123 completely redundant 2018-04-04 17:16:16 +01:00
paul-szczepanek-arm 539a11ee31 sign counter added 2018-04-04 15:59:10 +01:00
Vincent Coubard 17b3e26429 BLE: remove trace in Nordic PAL security manager 2018-04-04 15:42:47 +01:00
Vincent Coubard 04ab07ff16 BLE: Add documentation to CryptoToolbox. 2018-04-04 15:41:20 +01:00
Vincent Coubard 59a301a256 BLE: CryptoToolbox enhancement
- Rename LescCrypto into CryptoToolbox
- Use ArrayView of fixed size as parameters
- Add licence
2018-04-04 15:31:31 +01:00
Vincent Coubard 7bf0eb009a BLE: use ArrayView to pass and get parameters in Crypto API
This change allow vendor pal code to use its own array format.
2018-04-04 11:04:13 +01:00
paul-szczepanek-arm 780d8a4375 let the stack know whether csrk is authenticated 2018-04-03 15:41:43 +01:00
paul-szczepanek-arm 5ae9cc3b53 set peer csrk on pal 2018-04-03 15:41:43 +01:00
Paul Szczepanek 381b99bc61
Merge pull request #25 from paul-szczepanek-arm/oob-gen
generate oob at will and without passing in connection handle
2018-04-03 15:30:21 +01:00
Vincent Coubard 3272863f83 BLE Nordic: Support LESC. 2018-03-29 17:24:46 +01:00
Vincent Coubard f0e18fa007 BLE: Add LESC crypto toolbox for Nordic. 2018-03-29 17:23:54 +01:00
Vincent Coubard 3218e79805 BLE: Fix reference to security manager in Nordic event handler. 2018-03-29 17:23:24 +01:00
Donatien Garnier 8b66c4bd28 [BLE] Fixed inconsistent casing issue for SecurityDb 2018-03-28 10:44:09 +01:00
paul-szczepanek-arm c542650734 removed unused param from call 2018-03-26 18:07:29 +01:00
Vincent Coubard 87c2045f5e Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into sc-nordic 2018-03-26 17:12:37 +01:00
Vincent Coubard db20ecbbde
Merge branch 'security-manager-dev' into oob-gen 2018-03-26 16:49:55 +01:00
Vincent Coubard 3579653533 Cordio: Implement missing functions for secure connection 2018-03-26 15:48:59 +01:00
paul-szczepanek-arm 98efb9da06 generate oob at will and without passing in connection handle 2018-03-23 18:31:27 +00:00
Vincent Coubard b859907481 Cordio: remove generate_public_key from the security manager. 2018-03-23 12:06:08 +00:00
paul-szczepanek-arm 66867d4dd3 oob stored in generic and handed over to pal when requested 2018-03-16 14:48:04 +00:00
Vincent Coubard 5e8630dcc6 BLE Nordic: Complete implementation of pal security manager 2018-03-15 11:24:31 +00:00
Vincent Coubard 1638902341 BLE: Whitespace fix 2018-03-15 09:34:41 +00:00
Vincent Coubard 761beafeb3 BLE: Complete nRF5xGap initialization list 2018-03-15 09:34:21 +00:00
Vincent Coubard 288abf5287 BLE: Add nRF5x constructor 2018-03-15 09:33:25 +00:00
Vincent Coubard c3fd90430a BLE: Fix references to ConnectionEventMonitor::EventHandler 2018-03-15 09:32:58 +00:00
Vincent Coubard eb8ec9c22d Merge branch 'nordicpalsm' of https://github.com/donatieng/mbed-os into sc-cordio 2018-03-12 10:15:18 +00:00
Vincent Coubard 5a2008211a Cordio: Implement missing functions for secure connection 2018-03-09 18:06:22 +00:00
Vincent Coubard 38bee37804 Cordio: remove generate_public_key from the security manager. 2018-03-09 18:05:31 +00:00
paul-szczepanek-arm 19bb13c8c5 one last typo 2018-03-09 14:56:37 +00:00
paul-szczepanek-arm 7c82e91981 fixed typo 2018-03-09 12:49:10 +00:00
jiangkun1994 af7c1c919d fixes a typo in README.md 2018-03-07 03:33:31 +08:00
jiangkun1994 5be35c92da fixes some typos in README.md 2018-03-07 03:27:45 +08:00
paul-szczepanek-arm b8ba99a184 handling OOB data generation and verification now pushed down to PAL level 2018-03-05 11:29:13 +00:00
Donatien Garnier 713ab14d22 Removed deprecated Security Manager 2018-03-01 20:06:38 +00:00
Donatien Garnier 7b6b02a746 Nordic PAL - Breaks existing SM 2018-03-01 19:50:13 +00:00
Vincent Coubard f0405690b7 BLE: Resolve issue with address type in advertising report. 2018-03-01 15:48:21 +00:00
Vincent Coubard 03f79eec39 BLE: Remove Nordic Pal SM draft. 2018-03-01 15:39:51 +00:00
Vincent Coubard e8f29f7327 BLE - Cordio - PAL SM: refine comments and formating. 2018-03-01 14:59:06 +00:00
Vincent Coubard 36247b32b8 BLE - Cordio PAL SM: Implement Keypress notification 2018-03-01 14:58:01 +00:00
Vincent Coubard 56af3cb1be CBLE - Cordio PAL SM: Implement slave security request notification 2018-03-01 14:57:05 +00:00
Vincent Coubard da6ede34a8 BLE - Cordio PAL SM: Select correct on_ltk_request overload. 2018-03-01 14:56:30 +00:00
Vincent Coubard 628ffea6de BLE - Cordio PAL SM: Forward local keys 2018-03-01 14:55:45 +00:00
Vincent Coubard 18c93990b6 BLE - Cordio PAL Sm: generate random passkey displayed. 2018-03-01 14:55:12 +00:00
Vincent Coubard ecc7118490 BLE - Cordio PAL SM: Implement send_keypress_notification 2018-03-01 14:54:06 +00:00
Vincent Coubard 9043714443 BLE - Cordio PAL SM: Select correct security level in enable_encryption 2018-03-01 14:53:33 +00:00
Vincent Coubard 79db2af488 BLE - Cordio PAL SM: Choose correct security level in set_ltk 2018-03-01 14:53:00 +00:00
Vincent Coubard 4858388672 BLE - Cordio PAL SM: comment get_authentication_timeout 2018-03-01 14:52:09 +00:00
Vincent Coubard 054b7808b4 BLE - Cordio PAL SM: implement set_authentication_timeout 2018-03-01 14:51:43 +00:00
Vincent Coubard a057e5c0d2 BLE - Cordio PAL SM: Fix force secure connection. 2018-03-01 14:50:31 +00:00
Vincent Coubard cd7d9c551c Cordio pal SM: comment appropriately privacy related functions. 2018-03-01 14:47:46 +00:00
Vincent Coubard 1170b3132d BLE: Remove useless pal sm API 2018-03-01 14:46:12 +00:00
Vincent Coubard c00ae29ca7 Cordio: Update stack binaries.
New binaries contains a fix in configuration handling.
2018-03-01 11:01:19 +00:00
Vincent Coubard d050c4e4af BLE: Fix CordioPalSM set_io_capability 2018-03-01 10:24:13 +00:00
Vincent Coubard dbf4a8da49 BLE: Implement CordioSM get_secure_connection_support. 2018-03-01 10:22:42 +00:00
paul-szczepanek-arm c52d324dab pass in information about the mitm and sc quality of the ltk to the pal 2018-02-28 12:02:54 +00:00
paul-szczepanek-arm e186985b26 addressing PR review: added documentation, moved code and renamed vars 2018-02-27 17:22:13 +00:00
paul-szczepanek-arm 5de1979f5c types renamed as per review requests 2018-02-27 10:33:35 +00:00
Vincent Coubard 47e005e14c
BLE: Fix address report in Maxim port. 2018-02-23 15:50:34 +00:00
Vincent Coubard 1698c2d5be BLE: Add missing encryption implementation in cordio pal SM. 2018-02-22 11:51:02 +00:00
paul-szczepanek-arm 6b0ba64ee2 SM fixes to init and register the event handler correctly 2018-02-21 18:35:44 +00:00
Vincent Coubard c5be493bb7 BLE: Add address type in AdvertisementCallbackParams_t. 2018-02-21 17:41:14 +00:00
Vincent Coubard e3d7f2bb05 BLE: Add address type in AdvertisementCallbackParams_t. 2018-02-21 14:14:31 +00:00
paul-szczepanek-arm c65419239f fixed compiler errors for pal after its update 2018-02-20 18:01:21 +00:00
paul-szczepanek-arm 396ca2ca20 removed redundant cast 2018-02-19 17:29:45 +00:00
paul-szczepanek-arm 990e21247c pull in cordio security manager into BLE 2018-02-19 17:26:24 +00:00
paul-szczepanek-arm dd7bc50e4b Merge branch 'master' into palsm 2018-02-19 16:39:10 +00:00
paul-szczepanek-arm ecacbda507 compiler errors fixed after the merge 2018-02-19 16:28:01 +00:00
paul-szczepanek-arm d9156a28e2 connection monitor 2018-02-19 15:32:07 +00:00
Andrew Leech d001fb1c66 Avoid importing <memory> as this causes a typedef conflict on `error_t` whien compiling with gcc "-std=gnu++11" or above 2018-02-16 12:10:44 +11:00
paul-szczepanek-arm 55045010d6 fixed all the compilation errors and recent pal changes 2018-02-13 11:01:30 +00:00
Vincent Coubard 7b169997c8 BLE Cordio: partial implementation of set ltk. 2018-01-19 18:49:39 +00:00
Vincent Coubard a849f7f433 BLE Cordio: Enable handling of security. 2018-01-19 18:42:59 +00:00
Vincent Coubard 818ec8c8ec BLE SM: Align CordioPalSecurityManager with PalSecurityManager and fill the blanks 2018-01-19 14:36:55 +00:00
paul-szczepanek-arm dee47771fd updated implementations with new classes for auth and distribution masks 2018-01-18 15:42:50 +00:00
Vincent Coubard 743e57ffaa Nordic BLE: Draft SM event handler. 2018-01-17 18:37:48 +00:00
Vincent Coubard 7e37cc739f Nordic BLE: SM pal function draft (legacy pairing) 2018-01-17 18:37:48 +00:00
Vincent Coubard 5277f5a0fd BLE: Fix signature of get_secure_connections_support in implementations. 2018-01-17 18:37:48 +00:00
Vincent Coubard 527a31663c BLE - Nordic: Add Skeleton for the security manager 2018-01-17 18:37:48 +00:00
Vincent Coubard ffb59eecb8 CORDIO BLE: Add PAL SM event handling (draft). 2018-01-17 18:37:47 +00:00
Cruz Monrreal 671c2d7e90
Merge pull request #5346 from scartmell-arm/feature-hal-spec-critical-section
Add Critical Section HAL API specification
2018-01-16 12:49:38 -06:00
Vincent Coubard 9bd0fa5708 BLE Cordio: Fix call to SafeEnum<>::value() 2018-01-16 18:11:38 +00:00
Vincent Coubard e4b5681563 Cordio: Add SecurityManager singleton 2018-01-16 18:09:35 +00:00
Vincent Coubard c3c24d8641 Cordio: Implementation of base functions necessary for legacy pairing. 2018-01-16 18:04:40 +00:00
Vincent Coubard 0cd4f93041 Add skeleton of the PalSecurityManager for the Cordio Stack. 2018-01-16 17:19:26 +00:00
Daniel Schuler 271b09cda6 Add presentation format descriptor support for NRF52 2018-01-13 15:49:40 -08:00
Cruz Monrreal dc87f0b1e6
Merge pull request #5313 from pan-/ble-cordio-pal-gap
Cordio: Pal Gap implementation
2018-01-11 10:35:42 -06:00
Steven Cartmell 061795c489 Move in_critical_section implementation into the HAL
- Add function to HAL hal_in_critical_section()
- Wrap assert in FEATURE_UVISOR macro
2018-01-09 10:41:29 +00:00
Vincent Coubard c5bc247217 Nordic BLE: Use SD API version rather than SDK define. 2018-01-08 14:00:23 +00:00
Vincent Coubard e9ba84168b Nordic BLE: Fix PalGattClient for SDK v13. 2018-01-08 13:52:42 +00:00
Vincent Coubard e8bad03a1c Nordic BLE: Simplification and clarification of pal client implementation. 2018-01-08 12:04:02 +00:00
Steven Cartmell e14bee5209 Fix potential race condition in critical section HAL API
Call underlying HAL implementation to enter critical section/disable interrupts
before incrementing the global critical section counter.

Modify HAL implementations to track first entrances to the critical section and
only update the saved state on first enter.
2018-01-05 14:55:58 +00:00
Steven Cartmell 3c9ae7bf1c NRF51_DK: Add Critical Section HAL implementation 2018-01-05 14:55:57 +00:00
Vincent Coubard 70e5a14a4d BLE: Generic Gap - fix address management. 2017-12-21 17:39:25 +00:00
Vincent Coubard 65f74bf8ac BLE: Address GattClient comments
* invalid namespace name documentation
* vocabulary
* typo
* Add constants to improve readability
* Fix abort usages
2017-12-21 16:51:10 +00:00
Vincent Coubard 3fdb749a33 BLE: Remove old client implementation. 2017-12-20 16:27:12 +00:00
Vincent Coubard 865bd94fbd BLE: Enable Generic client on Nordic targets. 2017-12-20 16:26:40 +00:00
Vincent Coubard dea488b4f0 BLE: Introduce pal client adaptation layer for nordic targets. 2017-12-20 16:13:06 +00:00
Martin Kojtal 969f8af386
Merge pull request #5589 from pan-/ble-nordic-set-description-handle
Nordic: Set handle of user description descriptors.
2017-11-30 18:07:48 +00:00
Vincent Coubard 6f19dea656 BLE: Fix GattServer::write on Nordic targets.
GattServer::write on Nordic's targets use sd_ble_gatts_hvx to send an
handle value Notification or Indication; This function can fail if the
connection handle is invalid or if Updates are not enabled for this
connection.

This patch workaround those limitations.
2017-11-27 18:56:51 +00:00
Vincent Coubard a665f3e06d Nordic: Set handle of user description descriptors. 2017-11-27 14:26:05 +00:00
Vincent Coubard b0094ac0d3 BLE: Fix initialization of GattHVXCallbackParams in Nordic port. 2017-11-03 12:35:33 +00:00
Vincent Coubard c8747aad0f Cordio: Use GenericGap instead of CordioGap. 2017-10-31 17:40:01 +00:00
Vincent Coubard e9170e6507 BLE: Cordio fix default connection handle for GattServer write and areUpdatesEnabled 2017-10-31 17:40:00 +00:00
Vincent Coubard c30eee0f03 BLE: Cordio implementation of ble::pal::Gap. 2017-10-31 17:40:00 +00:00
Vincent Coubard 0d0cdb6f8e BLE: Cordio implementation of pal::GenericAccessService. 2017-10-31 17:40:00 +00:00
Gabor Kertesz 0e2f5b938d Beetle BLE: Fix variable length GATT attribute
Variable length flag was lost during attribute settings,
so variable length GATT attributes should have been set
to the predefined maximum length.
This fixes issue #86.

Change-Id: Ia0cd236ecd903fdb9e62a21bffef57d1e63764b9
2017-10-30 13:53:12 +01:00
Vincent Coubard 75c9dfce68 BLE: Add Cordio port.
It allows mbed users to enable BLE on targets with an external BLE module.
2017-09-26 15:20:17 +01:00
Vincent Coubard 38bb6b4e52 BLE: Add error code management in Gatt read and write data structures.
Also fix wrong usage of designed initializer in CPP files.
2017-09-26 15:20:15 +01:00
Vincent Coubard 85e88ccb2c BLE NRF: Fix wrong usage of designed initializer in cpp code. 2017-09-26 15:20:15 +01:00
Jimmy Brisson 75549754bc Compile source code for Maxim targets
They don't link because of differences in the precompiled libraries
2017-09-11 13:20:32 -05:00
Jesse Marroquin 3a4138369d Update BLE, fix sleep and open-drain LEDs in MAX326xx
MAX32630FTHR gets BLE, uses timer peripheral 5 for HCI timing
libexactLE update for 610,620
Fixup hal_sleep and hal_deepsleep for 620
LEDn outputs now forced to open-drain
2017-07-14 17:36:56 -05:00
Martin Kojtal 3553a4573a Merge pull request #4178 from nvlsianpu/getAddrFromPeerTab_sd_api_5
[NRF52840]: SecurityManager::getAddressesFromBondTable
2017-06-01 14:05:39 +02:00
Andrzej Puzdrowski 39c1b3f5f3 Redirect "implemenetation of SecurityManager::getAddressesFromBondTable for SD 5.x.x" to NRF5 BLE port sources. 2017-05-16 13:48:13 +02:00
Andrzej Puzdrowski 64f2a9d467 remove unwanted (and unused anymore) NRF5_SDK13 BLE port. It was omited in https://github.com/ARMmbed/mbed-os/pull/4245. 2017-05-16 11:46:35 +02:00
Andrzej Puzdrowski 1f1168a51e NRF5: changes for code review of merg nrf52840 to NRF5 sources
s140 headers renamed form ble_* to nrf_ble_*,
Removed s130 and s132 headers named form ble_*
(Them had been added by #2ff572682798562e812015dc775b5896e0fda5a4)
Headers inclusinons were changed in order to meet above changes.

Revrted bad change in us_ticker.c:
use __disable_irq lock instead of core_util_critical_section_enter lock
for setting rtc1 tick for systick emulation as was good before.
2017-05-09 15:43:30 +02:00
Andrzej Puzdrowski 53c6f853c0 Apply resloution for the "Read long UUID of service problem" according to
NRFFOETT-1674.
2017-04-27 12:15:58 +02:00
Andrzej Puzdrowski b2080ab6d9 Make NRF5 BLE implementation compatible with SoftDevice API 2.x.x,3.x.x,5.0.0-1.alpha by
Copy of changes from
features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NRF5_SDK13/source
to
features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NRF5/source
2017-04-27 09:46:38 +02:00
Ron Eldor c78f73ca63 Fix compilation errors on linux machine
Change path of include from '\' to '/', which works on linux as well.
2017-03-22 08:38:34 +01:00
Andrzej Puzdrowski b1e55094aa [NRF52480] fix bugs:
- 128 bits service's UUID discovered by a GATT client was shifted.
- not possible to connect while being scanning.
- not possible to scanning while being connected.
    for sd >= 3 whitelisting is now setups into setWhitelist method
- Gap::setAddress could failed
- Gap::getWhitelist wron implemenation
2017-03-22 08:38:34 +01:00
Andrzej Puzdrowski 9f0d754ab6 [NRF5_SDK13] fix:
- whitelistin setup modifies identitiy flag and omits address' type.
2017-03-22 08:38:34 +01:00
Andrzej Puzdrowski f32da7a9ee [nRF5_SDK13] fix:
Gap::setAddress implementation
Gap::getPermittedTxPowerValues implemnetation
2017-03-22 08:38:34 +01:00
Andrzej Puzdrowski 3a81e23cf2 [nRF5_SDK13] Changes from CR.
- fix typso, renaming, repharse commnets.
- fix alghoritm of white/id lists setup functions in nRF5xGap class.
2017-03-22 08:38:34 +01:00
Andrzej Puzdrowski 4e188af065 upgrade implementationof gap::connect in case of private address and whitelisting for SD API 3 and further 2017-03-22 08:38:34 +01:00
Andrzej Puzdrowski 9d8c05bbe8 introduce API update to (v3.x.x and further)in BLE_GAP_EVT_CONNECTED service.
whitelist and identiti list settings provider now takes into account scaner filter po0licy and advertise r filter policy
2017-03-22 08:38:34 +01:00
Andrzej Puzdrowski 42fcae481a nRF5: whitelisting update fo SD API >-3.x.x 2017-03-22 08:38:34 +01:00
Andrzej Puzdrowski 689d12df62 NRF5_SDK13: Make BLE sources compilable - this is not redy to use!
- Remove ble_advertising.h/c - it was unused, redundant code
- includes for SD header ble.h were changed to headers\ble.h in order to distingusch form feature-ble BLE.h
- btle_init() introduced PM for disable <B>privacy</B> for API 3 and further.
- temporary removed or mocked real implemantation of whitelist-ing support functionalities:
btle_security.createWhitelistFromBondTable , gap::startAdvertising, gat::startRadioScan, gap::stopAdvertising
Gap::generateStackWhitelist, Gap::getStackWhiteIdentityList-(mock)
- Characteristic Descriptor Discoverer - aligned to the apply SD API
- long uuid service's read spupport
- add BLE features support to sdk configurations file
- publicate sdk's id_manager.ah() function.
- cutted out f. app_error_handler for mbed-os
- removed PACKED definition form app_util_platform (redefined by mbed-os)
- Gap::setAddress  - allign to new SD API using peer manager
- extend Gap::getPermittedTxPowerValues for nRF52840
2017-03-22 08:38:34 +01:00
Andrzej Puzdrowski f1c3d75c21 initial creation of nRF52840 BLE target implementation "NRF5_SDK13" as a copy of "NRF5" 2017-03-22 08:38:34 +01:00
Vincent Coubard 5596cd05cd [NRF51822] Fix reference to sleep in hal_patch override
The `sleep` function as been changed into `hal_sleep` by #3607.
Unfortunately the call to `sleep` in the hal_patch for the NRF51822 has not been
updated to `hal_sleep`. The result was a link time error for targets based on
NRF51822_LEGACY compiling with the mbed OS 5 tree.
2017-03-09 12:44:49 +00:00
Hovik Melikyan c4a979ef72 Allow to redefine nRF's PSTORAGE_NUM_OF_PAGES outside of the mbed-os source
By default the number of pstorage pages is set 1 and all addresses are
calculated in the pstorage module accordingly. Nordic recommends
changing this macro to whatever number is suitable for the app (see
https://devzone.nordicsemi.com/question/53066/what-will-be-the-starting-
address-of-pstorage-page-how-we-can-change-it/?answer=53085#post-id-5308
5) which is not quite elegant given that pstorage_platform.h is part of
the mbed-os repo. With this modification you can e.g. define
PSTORAGE_NUM_OF_PAGES on the command line, however note that you should
rebuild mbed-os with this setting as it affects pstorage_platform.c.
2017-02-24 11:24:24 +00:00
Bartek Szatkowski 6a045a49a9 Platform: Add sleep/deepsleep user facing functions
Add sleep/deepsleep functions to platform layer which are replacing HAL
functions with the same name, rename existing symbols in HAL layer
to hal_sleep/hal_deepsleep. This way sleep functions
are always available, even if target doesn't implement them, which makes
the code using sleep clearer. It also enables us to make decision on in
which builds (debug/release) the sleep will be enabled.
2017-01-19 09:39:29 +00:00
Vincent Coubard c59e057717 Fix documentation of function allocateLongWriteRequest. 2016-11-15 13:25:10 +00:00
Vincent Coubard 969c63040e Various fixes regarding typos, dead code and consistency. 2016-11-15 13:22:12 +00:00
Vincent Coubard 453045ab74 [BLE - NRF5] Add support for long write requests. 2016-11-10 16:58:07 +00:00
Martin Kojtal a7a53b7b6c Merge pull request #3046 from mmorenobarm/master
[BEETLE] Update BLE stack on Beetle board
2016-10-26 15:08:55 +02:00
Martin Kojtal 4ec2f2e3ec Merge pull request #2943 from nvlsianpu/nrf_nvic_set_vector_func_trzy
[NRF5] NVIC_SetVector functionality
2016-10-25 11:10:03 +02:00
Marc Moreno Berengue e7829cd617 [BEETLE] Update BLE Cordio libraries
This patch updates the BLE Cordio libraries.

Signed-off-by: Marc Moreno <marc.morenoberengue@arm.com>
2016-10-24 17:41:23 +01:00
Sam Grove e410157557 Merge pull request #2865 from anangl/hal_fixes
TARGET_NRF5: A few corrections in HAL implementation.
2016-10-13 11:40:10 -05:00
Jeremy Brodt d535180784 [MAX326xx] Added support for FEATURE_BLE. Integrated MaximBLE library. 2016-10-12 08:59:38 -05:00
Andrzej Puzdrowski 8302ce0625 Fix - Remove unwanted changes to the legacy nrf51822 target (caused by rebase). ad applied them to
to regular targets.
Fix a typo and polish nordic's code.
2016-10-10 16:50:03 +02:00
Andrzej Puzdrowski 00b0fafd9e nRF5x Add registering bluetooth's IRQn vector by NVIC_SetVector. 2016-10-10 09:45:31 +02:00
Głąbek, Andrzej 691969c315 TARGET_NORDIC: restored old 'sleep()' implementation in legacy HAL, moved the new one to FEATURE_BLE, so it is picked only when SoftDevice is in use. 2016-10-06 11:51:41 +02:00
Vincent Coubard dcf03310d0 NRF5 - Fix usage of volatile variable in nordic critical section implementations. 2016-09-29 10:05:02 +01:00
Vincent Coubard 597f104685 TARGET_NRF51822 - Override critical section enter/exit when Nordic SDK v10 is used.
This change is not located in the hal because SDK v10 is not available from this
place. It is safe to provide the implementation in BLE because the SDK V10 is
defined there. Default implementations of critical section enter/exit are safe
as long as the softdevice is not used.
2016-09-28 13:53:51 +01:00
Vincent Coubard 6cdfb19304 BLE: TARGET_NRF - Avoid redefinition of ASSERT macro.
Instead, the BLE code use the macro ASSERT_TRUE
2016-09-26 13:29:03 +01:00
Vincent Coubard 2af37a6e1e TARGET_MCU_NRF51822 - Move declaration of fs_callback into the proper file. 2016-09-26 13:29:02 +01:00
Vincent Coubard bf28f88878 TARGET_MCU_NRF51822 - Fix comparison between signed and unsigned integer. 2016-09-26 13:29:00 +01:00
Vincent Coubard 85a7d6d39f TARGET_MCU_NRF51822 - Fix comparison between signed and unsigned integer. 2016-09-26 13:28:58 +01:00
Vincent Coubard defa15b1bf TARGET_MCU_NRF51822 - Comment unused variable.
The choice has been made to comment this variable instead of deleting it because
the macros values which use this variable are commented as well.
2016-09-26 13:28:56 +01:00
Vincent Coubard bad230b67b TARGET_MCU_NRF51822 - Avoid comparison between signed and unsigned integers. 2016-09-26 13:28:54 +01:00
Vincent Coubard 591aa78b55 TARGET_MCU_NRF51822 - Replace definition of SVCALL with the one used by SDK V11.
This change avoid warnings about unused functions.
2016-09-26 13:28:52 +01:00
Vincent Coubard cce4094f37 BLE: TARGET_NRF5: use non deprecated version of Ticker::attach_us. 2016-09-26 13:28:51 +01:00
Vincent Coubard 1ecb1a6ca2 BLE: TARGET_NRF - Remove unused variable. 2016-09-26 13:28:49 +01:00
Vincent Coubard 07da784395 BLE: TARGET_MCU_NRF51822 - Fix signed to unsigned comparison. 2016-09-26 13:28:46 +01:00
Vincent Coubard 80740dda06 TARGET_NRF - Fix possible invalid comparison. 2016-09-26 13:28:44 +01:00
Vincent Coubard 36c001d0e8 TARGET_MCU_NRF51822 - Fix inline keyword position. 2016-09-26 13:28:39 +01:00
Vincent Coubard 4ae2453eb6 NORDIC - remove the unused and incorrect PACKED() macro from the Nordic SDK.
This macro is not used anywhere.
2016-09-26 13:28:36 +01:00
Sam Grove d8efe713e7 Merge pull request #2778 from pan-/avoid_inclusion_of_ble_code_if_not_used
BLE - Nordic implementation: Move singleton into a function.
2016-09-25 21:57:23 -05:00
Vincent Coubard e8bddd6711 BLE - Legacy nordic implementation: Move static singleton into a function.
The change of scope all the code from BLE when this code is not used by the end
user application.
2016-09-22 12:10:14 +01:00
Vincent Coubard b4ac8f214a BLE - Nordic implementation: Move singleton into a function.
This change remove BLE code from the binary generated if the user code doesn't
use BLE.
2016-09-22 11:58:29 +01:00
Andrzej Puzdrowski 13a1fd5584 [BLE NRF5] Fix bug: "purgeAllBondingState could had returned before deletion task was done"
by reimplement the btle_purgeAllBondingState as blocking function.
2016-09-20 12:01:22 +02:00
Andrzej Puzdrowski e67117b8ea introduce the SDK nRF5 Peer manager into BLE security features
PM will be used for SoftDevices s13x, otherwise DM will be used.

Fix - security key distribution settings - Signing is not supported.

declare usage of encryption LTK and IRK if boonding enabled

deleted unused local reference to nRF5xGap class in bleGattcEventHandler.
fix PM internal bug (For gcc with -0s optimization an application fail to save a boonding data)
fuse redeclaration of PACKED macro in nRF5 SDK sources
2016-09-13 14:16:55 +02:00
Sam Grove 32b134e277 Merge pull request #2345 from pan-/fix_nrf51_export
Fix nrf51 export
2016-08-02 23:18:12 -05:00
Vincent Coubard 5323c29080 Remove unneded folders in NRF51 SDK.
Move content from sources/nordic_sdk/components to sources.
2016-08-02 22:32:44 +01:00