Martin Kojtal
e4e6c645fa
Merge pull request #11204 from paul-szczepanek-arm/non-scan
...
BLE: add nonscannable connectable type
2019-08-20 13:58:32 +02:00
Martin Kojtal
7ee382bdc0
Merge pull request #11216 from paul-szczepanek-arm/fix-ad-parser
...
BLE: make advertising data parser handle early termination
2019-08-20 09:59:18 +02:00
Paul Szczepanek
71f59eaf6c
add comments
2019-08-14 17:11:52 +01:00
paul-szczepanek-arm
280c55d57a
fix recursive call
2019-08-14 09:39:04 +01:00
paul-szczepanek-arm
8acd127640
handle early termination of ad struct
2019-08-13 14:49:18 +01:00
paul-szczepanek-arm
c79ffd112f
add nonscannable connectable type
2019-08-12 16:38:42 +01:00
George Beckstein
bb60251fdf
Remove flexing on Tesla 💪 💪 💪
2019-07-02 13:05:18 -04:00
Lingkai Dong
7426a8a860
Remove ArrayView
...
All use of ArrayView within mbed-os have been removed, and
it is not a public API.
2019-06-07 16:19:18 +01:00
Lingkai Dong
6f7f1337cd
BLE: Replace uses of ArrayView with mbed::Span
...
The platform API mbed::Span provides the same features as ArrayView.
2019-06-07 16:18:55 +01:00
Martin Kojtal
c4cc9c4f1b
Merge pull request #10646 from LDong-Arm/connectionCount
...
Fix deprecation notice for ble::Gap::getState()
2019-05-24 09:11:58 +01:00
Martin Kojtal
86bd7f05f0
Merge pull request #10634 from LDong-Arm/ble-api-update
...
BLE: fix deprecated API calls in battery and thermometer services
2019-05-23 21:37:19 +01:00
Lingkai Dong
c84a13c0f2
Fix deprecation notice for ble::Gap::getState()
...
The deprecation notice suggests getConnectionCount() which
did not land in the final API. The proper replacement is keeping
your own record and updating during connection and disconnection
callbacks.
2019-05-23 16:36:28 +01:00
Martin Kojtal
3801d4a1c3
Merge pull request #10635 from LDong-Arm/deprecated_ble_services
...
BLE: deprecate UARTService and suppress compiler warnings
2019-05-23 14:52:17 +01:00
Lingkai Dong
ce775d58e9
BLE HealthThermometerService: correct GATT characteristics
...
As per official specification, temperature measurement requires
the GATT characteristic "INDICATE" instead of "NOTIFY".
Full credits to Jean-Marc Jobin (@jmjobin on GitHub) for
identifying the issue and proposing this fix.
2019-05-23 09:56:01 +01:00
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