Commit Graph

568 Commits (mbed-os-5.12)

Author SHA1 Message Date
paul-szczepanek-arm d801ed340e removed redundant qualifier tripping up GCC 2019-02-14 12:34:35 +00:00
paul-szczepanek-arm cdd5c9f3b0 fix nrf52 mtu 2019-02-14 12:34:35 +00:00
paul-szczepanek-arm 193092f6d9 added spdx licence ident 2019-02-14 12:34:35 +00:00
paul-szczepanek-arm f52b20c169 move cpp to sources 2019-02-14 12:34:35 +00:00
paul-szczepanek-arm 1cea53b6a7 use grandfathered convention for class members names and initialise them 2019-02-14 12:34:34 +00:00
paul-szczepanek-arm de60b2a56a remove unused converter 2019-02-14 12:34:34 +00:00
paul-szczepanek-arm 03b747a6f6 Get the pal event handler from pal gattclient 2019-02-14 12:34:34 +00:00
paul-szczepanek-arm b628285254 route mtu changed events to server and client instead of gap 2019-02-14 12:34:33 +00:00
paul-szczepanek-arm 02d5391cd0 fix possible truncation 2019-02-14 12:34:33 +00:00
paul-szczepanek-arm b6df6d54a1 change event names 2019-02-14 12:34:32 +00:00
paul-szczepanek-arm 356ec39d02 fix style 2019-02-14 12:34:32 +00:00
paul-szczepanek-arm 21ad886e9e handle mtu and data len events for softdevice 2019-02-14 12:34:32 +00:00
paul-szczepanek-arm 06a2a403e9 fix typos 2019-02-14 12:34:31 +00:00
paul-szczepanek-arm 108d6908be route ble events to gap 2019-02-14 12:34:31 +00:00
Naveen Kaje 0563276466 btle: fix build warning about unused clockConfiguration
Fix the following build warning seen with both GCC and ARM_CC
[Warning] btle.cpp@115,0:  #177-D: variable "clockConfiguration"  was declared but never referenced
2019-02-13 10:42:48 -06:00
Cruz Monrreal 58cba25799
Merge pull request #9372 from pan-/fix-cryptotoolbox
BLE - Nordic: Release crypto cell when not in use.
2019-02-11 18:45:17 -06:00
Volodymyr Medvid a16811532b PSoC6: add implementation of BLE HCI driver for CYW4343W/CYW43012
Add Cypress HCI driver implementation in TARGET_Cypress directory.

Update targets.json to enable CORDIO stack for Cypress PSoC 6 boards
with CYW43XXX radios with compatible HCI driver implementation:
CYW4343W and CYW43012.
2019-02-07 18:24:56 +02:00
Volodymyr Medvid a304c2216a CYW4343X: move HCI driver to TARGET_STM
TARGET_CYW4343X Bluetooth HCI driver is specific to STM32 targets
derived from USI_WM_BN_BM_22. Move the driver implementation to
TARGET_STM folder to not interfere with Cypress implementation at
TARGET_Cypress/TARGET_CYW43XXX/HCIDriver.cpp that is enabled for
PSoC 6 targets which also include the CYW4343X label.
2019-02-07 18:24:55 +02:00
Senthil Ramakrishnan 2030d03590 Modified fixes with review comments 2019-02-01 17:49:49 -06:00
Senthil Ramakrishnan ea30ed7a36 Fix for ARMc6 compiler errors 2019-02-01 17:46:50 -06:00
Brian Daniels ee5281abef Remove unused yotta module metadata 2019-01-24 15:30:20 -06:00
Martin Kojtal ad5bcfc1de
Merge pull request #9427 from paul-szczepanek-arm/fix-truncation
BLE: fix possible truncation
2019-01-21 13:42:07 +01:00
paul-szczepanek-arm 001919e81a fix truncation 2019-01-18 12:10:30 +00:00
Cruz Monrreal fd2a96e7ad
Merge pull request #9339 from costanic/fix_oob
Fix Out-Of-Band (OOB) data generation for BLE OOB pairing
2019-01-17 21:51:54 -06:00
Martin Kojtal 284781a565
Merge pull request #9096 from pan-/fix-enforce-size-limits
BLE: Enforce advertising data payload limits
2019-01-17 12:41:57 +01:00
Cruz Monrreal d0665c8458
Merge pull request #9365 from lrusinowicz/cordio_ble_fix
Fix for asserion failing in BLE::callDispatcher with gcc debug profile.
2019-01-16 22:03:16 -06:00
Vincent Coubard a10a10a3d7 BLE - Nordic: Release crypto cell when not in use.
Previously, the CryptoToolbox was allocated once as part of the security manager.
This was inneficient memory wise as it is only use to prepare key at initialization
and when we need to compute shared keys.
This was also inneficient power consumption wise as the Crypto cell was kept enabled even
when it wasn't used.

