Lingkai Dong
f3c29df377
Suppress warnings of deprecated API in deprecated services
...
Services that already have deprecation notices in place should
not trigger more warnings from the compiler.
2019-05-23 09:17:22 +01:00
Lingkai Dong
31edc25ae7
Deprecate UARTService
...
UARTService is rarely used and has not been actively updated.
2019-05-22 13:49:23 +01:00
Lingkai Dong
1b71c934c4
BLE services: update to use the latest APIs
...
Update BatterService and HealthThermometerService to use
up-to-date BLE APIs.
Note: HealthThermometerService::updateTemperature() will
not check GAP connection which should be taken care of by
the caller.
2019-05-22 13:44:31 +01:00
Vincent Coubard
cb97b3c2e2
BLE - Document GattClientEventHandler::on_write_command_sent.
2019-05-16 11:40:46 +01:00
Vincent Coubard
de482e4029
BLE: Create and handle write_command Event.
...
This event is raised when a write command has been sent to the controller. It can be used to queue a new write command.
2019-05-14 17:13:51 +01:00
Vincent Coubard
e814a3cfb3
BLE: handle GattServerEvents::GATT_EVENT_DATA_SENT
2019-05-14 17:12:02 +01:00
Marc Emmers
bd74cb2ab7
Removed function calls from mbed_assert, which caused the functions to be ignored in release mode
2019-03-29 09:47:28 +01:00
paul-szczepanek-arm
dad6844167
bounce scan timeout of the queue
2019-03-26 10:53:10 -05:00
Cruz Monrreal
c81a292921
Merge pull request #10092 from desmond-blue/fix-ble-on_phy_update_complete
...
BLE:fix on_phy_update_complete function
2019-03-16 23:00:37 -05:00
Desmond Chen
a6df7b2bd7
BLE:fix on_phy_update_complete function
2019-03-14 11:42:03 +08:00
Vincent Coubard
b183ba1d01
BLE - Use LowPower Ticker and Timer for address rotation and scan timeout.
2019-03-07 16:49:58 +00:00
paul-szczepanek-arm
54a866c159
add broadcaster ifdef and pull headers into ifdef
2019-02-28 17:18:30 +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
20c4e4ced5
BLE - Fix call to implementation.
2019-02-28 13:40:09 +00:00
Vincent Coubard
ca44ce3cd8
BLE - Conditionally expose SecurityManager::enableSigning
2019-02-28 13:27:16 +00:00
Vincent Coubard
632851e5ae
BLE - Small reordering to reduce diff.
2019-02-28 12:02:23 +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
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
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
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
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
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
c8d8c4e159
merge failure fix
2019-02-27 21:00:10 +00:00
paul-szczepanek-arm
9e710d4309
git review changes
2019-02-27 20:59:35 +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
9a22db0e96
implied features
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
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
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
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
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
paul-szczepanek-arm
db4aecb275
fixed initialisation order
2019-02-19 17:26:43 +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
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
b6df6d54a1
change event names
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
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
Cruz Monrreal
3b43a2d976
Merge pull request #9333 from offirko/offir_doxygen
...
Minor Doxygen fixes for BufferedBlockDevice and iBeacon
2019-01-17 21:51:14 -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
Vincent Coubard
79bd3ea982
BLE: Fix relationnal operator of SafeEnum
...
The relationnal operators were targeting the base class which defines an implicit constructor to an integral value. This is wrong as it allows SafeEnum instances to be compared against integers.
The fix is simple: define relationnal operators for the derived class. The derived class is known as it is passed as a template parameter of the base class.
For extra safety the SafeEnum constructor is now explicit and protected.
2019-01-16 16:06:21 +00:00
Guy Wild
9b3adc2795
Update iBeacon.h
...
Technical author review
2019-01-10 17:04:23 +02:00
Jarno Lamsa
d9e24b25e4
Update and cleanup BLE.h doxygen
2019-01-10 16:12:56 +02:00
offirko
b21576c8cf
Review updates
2019-01-10 15:42:28 +02:00
offirko
61926092a2
Minor Doxygen fixes for BufferedBlockDevice and iBeacon
2019-01-10 14:35:09 +02:00
Cruz Monrreal
54f759176b
Merge pull request #9210 from AnttiKauppila/mbed_h_fix
...
mbed.h includes removed
2019-01-04 10:27:30 -06:00
Donatien Garnier
9dae672ac0
Fixes for features/FEATURE_BLE/ble/services/EddystoneConfigService.h
2019-01-04 09:54:14 +00:00
Donatien Garnier
bc2bd89f83
Fixes for features/FEATURE_BLE/ble/services/EddystoneService.h
2019-01-04 09:50:24 +00:00
paul-szczepanek-arm
dd1d473375
future proof return size
2019-01-02 15:42:14 +00:00
paul-szczepanek-arm
a66ffa34be
add constructor suggested by Vincent
2019-01-02 15:34:50 +00:00
paul-szczepanek-arm
8b39071cd8
make function name longer
2019-01-02 14:29:30 +00:00
Antti Kauppila
02b0f79e15
mbed.h includes removed
2018-12-28 14:36:10 +02:00