Commit Graph

1623 Commits (79568dbe6dfac4206b51f72ddb8e82b2785d5ee4)

Author SHA1 Message Date
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