This fix creates a CryptoToolbox whenever it is needed and release it once it has fulfilled its
purpose. Note that CryptoToolbox allocation happens on the heap as mbed tls data structure are huge
and there's an high risk of crushing the stack.
2019-01-14 16:56:07 +00:00
Leszek Rusinowicz f294447c25 Moved nextTimeout variable out of critical section in BLE::callDispatcher.
Initialization of Timeout object contains critical section inside constructor. Initialization inside critical section caused assertion failing under "debug" profile.
2019-01-14 11:13:28 +01:00
Nic Costa 7795e30bce Remove own_oob and peer_oob flags from Nordic PAL
the own_oob and peer_oob flags were not being set to 1 even though
an OOB pairing request was in progress, which therefore prevented
OOB data from being passed down to the softdevice during a OOB
pairing operation, thus causing the OOB pairing process to fail.
2019-01-11 08:54:30 -06:00
Nic Costa 24d793ce5d Fix parameters provided to oob generator function
The function in the Nordic SDK for generating OOB data,
sd_ble_gap_lesc_oob_data_get, requires local LE Secure Connection
P256 Public Keys in {X,Y} format, but was being supplied with
the local secret key.  This caused the generated OOB data to
fail to correspond to the Public Keys, which caused a mismatch
during the OOB pairing phase of the OOB confirmation value by
a remote peer when attempting to verify the OOB data against
the Public Keys, ultimately causing the OOB pairing request to
fail with a Confirm Value Failed (0x04) error.
2019-01-11 08:54:30 -06:00
Desmond Chen f281e06e46 BLE: NRF52 returns tx/rx phy on phy update callback 2019-01-03 10:11:14 +08:00
paul-szczepanek-arm 8b39071cd8 make function name longer 2019-01-02 14:29:30 +00:00
Desmond Chen 30ca813f07 Fix BLE long write execution failure 2018-12-19 08:08:16 -08:00
paul-szczepanek-arm e1cf516100 fix max payload and hci length values 2018-12-13 17:50:53 +00:00
Cruz Monrreal 23022dd0f9
Merge pull request #8998 from pan-/ble-extended-advertising-fixes
Ble extended advertising fixes
2018-12-10 10:36:05 -06:00
paul-szczepanek-arm c998287170 fixed ARM compilation problem caused by noreturn 2018-12-10 13:47:14 +00:00
paul-szczepanek-arm 97df8f5ed9 working ARM lib 2018-12-10 13:46:26 +00:00
paul-szczepanek-arm 642b2dfb57 working libs for GCC and IAR 2018-12-10 09:12:03 +00:00
Donatien Garnier 6f94339aed Replace ARMCC libs 2018-12-08 08:43:20 +00:00
Donatien Garnier db6b09a70f ARMCC only likes armar 2018-12-07 23:45:26 +00:00
Donatien Garnier 3f00595e62 Remove use of GPIOs (LEDs and diag pins) from Cordio LL for Nordic 2018-12-07 22:46:27 +00:00
Donatien Garnier 674ff288d6 Remove duplicate symbols in libcordio_stack.a 2018-12-07 22:04:19 +00:00
paul-szczepanek-arm a48369691e iar libs for cordio 2018-12-07 17:56:36 +00:00
paul-szczepanek-arm bdabada477 added arm version of libs 2018-12-07 17:41:50 +00:00
paul-szczepanek-arm c13dcf3387 baseband clock rate increased to 1 000 000 2018-12-07 17:12:58 +00:00
Vincent Coubard e7f81fe7e8 BLE: Fix the number of advertising sets supported
The number of advertising sets supported is the minimum of advertising sets supported beween the host and the controller.
2018-12-07 13:26:35 +00:00
Vincent Coubard 4e5240b743 BLE: Set the number of the advertising sets supported by the host to 3. 2018-12-07 13:24:52 +00:00
Vincent Coubard 57b79d9659 BLE: Set the number of supported phy by the host to 3. 2018-12-07 13:24:28 +00:00
Vincent Coubard 20e0cd1b0e BLE: Inject random static address during reset sequence. 2018-12-07 12:35:20 +00:00
Vincent Coubard a36b04fde5 BLE: Add an option to inject the random static address during the reset sequence. 2018-12-07 12:33:31 +00:00
Vincent Coubard 0d398bc8c8 BLE: Revert changes introduced by debugging. 2018-12-07 09:33:26 +00:00
Vincent Coubard 698447b622 BLE: Fix address type allowed to create a periodic sync. 2018-12-07 00:04:29 +00:00
Amanda Butler aa4b5a5dc7
Edit PortingGuide.md
Edit file for active voice.
2018-12-06 13:24:10 -06:00
Amanda Butler 61c2599587
Edit CordioHCIDriver.h
Edit file for active voice.
2018-12-06 13:22:20 -06:00
paul-szczepanek-arm df443c20ca copy periodic payload 2018-12-06 17:54:13 +00:00
paul-szczepanek-arm 22a117a6e4 always set filter policy 2018-12-06 15:43:45 +00:00
paul-szczepanek-arm 5735456487 fix swapped errors 2018-12-06 15:05:35 +00:00
paul-szczepanek-arm 58c7c3868e check return value of DmSyncStart 2018-12-06 15:04:23 +00:00
paul-szczepanek-arm d372f16bc4 fix return value 2018-12-06 15:04:00 +00:00
Vincent Coubard 0543442cc3 BLE: Fix conversion of advertising type
Previously, we were passing the event_properties as defined by the Bluetooth spec which is not what DmAdvConfig expect as the advertising type passed to DmAdvConfig is Cordio tailored (and incomplete).
2018-12-06 11:23:45 +00:00
Vincent Coubard d9d4a214b8 BLE: Revert change in stack setup initialisation.
While good this change breaks some old application that were adding GATT services before the initialisation of BLE.

