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
paul-szczepanek-arm
67db321500
check illegal adv params combimnation
2018-12-13 17:52:18 +00:00
paul-szczepanek-arm
ff0a2a907e
check connectible sizes
2018-12-13 17:52:00 +00:00
paul-szczepanek-arm
c5bad804e2
add asserts for illegal compinations of adv params
2018-12-13 17:51:45 +00:00
paul-szczepanek-arm
7dd90e1810
Docuement active set length and add informative call for querying the limit
2018-12-13 17:51:10 +00:00
paul-szczepanek-arm
e1cf516100
fix max payload and hci length values
2018-12-13 17:50:53 +00:00
paul-szczepanek-arm
13a10f3efa
suppress scan timeout if we disabled scanning
2018-12-10 16:31:34 +00:00
Vincent Coubard
1c71713e1b
BLE: Fix recursion in ble::advertising_data_status_t raw constructor.
2018-12-07 00:05:02 +00:00
Vincent Coubard
df95a1f8bd
BLE: Allow null value for periodic interval in advertising report event.
2018-12-07 00:03:50 +00:00
Cruz Monrreal
b3b050170e
Merge pull request #8879 from pan-/ble-extended-advertising-doc-fixes
...
Ble extended advertising doc fixes
2018-12-04 11:51:44 -06:00
Martin Kojtal
c1c94c83c5
Merge pull request #8904 from pan-/ble-extended-advertising-fixes
...
Ble extended advertising fixes
2018-12-04 09:50:36 +01:00
Vincent Coubard
472c57205b
BLE: Fix doxygen parameter declaration order.
2018-12-03 18:03:30 +00:00
Vincent Coubard
d1b0642ad2
BLE: rename AdvertisingReportEvent::getAdvertisingData into getPayload.
...
This change makes it consistent with PeriodicAdvertisingReportEvent.
2018-12-03 17:56:54 +00:00
Vincent Coubard
ed426c5b45
BLE: rename ConnectionParameters::getFilterPolicy into getFilter for consistency.
2018-12-03 17:11:28 +00:00
Vincent Coubard
5abf2f08fa
BLE: Reintroduce refactored type identifier in privacy configuration structures.
2018-12-03 17:04:38 +00:00
Vincent Coubard
dc3ff6a5e0
BLE: Rename ConnectionParameters::setFilterPolicy into setFilter for consistency.
2018-12-03 16:56:20 +00:00
Vincent Coubard
e026bce881
BLE: Change parameter order of ble::Gap::startScan
2018-12-03 16:50:10 +00:00
Vincent Coubard
8c4a1a7b7a
BLE: Improve scan response process explanation.
2018-11-29 13:52:04 +00:00
Vincent Coubard
da3720138e
BLE: Fix common/Duration.h doc.
2018-11-29 13:52:04 +00:00
Vincent Coubard
e8972a72a4
BLE: provide better default connection parameters.
2018-11-29 12:32:36 +00:00
Vincent Coubard
4ed3f5620f
BLE: Fix name of DisconnectionEvent into DisconnectionCompleteEvent for consistency.
2018-11-29 12:28:38 +00:00
Vincent Coubard
3ddcdf24a3
BLE: Fix ble::Gap::getMaxAdvertisingDataLength return type.
2018-11-29 12:26:40 +00:00
Vincent Coubard
78468fb6e3
BLE: Use RANDOM address per default for Advertising, Scan and Connection parameter.
...
Unlike the public address, the RANDOM address is guaranteed to exist.
If privacy is enabled, it means the controller will generates random resolvable addresses or non resolvable addresses depending on the config.
If privacy is not enabled then the device will use the device's random static address that doesn't change between radio processes.
2018-11-29 12:18:11 +00:00
Vincent Coubard
c23911e3d8
BLE: Fix extraction of advertising element type.
2018-11-28 17:15:54 +00:00
Steve Cartmell
815d0d5efc
feat(pan-cordio): Add cordio-ll libraries and NORDIC implementation
2018-11-28 10:19:08 +00:00
Amanda Butler
bbb67a69c8
Edit Types.h
...
Edit file.
2018-11-26 19:35:43 -06:00
Amanda Butler
d00ad8bc96
Edit ScanParameters.h
...
Edit file, mostly to fix typos.
2018-11-26 19:18:24 -06:00
Amanda Butler
fa784c2aff
Edit URIBeaconCOnfigService.h
...
Edit file for active voice and comma use.
2018-11-26 19:15:31 -06:00
Amanda Butler
08ef3f7209
Edit iBeacon.h
...
Add commas between two independent clauses joined by a coordinating conjunction.
2018-11-26 19:14:14 -06:00
Amanda Butler
431402c14d
Edit Gap.h
...
Edit most of file, mostly for U.S. spelling and typos.
2018-11-26 19:08:41 -06:00
Amanda Butler
b4c34557d9
Edit Events.h
...
Edit file for person, capitalization and to fix typos.
2018-11-26 18:47:49 -06:00
Amanda Butler
2e02869173
Edit ConnectionParameters.h
...
Edit file, mostly for agreement.
2018-11-26 18:40:55 -06:00
Amanda Butler
c904ac898a
Edit AdvertisingParameters.h
...
Edit file, mostly for active voice and U.S. spelling.
2018-11-26 18:32:35 -06:00
Amanda Butler
31a73fc007
Edit AdvertisitngDataSimpleBuilder.h
...
Edit file, mostly for consistent tense and typos.
2018-11-26 18:17:22 -06:00
Donatien Garnier
5347a8ae4a
Update Duration.h in consistent casing
2018-11-27 00:16:33 +00:00
Amanda Butler
7df90ba3bc
Edit AdvertisingDataBuilder.h
...
Edit file, mostly to fix typos and standardize hyphen use.
2018-11-26 18:12:56 -06:00
Amanda Butler
451f9aad12
Edit Bounded.h
...
Edit file, mostly for consistent capitalization and active voice.
2018-11-26 18:01:30 -06:00
Amanda Butler
ecf8c7320f
Edit Gap.h
...
Edit file for capitalization and active voice.
2018-11-26 17:58:50 -06:00
paul-szczepanek-arm
f4a560dace
reset advertising sets on reset
2018-11-26 16:25:33 +00:00
paul-szczepanek-arm
2b94b66fd2
deprecate services that are not useless
2018-11-26 15:42:12 +00:00
Vincent Coubard
3aa91ecbba
BLE: return phy_set_t in ConnectionParameters::getPhySet
2018-11-26 15:22:50 +00:00
Vincent Coubard
190b9bc125
BLE: Fix address type in ::ble::Gap::connect
2018-11-26 14:13:07 +00:00
paul-szczepanek-arm
c9e8501b22
make PHY case consistent
2018-11-26 12:30:57 +00:00
Vincent Coubard
d3d93e1ef9
BLE: Improve ble::Gap documentation.
2018-11-26 11:51:00 +00:00
paul-szczepanek-arm
bee115c39e
replace magic numbers
2018-11-26 11:31:03 +00:00
paul-szczepanek-arm
f3a64feaf1
replace magic numbers
2018-11-26 11:26:26 +00:00
paul-szczepanek-arm
a03aaa2342
simplify and explain swapping
2018-11-26 11:26:13 +00:00
paul-szczepanek-arm
e0e186c831
replace consts with a private enum
2018-11-26 11:21:37 +00:00
Vincent Coubard
8cbc53617f
BLE: Add a simple builder for AdvertisingData.
2018-11-26 10:24:35 +00:00
Vincent Coubard
d4a66ae034
BLE: Add an AdvertisingDataParser
2018-11-26 10:24:35 +00:00
Vincent Coubard
09ba26ce4b
BLE: Move advertising data types in their own file.
2018-11-26 10:24:35 +00:00
Vincent Coubard
be7cc41da4
BLE: doxygen fixes.
2018-11-26 10:24:35 +00:00
Vincent Coubard
0407ee8c81
BLE: move privacy configuration type in ble namespace.
2018-11-26 10:24:35 +00:00
Vincent Coubard
dff8f25d49
BLE: Improve Duration documentation.
2018-11-26 10:24:35 +00:00
Vincent Coubard
78d4a9b6c8
BLE: Cleanup enum duplicates in gap/Types.h
2018-11-26 10:24:35 +00:00
Vincent Coubard
884d870b68
BLE: Improve gap/Types.h documentation.
2018-11-26 10:24:35 +00:00
Vincent Coubard
9621b26cab
BLE: Reorganize ble::gap documentation group.
2018-11-26 10:24:35 +00:00
Vincent Coubard
27011fd954
BLE: Document ble::ScanParameters.
2018-11-26 10:24:35 +00:00
Vincent Coubard
11b1e91592
BLE: Rework ScanParameters construction.
2018-11-26 10:24:35 +00:00
Vincent Coubard
3119f9488c
BLE: Construct a phy_set_t from a phy_t.
2018-11-26 10:24:35 +00:00
Vincent Coubard
e130bec6a0
BLE: rework ScanParameters::phy_configuration_t
2018-11-26 10:24:35 +00:00
Vincent Coubard
4db8ddfb90
BLE: fix name of functions in ble::ScanParameters.
2018-11-26 10:24:35 +00:00
Vincent Coubard
936f1c550a
BLE: Update ble::Gap documentation.
2018-11-26 10:24:35 +00:00
Vincent Coubard
6b8b1d0b7a
BLE: remove minimize fragmentation parameter in Gap.
2018-11-26 10:24:35 +00:00
Vincent Coubard
6c09b6c465
BLE: Expose representation type in ble::Duration.
2018-11-26 10:24:35 +00:00
Vincent Coubard
ce2460a92a
BLE: expose representation type and pointer to the inner storage in SafeEnum.
2018-11-26 10:24:35 +00:00
Vincent Coubard
76416b2f47
BLE: Improve implementation readability of ble::advertising_event_t
2018-11-26 10:24:35 +00:00
Vincent Coubard
27dd08431e
BLE: remove ble::pal::extended_advertising_report_event_type_t as it is not used.
2018-11-26 10:24:35 +00:00
Vincent Coubard
2a08549b8d
BLE: rename ble::Forever into ble::Value.
2018-11-26 10:24:35 +00:00
Vincent Coubard
e9637c419a
BLE: Remove ble::clamp as it is not used anywhere.
2018-11-26 10:24:35 +00:00
Vincent Coubard
b49870d8ae
BLE: Fix code formating issues in Gap subsystem.
2018-11-26 10:24:35 +00:00
Vincent Coubard
f64b37ba0d
BLE: Fix function braces opening in header files.
2018-11-26 10:24:35 +00:00
Vincent Coubard
1b734a46d2
BLE: Improve ble::Gap::EventHandler documentation.
2018-11-26 10:24:35 +00:00
Vincent Coubard
70ec1cf641
BLE: Improve naming consistency of Gap event types.
2018-11-26 10:24:35 +00:00
Vincent Coubard
dea2ae9c1f
BLE: Exclude Gap Event constructors from documentation.
2018-11-26 10:24:35 +00:00
Vincent Coubard
430777e20b
BLE: Update documentation of Gap::Events.
2018-11-26 10:24:35 +00:00
Vincent Coubard
8fc62efbd8
BLE: Improve naming consistency of ble::Gap::EventHandler functions.
2018-11-26 10:24:35 +00:00
Vincent Coubard
6e4e733c1c
BLE: Add code example for ble::ConnectionParameters.
2018-11-26 10:24:35 +00:00
Vincent Coubard
49455dcc87
BLE: set the phy as first parameter in ble::ConnectionParameters.
2018-11-26 10:24:35 +00:00
Vincent Coubard
1841f4e75e
BLE: Document ble::ConnectionParameters.
2018-11-26 10:24:35 +00:00
Vincent Coubard
8d03d67ae8
BLE: Improve ble::AdvertisingParameters documentation.
2018-11-26 10:24:35 +00:00
Vincent Coubard
52318e464d
BLE: rename AdvertisingParameters::*PolicyMode into AdvertisingParameters::*Filter.
2018-11-26 10:24:35 +00:00
paul-szczepanek-arm
2eaec287fb
simple scan paramater constructor
2018-11-26 10:24:35 +00:00
paul-szczepanek-arm
cd5dabf464
duration added valueInMs
2018-11-26 10:24:35 +00:00
paul-szczepanek-arm
c9dcef17dd
return func made const
2018-11-26 10:24:35 +00:00
Vincent Coubard
9f39dba429
BLE: Fix constant declaration of ble::AdvertisingParameters.
2018-11-26 10:24:35 +00:00
Vincent Coubard
fea3ac87de
BLE: Add forever information to ble::adv_duration_t and ble::scan_duration_t
2018-11-26 10:24:35 +00:00
paul-szczepanek-arm
02cf9ea94d
moved some funcs to cpp, moved cpp to source folder
2018-11-26 10:24:35 +00:00
Vincent Coubard
ba931f1d4c
BLE: Document ble::Duration and satelite classes.
2018-11-26 10:24:34 +00:00
Vincent Coubard
e602a5f06c
BLE: Improve static constant of Range and Duration.
2018-11-26 10:24:34 +00:00
Vincent Coubard
62674e58e6
BLE: Handle forever value in ble::Duration operators.
2018-11-26 10:24:34 +00:00
Vincent Coubard
49f5c7f833
BLE: Fix Bounded constant declaration.
2018-11-26 10:24:34 +00:00