paul-szczepanek-arm
54a866c159
add broadcaster ifdef and pull headers into ifdef
2019-02-28 17:18:30 +00:00
Vincent Coubard
72e5d3f603
BLE - Filter user facing implementation based on configuration
2019-02-28 16:31:59 +00: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
eeca03f952
BLE - Fix exclusion of getMaxAdvertisingSetNumber and getMaxAdvertisingDataLength
2019-02-28 16:29:21 +00:00
Vincent Coubard
3142f26def
BLE - Exclude services if GattServer is not available.
2019-02-28 16:28:15 +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
20c4e4ced5
BLE - Fix call to implementation.
2019-02-28 13:40:09 +00:00
Vincent Coubard
020c5b4262
BLE - Disabling SecurityManager connection handling when security disabled.
2019-02-28 13:34:05 +00:00
Vincent Coubard
af09f7b8ab
BLE - Disable peer csrk retrieval if signing disabled.
2019-02-28 13:30:36 +00:00
Vincent Coubard
ca44ce3cd8
BLE - Conditionally expose SecurityManager::enableSigning
2019-02-28 13:27:16 +00:00
Vincent Coubard
eeb14c5ce6
BLE - Conditionally include address rotation at compile time
2019-02-28 13:26:51 +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
Vincent Coubard
831241df12
BLE - Cleanup GenericSecurityManager conditional directives
...
- Inheritance lisr
- Within constructor
- Within member declaration
- Private function declaration and definition.
2019-02-28 11:33:49 +00:00
Vincent Coubard
e706b6cc52
BLE - Cleanup Generic GattClient conditional directives.
...
- Inherithance list
- private functions exposed
- members declaration.
2019-02-28 11:32:51 +00:00
Vincent Coubard
07f3ca2723
BLE - Cleanup GenericGap conditional directive
...
- Within constructor
- Within member declaration
- Private function declaration and definition.
2019-02-28 11:31:48 +00:00
Vincent Coubard
593cf2bd7c
BLE - Remove conditional compilation of FileSecurityDb
2019-02-28 11:30:07 +00:00
Vincent Coubard
f7df97bed7
BLE - Remove conditionnal directive within GattClient::WriteOp_t
2019-02-28 11:29:35 +00:00
Vincent Coubard
c9d719a8ca
BLE - Cleanup conditional directives in Gap.
...
- Remove conditional directives for member variables.
- Remove conditional directive for processXXX functions that are exclusively used by implementation.
- Remove conditional directives on types exported by the class.
2019-02-28 11:28:55 +00:00
Vincent Coubard
126a7a966e
BLE - Cleanup conditional directives in gap/Gap/
...
- Remove directives from event handler type
- Expose privacy default configuration unconditionally
- Fix conditional test for connect and cancelConnect.
2019-02-28 11:27:02 +00:00
Vincent Coubard
bc10a09c4e
BLE - Remove conditional directive removing functions in pal.
2019-02-28 11:24:08 +00:00
Vincent Coubard
3c9e778433
BLE - Remove conditionnal directive within services
2019-02-28 11:23:05 +00:00
Vincent Coubard
06b26d4e8a
BLE - remove conditional directive from value types
2019-02-28 11:22:37 +00:00
Vincent Coubard
ba9aa6b641
Fix rebase mistakes.
2019-02-27 22:15:06 +00:00
paul-szczepanek-arm
cd2501bb64
tab fix
2019-02-27 21:52:07 +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
f8c28fcbe7
privacy pass
2019-02-27 21:51:16 +00:00
paul-szczepanek-arm
aa6342b265
cordio security pass
2019-02-27 21:47:22 +00:00
paul-szczepanek-arm
bc3ff56504
partial security pass
2019-02-27 21:46:08 +00:00
paul-szczepanek-arm
a1815e31f0
correct dependencies for central and peripheral
2019-02-27 21:39:07 +00:00
paul-szczepanek-arm
c3a72073be
cordio extended peripheral pass
2019-02-27 21:39:07 +00:00
paul-szczepanek-arm
e950da11f2
extended doesn't depends on phy
2019-02-27 21:39:06 +00:00
paul-szczepanek-arm
ec6783ed77
cordio peripheral role pass
2019-02-27 21:39:06 +00:00
paul-szczepanek-arm
45eca7c373
cordio observer role pass
2019-02-27 21:36:26 +00:00
paul-szczepanek-arm
eb16fb6053
broadcaster role cordio pass
2019-02-27 21:34:00 +00:00
paul-szczepanek-arm
c198603c63
ble ifdefs
2019-02-27 21:17:15 +00:00
paul-szczepanek-arm
e44c3edede
fix gap ifdefs
2019-02-27 21:17:15 +00:00
paul-szczepanek-arm
909b78fc14
complete gap feature ifdef
2019-02-27 21:15:54 +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
cb3d79bf9b
update descriptions
2019-02-27 20:57:10 +00:00
paul-szczepanek-arm
7974726659
fixed conf file (tabs and order)
2019-02-27 20:57:09 +00:00
paul-szczepanek-arm
208eb200f1
gatt client signing
2019-02-27 20:57:09 +00:00
paul-szczepanek-arm
3e03c11832
guard class fields with ifs
2019-02-27 20:55:58 +00:00
paul-szczepanek-arm
33e8826361
whitelist feature
2019-02-27 19:46:43 +00:00
paul-szczepanek-arm
bc69e15638
revert accidental changes
2019-02-27 19:46:42 +00:00
paul-szczepanek-arm
dc3aba181e
fix BLE_CONNECTABLE_FEATURE macro
2019-02-27 19:46:12 +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
b60eaf14a2
require macros to be defined
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
9a22db0e96
implied features
2019-02-27 19:31:46 +00:00
paul-szczepanek-arm
ab4e47661d
move config to ble feature
2019-02-27 19:31:46 +00:00
paul-szczepanek-arm
212e9477d3
require at least one role observer or broadcaster
2019-02-27 19:31:46 +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
72d28d920a
feat(ble): Guard out Observer code when role is disabled
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
Steve Cartmell
9806f91ecf
feat(ble): Add preprocessor check to determine enabled roles are valid
...
A number of BLE roles depend on each other, checking within the target
configuration file for a valid configuration is infeasible. Move the
validation to the preprocessor and fail to compile if some required
roles are not enabled.
2019-02-27 19:00:08 +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
Vincent Coubard
04d26f7ab5
BLE - Devirtualize ::ble::generic::GenericSecurityManager
...
Two parameters are expected by the template:
- TPalSecurityManager a template class of the security manager of the form TPalSecurityManager<EventHandler>. The GenericSecurityManager is the event handler.
- SigningMonitor a template in the form SigningMonitor<Handler>.
2019-02-26 13:18:17 +00:00
Vincent Coubard
b135074821
BLE - Devirtualize ble::generic::GattClient
...
GenericGattClient is parametized by two types:
- The template of the PalGattClient
- The SigningMonitorEventHandler
Note that the PalGattClient template must be of the form PalGattClient<EventHandler>. The event handler being the GenericGattClient.
2019-02-26 13:18:17 +00:00
Vincent Coubard
39e938bf8e
BLE - Devirtualize ble::generic::GenericGap
...
Expected types are similar to the type expected by the constructor:
- PalGap
- PalSecurityManager
- ConnectionEventMonitorEventHandler
Note that for the PalGap we expect a **template** of the form PalGap<EventHandler>
2019-02-26 13:18:17 +00:00
Vincent Coubard
e70fb27d55
BLE - cleanup includes.
2019-02-26 13:18:17 +00:00
Vincent Coubard
fb39848481
BLE - Cleanup deprecation implementation bits in BLE.cpp
2019-02-26 13:18:17 +00:00
Vincent Coubard
7796e733ad
BLE - Devirtualize ::SecurityManager
...
The interface now lives in ::ble::interface::SecurityManager. The implementation type is expectected to exported as ble ::ble::impl::SecurityManager by the implementation.
2019-02-26 13:18:17 +00:00
Vincent Coubard
6d2592a137
BLE - Devirtualize ::GattServer.
...
The interface is defined in ::ble::interface::GattServer and an implementation must export the implementation type ::ble::impl::GattServer.
2019-02-26 13:18:17 +00:00
Vincent Coubard
e56fd682a1
BLE - Devirtualize ::GattClient
...
Interface definition now lives in ble::interface::GattClient. An implementation must export the implementation type in ::ble::impl::GattClient.
2019-02-26 13:18:17 +00:00
Vincent Coubard
43e87fb04d
BLE - Devirtualize ::ble::Gap
...
The interface definition now lives in ::ble::interface::Gap.
The implementation must export the implementation types as ::ble::impl::Gap.
2019-02-26 13:18:17 +00:00
Vincent Coubard
1ad726322f
BLE - Devirtualization of ::Gap
...
The interface definition now lives in ::ble::interface::LegacyGap. Implementation must export the implementation type as ble::impl::LegacyGap.
2019-02-26 13:18:17 +00:00
Vincent Coubard
2d007eee42
BLE - Devirtualize pal::SigningEventMonitor
...
The event handler has been extracted out of SigningEventMonitor declaration and SigningEventMonitor instantion requires the implementation and event handler type.
2019-02-26 13:18:17 +00:00
Vincent Coubard
50de4c8a44
BLE - Devirtualize pal::SecurityManager
...
The event handler has been extracted out of SecurityManager declaration and instantion of the interface requires the implementation and event handler type.
2019-02-26 13:18:17 +00:00
Vincent Coubard
e1371f8149
BLE - Devirtualize pal::GattClient
...
The event handler has been taken out of GattClient declaration and an instantiation requires the actual implementation and the type that handle events.
2019-02-26 13:18:17 +00:00
Vincent Coubard
0749100676
BLE - Devirtualize pal::Gap
...
The event handler has been taken out of Gap declaration and the instantiation must provide an implementation and the type that plays the event handler role.
2019-02-26 13:18:17 +00:00
Vincent Coubard
6514bbd1f0
BLE - Devirtualize pal::ConnectionEventMonitor
...
The event handler has been extracted out of the monitor declaration.
2019-02-26 13:18:17 +00:00
Vincent Coubard
71b8d8a2f3
BLE - devirtualize pal::AttClientToGattClientAdapter
2019-02-26 13:18:17 +00:00
Vincent Coubard
333a31507b
BLE - devirtualize pal::AttClient
2019-02-26 13:18:17 +00:00
Vincent Coubard
7e78433cec
BLE - replace some usages of Gap::Handle_t by ble::connection_handle_t
2019-02-26 13:18:17 +00:00
Vincent Coubard
bc098d0272
BLE - add static interface helper.
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
Cruz Monrreal
b1d0d9e95c
Merge pull request #9776 from ConradBraam/adv_builder
...
adv builder helper now returns an object
2019-02-20 12:04:51 -06:00
Conrad Braam
57033ee91a
adv builder helper now returns an object
2019-02-20 13:54:38 +00:00
Martin Kojtal
2d30d0ff99
Merge pull request #9762 from vmedcy/psoc6-target-updates
...
PSOC6: update the psoc6pdl and HAL to the latest version
2019-02-20 11:23:54 +01:00
paul-szczepanek-arm
db4aecb275
fixed initialisation order
2019-02-19 17:26:43 +00: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
3808db90b2
require pal event handler to be complete
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
a3f635eb88
fix type name
2019-02-14 12:34:33 +00:00
paul-szczepanek-arm
c10fc2eb8e
add API to trigger MTU negotiation
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
paul-szczepanek-arm
c452d8ff0e
add mtu events
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
paul-szczepanek-arm
d9c919b7e1
review fixes
2019-01-30 12:19:04 +00:00
paul-szczepanek-arm
e1a8fb5a7a
check scanning status first
2019-01-30 11:45:26 +00:00
paul-szczepanek-arm
7f888f86bf
scan timeout for 4.2 controllers using new API
2019-01-30 11:37:17 +00:00
Cruz Monrreal
66cda8a8fe
Merge pull request #9499 from bridadan/remove_yotta_modules
...
Remove unused yotta module metadata
2019-01-28 10:37:30 -06:00
Cruz Monrreal
b49d949b50
Merge pull request #9393 from pan-/fix-safe-enum-type-safety
...
BLE: Fix SafeEnum type safety
2019-01-28 10:31:52 -06:00
Brian Daniels
ee5281abef
Remove unused yotta module metadata
2019-01-24 15:30:20 -06:00
Martin Kojtal
4019efb21d
Merge pull request #9399 from paul-szczepanek-arm/fix-null-check
...
BLE: fix missing null checks on Gap event handler
2019-01-21 13:43:16 +01: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