This patch revert temporarily this change for now
2018-12-06 11:21:43 +00:00
Vincent Coubard e3d8b28483
Update features/FEATURE_BLE/targets/TARGET_CORDIO/driver/CordioHCIDriver.h
Fix doxygen as suggested by @pan-

Co-Authored-By: donatieng <donatien.garnier@arm.com>
2018-12-06 10:19:57 +00:00
Donatien Garnier 4485531173 Update Porting Guide with memory pool changes 2018-12-05 19:24:44 +00:00
Donatien Garnier 7e6efc2571 Cordio: Update CY8C63XX Driver to use default memory pool 2018-12-05 19:24:44 +00:00
Donatien Garnier f9b236184a Cordio: Update CYW4343X Driver to use default memory pool 2018-12-05 19:24:44 +00:00
Donatien Garnier 218bf3f80c Cordio: Update ODIN-W2 Driver to use default memory pool 2018-12-05 19:24:44 +00:00
Donatien Garnier 2978cd8404 Cordio: Make allocating too much memory for pool a warning, not a fatal assert 2018-12-05 19:24:44 +00:00
Donatien Garnier 101c5697e5 Cordio Nordic LL: Readjust memory pool requirements for NRF52840 2018-12-05 19:24:44 +00:00
Donatien Garnier c99f2497c3 Cordio Nordic LL: Optimize memory for smaller targets 2018-12-05 19:24:44 +00:00
Donatien Garnier 7a33feca23 Cordio: Split get_buffer_pool_description() in pure virtual + default implementation to avoid allocating two memory pools in a static fashion 2018-12-05 19:24:44 +00:00
Donatien Garnier b83c4fde66 Cordio: Assert if memory pool is not exactly the right size 2018-12-05 19:24:44 +00:00
Martin Kojtal c1c94c83c5
Merge pull request #8904 from pan-/ble-extended-advertising-fixes
Ble extended advertising fixes
2018-12-04 09:50:36 +01:00
Martin Kojtal ce11081db7
Merge pull request #8884 from pan-/fix-cordio-connection-iteration
BLE: Fix iteration on connections in CordioGattServer.
2018-12-03 13:40:23 +01:00
Paul Szczepanek 0c21112482
fix DM_CONN_ID_NONE loop condition 2018-11-30 08:16:17 +00:00
Vincent Coubard c99824892c BLE: Reintroduce changes to address types lost. 2018-11-28 11:29:40 +00:00
Steve Cartmell 353e991410 doc(pan-cordio): Add toolchain version used to compile cordio-ll readme 2018-11-28 10:26:14 +00:00
Steve Cartmell a3bae1c48d doc(pan-cordio): Add readme and license documents for cordio link layer 2018-11-28 10:26:14 +00:00
Donatien Garnier 5a87cfa13d Fix a few more rebasing issues 2018-11-28 10:26:14 +00:00
Donatien Garnier 89aabaec0d Fix some rebasing quirks 2018-11-28 10:26:14 +00:00
Donatien Garnier f9808140df Add number of advertising sets 2018-11-28 10:26:14 +00:00
Donatien Garnier 3ce1d91d35 Amend Nordic HCI driver to support BLE5 features 2018-11-28 10:26:14 +00:00
Steve Cartmell 1b3efa4ccd doc(pan-cordio): Add documentation to README on how to enable Cordio LL 2018-11-28 10:26:14 +00:00
Steve Cartmell 12fdab312e feat(pan-cordio): Add nordic softdevice sources back into repository 2018-11-28 10:26:14 +00:00
Donatien Garnier c68c150bf8 Fix buffer size for NRF Cordio HCI driver 2018-11-28 10:26:13 +00:00
Steve Cartmell 93bf68df0b fix(pan-cordio): Remove erroneous files added after rebasing 2018-11-28 10:26:13 +00:00
Steve Cartmell 1e1486ed18 fix(pan-cordio): Replace the compiled uECC library with the sources 2018-11-28 10:19:08 +00:00
Donatien Garnier 01620b9ba2 Use uECC C99 implementation 2018-11-28 10:19:08 +00:00
Steve Cartmell 0f4ded19ac feat(pan-cordio): Replace NRF51 softdevice BLE stack with cordio 2018-11-28 10:19:08 +00:00
Steve Cartmell f583596fea refactor(pan-cordio): Replace the uECC source with a precompiled library 2018-11-28 10:19:08 +00:00
Steve Cartmell 93267699b8 fix(pan-nordic): Fix memory allocation sizes to resolve NRF52832 issues 2018-11-28 10:19:08 +00:00
Steve Cartmell 815d0d5efc feat(pan-cordio): Add cordio-ll libraries and NORDIC implementation 2018-11-28 10:19:08 +00:00
Steve Cartmell ca2efcdd11 fix(pan-cordio): Reset timer after updating to reduce chance of overflow 2018-11-28 10:19:08 +00:00
Steve Cartmell e5aa84308f refactor(pan-cordio): Use Timer class instead of raw ticker for timing 2018-11-28 10:19:08 +00:00
Steve Cartmell 299ae1d9c6 fix(pan-cordio): Override WSF handler size in a platform specific manner 2018-11-28 10:19:08 +00:00
Steve Cartmell 5782e93a19 fix(pan-cordio): Wrap call to wsfOsReadyToSleep in a critical section
The function wsfOsReadyToSleep should only be called when interrupts are
disabled. Entering a critical section before calling the function fixes
any potential issues.
2018-11-28 10:19:08 +00:00
Steve Cartmell f60c2c9aa8 fix(pan-cordio): Increase the maximum number of supported WSF handlers
NRF52480 fails to complete BLE initialisation due to attempting to set
more event handlers than are supported by the WSF library.

