Commit Graph

589 Commits (b06e30ed3595e9c0a344239da65baf12b2556a3d)

Author SHA1 Message Date
paul-szczepanek-arm 42d3a58d66 change tick rate to 1 ms 2019-03-07 16:07:25 +00:00
Cruz Monrreal 7b3cc93cb4
Merge pull request #9907 from pan-/fix-cordio-conf
BLE - Fix cordio configuration
2019-03-06 13:45:41 -06:00
Desmond Chen 3fe18a1f7d BLE:Cordio:Fix insert characteristic not handle error 2019-03-05 09:57:21 +08:00
Desmond Chen 070a412432 BLE:Cordio:insert_descriptor check r/w properties 2019-03-04 11:08:15 +08:00
Vincent Coubard b21e1d23d5 BLE - Register the Att call handler whenever the GATT_SERVER is available. 2019-03-01 18:33:22 +00:00
Vincent Coubard 77511c3983 BLE - Call SecInit unconditionally as it is required by low HCI level driver
That module handles random number incomming from the controller. Overhead is low (less than 150 bytes of flash).
2019-03-01 18:32:19 +00:00
paul-szczepanek-arm 61b063129d MBED_WEAK in random spot removed 2019-03-01 15:05:59 +00:00
paul-szczepanek-arm f740985627 remove define that trips up IAR 2019-03-01 14:46:43 +00:00
paul-szczepanek-arm 34ef17370b fix signing permissions 2019-03-01 11:58:52 +00:00
paul-szczepanek-arm e247852043 reinstate fixes 2019-03-01 11:23:28 +00:00
paul-szczepanek-arm 0c855780d1 remove duplicate headers 2019-03-01 10:59:44 +00:00
paul-szczepanek-arm 64e70e8ca0 cordio controller change from library to source 2019-03-01 10:59:44 +00:00
paul-szczepanek-arm a3c1345d45 these consts are not in fact const 2019-03-01 10:59:42 +00:00
paul-szczepanek-arm fdb10908cc fix warning of no return 2019-03-01 10:59:42 +00:00
paul-szczepanek-arm 2c10b93a12 deal with not implemented functions 2019-03-01 10:59:42 +00:00
paul-szczepanek-arm 8989e39bb1 update copyright years 2019-03-01 10:59:42 +00:00
paul-szczepanek-arm dc66204c1b cordio host sources updated 2019-03-01 10:59:41 +00:00
Cruz Monrreal f8d254fc4c
Merge pull request #9790 from paul-szczepanek-arm/ble-conf
Ble conf
2019-02-28 22:08:41 -06:00
Cruz Monrreal aaf3ce4741
Merge pull request #9727 from pan-/optimize-size
BLE API devirtualization
2019-02-28 18:20:36 -06:00
Vincent Coubard 4e172ba22d BLE - Fix conditional directive. 2019-02-28 16:31:34 +00:00
Vincent Coubard 74bc6774f9 BLE - Fix conditional directive. 2019-02-28 16:31:07 +00:00
Vincent Coubard 5ae59fc534 BLE - Improve FEATURE_PRIVACY conditions. 2019-02-28 14:47:07 +00:00
Vincent Coubard 24f7f36f01 BLE - Return supported feature based on compile time features. 2019-02-28 14:23:19 +00:00
Vincent Coubard 04891b205c BLE - Conditionally handle gap events. 2019-02-28 14:13:45 +00:00
Vincent Coubard ea9554dfbc BLE - restrict AttConnRegister to GattServer. 2019-02-28 14:12:56 +00:00
Vincent Coubard 9566af64fb BLE - Fix initialization of extended advertising modules. 2019-02-28 13:51:50 +00:00
Vincent Coubard 6a3f3d187e BLE - Conditionnally remove LESC and privacy event processing. 2019-02-28 13:45:05 +00:00
Vincent Coubard 632851e5ae BLE - Small reordering to reduce diff. 2019-02-28 12:02:23 +00:00
Vincent Coubard 9e5e23aad6 BLE - Remove conditional directive in construction of Cordio objects. 2019-02-28 11:37:21 +00:00
Vincent Coubard a31d1012db BLE - Cleanup CordioPalSecurityManager conditional directives.
- Within constructor
- Within member declaration
- Private function declaration and definition.
2019-02-28 11:36:36 +00:00
Vincent Coubard b0d62a7090 BLE - Fix conditional code within CordioPalGenericAccessService. 2019-02-28 11:35:34 +00:00
Vincent Coubard dedc204daa BLE - Cleanup CordioGattServer conditional directives. 2019-02-28 11:34:35 +00:00
paul-szczepanek-arm a034bf875e gatt server pass
mostly phy and security issues
2019-02-27 21:52:07 +00:00
paul-szczepanek-arm bc3ff56504 partial security pass 2019-02-27 21:46:08 +00:00
paul-szczepanek-arm eb16fb6053 broadcaster role cordio pass 2019-02-27 21:34:00 +00:00
paul-szczepanek-arm 630b2fe792 more gap ifdefs 2019-02-27 21:08:15 +00:00
paul-szczepanek-arm 1d5b7d4056 ifdef source files based on features 2019-02-27 21:00:11 +00:00
paul-szczepanek-arm c8d8c4e159 merge failure fix 2019-02-27 21:00:10 +00:00
paul-szczepanek-arm 30ad32a465 ifdef out security features 2019-02-27 20:59:35 +00:00
paul-szczepanek-arm 9e710d4309 git review changes 2019-02-27 20:59:35 +00:00
paul-szczepanek-arm 33e8826361 whitelist feature 2019-02-27 19:46:43 +00:00
paul-szczepanek-arm 5a97706aab added #if guards to cordio ble 2019-02-27 19:46:12 +00:00
paul-szczepanek-arm bed567825f connectable is a feature not role 2019-02-27 19:31:47 +00:00
paul-szczepanek-arm 26cc72f191 add more feature toggles in cordio init 2019-02-27 19:31:47 +00:00
paul-szczepanek-arm aefab05e5a add all the features and rename existing non-roles to features 2019-02-27 19:31:46 +00:00
Steve Cartmell 8e36ed4b1e feat(ble): Guard out the CordioBLE initialisation code 2019-02-27 19:29:51 +00:00
Steve Cartmell 5d73a03a64 feat(ble): Guard out SecurityManager code when role is disabled 2019-02-27 19:24:40 +00:00
Steve Cartmell 73f7ffb124 feat(ble): Guard out GattServer code when role is disabled 2019-02-27 19:24:39 +00:00
Steve Cartmell 6e301ce148 feat(ble): Guard out GattClient code when role is disabled 2019-02-27 19:23:31 +00:00
Vincent Coubard 73f29e7733 BLE - Fix qualification of abort and terminate. 2019-02-26 13:18:18 +00:00
Vincent Coubard 9ab284940a BLE - Devirtualization of the NRF52 softdevice port. 2019-02-26 13:18:18 +00:00
Vincent Coubard ddbb177e33 BLE - Devirtualization of the NRF51 port. 2019-02-26 13:18:17 +00:00
Vincent Coubard b86049d1e7 BLE - Devirtualization of the legacy NRF51822 port. 2019-02-26 13:18:17 +00:00
Vincent Coubard 0323d91f04 BLE - Devirtualization of the Maxim port . 2019-02-26 13:18:17 +00:00
Vincent Coubard 536443b1f8 BLE - Devirtualization of the Cordio port. 2019-02-26 13:18:17 +00:00
Desmond Chen 0143229bd0 Fix Cordio Gatts descriptor configuring write permission 2019-02-26 11:30:57 +08:00
Cruz Monrreal d0881ad259
Merge pull request #9813 from paul-szczepanek-arm/cordio-cfg
BLE: Cordio build time configuration through mbed_lib.json
2019-02-25 17:28:56 -06:00
Cruz Monrreal 8ec8674e4e
Merge pull request #9833 from donatieng/remove_beetle
Remove Arm Beetle target for Mbed OS 5.12
2019-02-25 17:27:22 -06:00
paul-szczepanek-arm f62217b3dd typos 2019-02-25 15:33:52 +00:00
paul-szczepanek-arm a7297186b5 fixed names 2019-02-25 15:30:55 +00:00
paul-szczepanek-arm e75c534445 stray comma 2019-02-25 15:23:35 +00:00
Donatien Garnier 176e5779ce Remove Arm Beetle target
Deprecation in preparation for Mbed OS 5.12 and move to IAR8 and ARMC6
2019-02-25 12:09:03 +00:00
paul-szczepanek-arm 6842c8718b revert macros 2019-02-25 09:52:21 +00:00
paul-szczepanek-arm 6a2b6b891a use existing macro names 2019-02-25 09:49:16 +00:00
Lei Zhang a47b365776 PSOC6: send HCI reset after patch RAM download
After the patch RAM download is completed, a HCI reset should be sent in order to initialize the registers. Some of the initialization won't be called if the HCI reset is not sent after firmware download.
2019-02-22 23:43:52 -08:00
paul-szczepanek-arm 4b0296a6e1 prepared writes options 2019-02-22 13:52:21 +00:00
paul-szczepanek-arm 4470f64581 mention config in readme 2019-02-22 11:33:23 +00:00
paul-szczepanek-arm 86546440d7 put cordio cfg in mbed_lib.json 2019-02-22 11:28:28 +00:00
Volodymyr Medvid b0a33273ff Correctly include EventQueue.h
There are two EventQueue.h in mbed-os codebase:
events/EventQueue.h
features/FEATURE_BLE/ble/pal/EventQueue.h

By accident, `mbed compile` generates includes.txt with the correct
order of include search paths. This is not the case for the CMake
exporter: targets with FEATURE_BLE enables fail to compile with errors:

mbed-os/features/cellular/framework/AT/ATHandler.h:99:60: error:
'events' has not been declared

Update all places to always include either "events/EventQueue.h"
or "ble/pal/EventQueue.h": to always find the correct header.
2019-02-21 17:59:05 +02:00
Volodymyr Medvid cefc7452c9 PSOC6: do not reconfigure BT GPIO pins in CYW43XXX HCIDriver 2019-02-19 17:59:04 +02:00
Desmond Chen 79e8bf4bc9 BLE:Cordio: ATTS setting for write cback should use bitwise or 2019-02-19 14:19:44 +08:00
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