Increasing the number of handlers fixes this issue.
2018-11-28 10:19:08 +00:00
Steve Cartmell 065bad6fa6 fix(pan-cordio): Move stack BLE stack setup to later in initialisation 2018-11-28 10:19:08 +00:00
Vincent Coubard d115e73e7e BLE: Fix iteration on connections in CordioGattServer. 2018-11-27 16:01:56 +00:00
Vincent Coubard 1a6246f130 BLE: Remove double handling of DM_CONN_OPEN_IND . 2018-11-27 15:30:56 +00:00
Vincent Coubard 7b1e225012 BLE: Fix address name in NRF targets. 2018-11-26 23:36:43 +00:00
paul-szczepanek-arm b552f8c3f0 fix return code for implemented func 2018-11-26 23:06:06 +00:00
Vincent Coubard 7f33145760 BLE: Fix extended advertising check. 2018-11-26 17:12:50 +00:00
Vincent Coubard ac47736259 BLE: Enable cordio extended modules if available. 2018-11-26 16:57:47 +00:00
Vincent Coubard 30c6432b5d BLE: Address code formating issue in CordioPalGap implementation. 2018-11-26 10:24:35 +00:00
Vincent Coubard 02d61cfe24 BLE: Move new version of ::GAP in a new class ::ble::Gap . 2018-11-26 10:24:34 +00:00
Vincent Coubard 869bb308c5 BLE: Add API to manage GAP connection parameter updates. 2018-11-26 10:24:34 +00:00
paul-szczepanek-arm 65d84e4227 fix case 2018-11-26 10:24:33 +00:00
paul-szczepanek-arm 09f71d278d move feature support into user api 2018-11-26 10:24:33 +00:00
Vincent Coubard 6a63948a7d BLE: Add phy in sync exstablished event. 2018-11-26 10:24:32 +00:00
paul-szczepanek-arm b276e6edaf fix high duty cycle setting (reversed) 2018-11-26 10:21:32 +00:00
Vincent Coubard 0c1e01952b Compilation fixes 2018-11-26 10:21:32 +00:00
Vincent Coubard 7de5d8c763 Merge pull request #4 from pan-/extended
Last bit of PAL extended advertising implementation.
2018-11-26 10:21:31 +00:00
Vincent Coubard b9d7e63911 BLE: Implement Advertising extension and Periodic Advertising on Cordio (WIP) 2018-11-26 10:21:31 +00:00
Leszek Rusinowicz f906aac096 Added BLE support based on CORDIO stack. 2018-11-01 20:15:57 +01:00
Cruz Monrreal 1489900162
Merge pull request #8556 from paul-szczepanek-arm/fix-phy-support
BLE: fix using an optional feature before checking for support
2018-10-29 08:46:26 -05:00
Cruz Monrreal 63946d56d8
Merge pull request #8452 from u-blox/ublox_odin_driver_os_5_v3.5.0_rc1
ble: update ODIN drivers to v3.5.0 RC1
2018-10-27 09:50:12 -05:00
paul-szczepanek-arm b77bd223d7 check for feature before using 2018-10-26 12:53:39 +01:00
Cruz Monrreal cd559940b5
Merge pull request #7966 from pingdan32/fix_nrf52_total_link
nrf52-ble: fix total links count
2018-10-23 12:32:17 -05:00
aqin 9854c1bbeb updating method name to make it more descriptive 2018-10-23 18:14:32 +05:00
aqin c539656299 update with ARM coding standard 2018-10-18 14:04:04 +05:00
aqin 2ac6cff107 BLE support added 2018-10-17 14:19:14 +05:00
Martin Kojtal 313073ca3e
Merge pull request #7958 from andrewleech/nrf_ble_configs
nrf_ble: Expose configuration of max characteristics and descriptors
2018-10-09 10:35:11 -05:00
Martin Kojtal 5faac0e4ba
Merge pull request #8269 from paul-szczepanek-arm/fix-event-malloc
BLE: replace malloc with cordio buffer allocation
2018-10-06 07:44:39 +02:00
paul-szczepanek-arm 366a5018b5 fix using an invalid cccd index 2018-10-03 16:16:41 +01:00
Andrew Leech a6f33a1a35 nrf_ble: Expose configuration of max number of characteristics and descriptors 2018-10-03 10:54:09 +10:00
paul-szczepanek-arm 88a87518b4 assert instead of error 2018-09-27 17:07:40 +01:00
paul-szczepanek-arm 8f5e2725ae remove pointless cast 2018-09-27 17:03:31 +01:00
paul-szczepanek-arm 64f93586b5 fix namespace errors 2018-09-27 16:58:19 +01:00
paul-szczepanek-arm a0df7fc637 change namespace 2018-09-27 16:36:48 +01:00
paul-szczepanek-arm 5fee50b53d removed unusused header 2018-09-27 14:05:58 +01:00
paul-szczepanek-arm abfd647279 moved SimpleEventQueue 2018-09-27 13:56:38 +01:00
pingdan32 45ae7f75c6 add entry in config file for total links configuration 2018-09-26 13:25:13 +08:00
Cruz Monrreal c3128cdfce
Merge pull request #7981 from paul-szczepanek-arm/ondatasent
BLE: fix missing updates sent callback in GattServer using Cordio stack
2018-09-18 11:30:02 -05:00
paul-szczepanek-arm 44d3504dbb missing overload 2018-09-04 13:58:50 +01:00
paul-szczepanek-arm ec373c29a0 missing onDataSent calblack for cordio 2018-09-04 13:30:08 +01:00
pingdan32 459649fce0 fix total link count 2018-09-03 16:45:18 +08:00
Ron Eldor 5817d71ad8 Change mbedtls_platform_context parameter to NULL
Change the parameter being sent to `mbedtls_platform_setup()` and
`mbedtls_platfrm_teardown()` to NULL, as it is now being unused
in Mbed OS.
2018-09-03 08:38:57 +03:00
paul-szczepanek-arm db3d124516 moved the utility function into the pal since it's only useful below pal 2018-08-29 20:25:56 +01:00
paul-szczepanek-arm baaebb47dc fix typo in preferred 2018-08-29 20:21:04 +01:00
paul-szczepanek-arm e0ca4a093f update cordio pal phy to new 5.0 stack 2018-08-29 20:21:04 +01:00
paul-szczepanek-arm 8090e7acd8 phy API implementation for cordio
phy set types added, nordic implementation updated
2018-08-29 20:21:04 +01:00
Paul Szczepanek d5c675e300 Merge pull request #6 from paul-szczepanek-arm/feature-support
support for controller features
2018-08-29 20:15:58 +01:00
Vincent Coubard 954f004d16 Nordic BLE: Implement PHY APIs for NRF52. 2018-08-29 20:15:58 +01:00
paul-szczepanek-arm 657fc45a3c updated porting guide 2018-08-24 11:30:04 +01:00
paul-szczepanek-arm f36e58b039 update readme 2018-08-24 11:14:03 +01:00
paul-szczepanek-arm 1d2ab42d27 replace libraries with sources 2018-08-24 11:14:03 +01:00
Martin Kojtal 70814d6185
Merge pull request #7417 from pan-/improve-cordio-hci-doc
Cordio Documentation: Explain how to tests and what tools are available.
2018-08-24 09:52:21 +02:00
Melinda Weed 4a9570b252 function signature line 2018-08-16 14:46:07 +03:00
Melinda Weed c1e154b1cc
removing \ 2018-08-14 16:26:30 +03:00
Melinda Weed 3b95202154 Final review and grammatical changes 2018-08-14 10:55:39 +03:00