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
e7ef0b764e
BLE: protect event signaling flag from concurent accesses.
2018-11-28 17:25:44 +00:00
paul-szczepanek-arm
5302a7f599
consistent errors
2018-11-27 15:38:01 +00:00
Vincent Coubard
daee12d623
BLE: Fix set check in GenerigGap::stopAdvertising.
2018-11-27 15:29:52 +00:00
Vincent Coubard
6677fab856
BLE: Move source/Gap.cpp -> source/LegacyGap.cpp
2018-11-27 09:12:28 +00:00
Vincent Coubard
a65296e9ee
BLE: removed resolved TODO.
2018-11-26 23:44:23 +00:00
Vincent Coubard
66a9e635bd
BLE: report correct event type for legacy advertising report.
2018-11-26 23:28:30 +00:00
Vincent Coubard
0c9ce24638
BLE: remove unwanted trace.
2018-11-26 23:16:31 +00:00
Vincent Coubard
ef1552a8f5
BLE: report legacy connection event in new event handler.
2018-11-26 23:03:21 +00:00
paul-szczepanek-arm
a14f143c85
set active set to false when stoping advertising
2018-11-26 23:00:29 +00:00
paul-szczepanek-arm
4d986bf376
fix is feature enabled condition and made in consistent
2018-11-26 21:11:34 +00:00
Vincent Coubard
56185582aa
BLE: Report legacy advertising with new API.
2018-11-26 21:01:14 +00:00
Vincent Coubard
0ef7a40475
BLE: Fix set advertising paylaod dispatch.
2018-11-26 21:00:46 +00:00
Vincent Coubard
daf0f429c8
BLE: Fix advertising set issues on legacy controllers.
2018-11-26 19:14:48 +00:00
paul-szczepanek-arm
3ae38ac1e8
always set existing set for legacy handle
2018-11-26 18:53:49 +00:00
paul-szczepanek-arm
bf535af159
check feature support before calling extended functnions
2018-11-26 16:57:07 +00:00
paul-szczepanek-arm
bed7677c81
stop advertising before reseting
2018-11-26 16:51:28 +00:00
paul-szczepanek-arm
6f3a9ca107
legacy handle starts off present in _existing_sets
2018-11-26 16:29:33 +00:00
paul-szczepanek-arm
f4a560dace
reset advertising sets on reset
2018-11-26 16:25:33 +00:00
paul-szczepanek-arm
e54e3eaee0
cast no longer needed
2018-11-26 15:42:12 +00:00
Vincent Coubard
f71e08ccf1
BLE: tag API uses in GenericGap.
2018-11-26 15:26:24 +00:00
Vincent Coubard
2d63714f2e
BLE: Implement connection parameter management in GAP.
2018-11-26 15:25:46 +00:00
Vincent Coubard
89355b9fb0
BLE: Check supervision timeout value in connect.
2018-11-26 15:24:42 +00:00
Vincent Coubard
d1b5c8cbb5
BLE: Mark LEGACY_ADVERTISING_HANDLE as active in initialization.
2018-11-26 15:23:53 +00:00
Vincent Coubard
93b6ecfa7e
BLE: initialize properly deprecated and non deprecated flags.
2018-11-26 15:23:24 +00:00
Vincent Coubard
a915748cbe
BLE: Fallback to legacy connect when required.
2018-11-26 14:13:07 +00:00
Vincent Coubard
190b9bc125
BLE: Fix address type in ::ble::Gap::connect
2018-11-26 14:13:07 +00:00
paul-szczepanek-arm
528deb168f
fix wrong variable being swapped
2018-11-26 11:16:23 +00:00
paul-szczepanek-arm
208b1bd3e9
fix size calculation for UUID data payload
2018-11-26 11:10:39 +00:00
Vincent Coubard
0407ee8c81
BLE: move privacy configuration type in ble namespace.
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
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
6b8b1d0b7a
BLE: remove minimize fragmentation parameter in Gap.
2018-11-26 10:24:35 +00:00
Vincent Coubard
4058f0908a
BLE: Extract computation of minimumSupervisionTimeout.
2018-11-26 10:24:35 +00:00
Vincent Coubard
6cb7645846
BLE: Improve NULL check in ble::AdvertisingDataBuilder implementation.
2018-11-26 10:24:35 +00:00
Vincent Coubard
643fad0162
BLE: Improve code by explaining or textually defining constants
2018-11-26 10:24:35 +00:00
Vincent Coubard
eda3bfb0e3
BLE: Explain magic constant in ble::Gap implementation.
2018-11-26 10:24:35 +00:00
Vincent Coubard
d32354a7a6
BLE: Fix compiler warning about unused variable.
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
70ec1cf641
BLE: Improve naming consistency of Gap event types.
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
49455dcc87
BLE: set the phy as first parameter in ble::ConnectionParameters.
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
Vincent Coubard
9f39dba429
BLE: Fix constant declaration of ble::AdvertisingParameters.
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
paul-szczepanek-arm
e9c0f587af
fix constness to match recent const changes
2018-11-26 10:24:34 +00:00
Vincent Coubard
87f36450f5
BLE: return immutable buffer from AdvertisingDataBuilder::getAdvertisingData
2018-11-26 10:24:34 +00:00
Vincent Coubard
dfa7749d8a
BLE: Split ble/gap/AdvertisingDataBuilder.h into declaration and implementation file.
2018-11-26 10:24:34 +00:00
Vincent Coubard
0c2efc4dd9
BLE: Fix return value of GenericGap::manageConnectionParametersUpdateRequest.
2018-11-26 10:24:34 +00:00
Vincent Coubard
586aea553b
BLE: Move privacy subsystem to ::ble::Gap.
2018-11-26 10:24:34 +00:00
Vincent Coubard
c54e0d9862
BLE: Move Gap::StopScan into ::ble::Gap::stopScan .
2018-11-26 10:24:34 +00:00
Vincent Coubard
bc6078eb77
BLE: prevent warning from deprecated API implementation in GenericGap.
2018-11-26 10:24:34 +00:00
Vincent Coubard
4fdb9c7e67
BLE: provide default implementation ::ble::Gap::isFeatureSupported
2018-11-26 10:24:34 +00:00
Vincent Coubard
a9fd003803
BLE: Move uses of deprecated Gap functions into isolated and warning free block.
2018-11-26 10:24:34 +00:00
Vincent Coubard
1802909272
BLE: Move Gap deprecated implementation in source/Gap.cpp .
...
The implementation has been moved to a block that do not issue deprecation warning as this is an implementation detail.
2018-11-26 10:24:34 +00:00
Vincent Coubard
02d61cfe24
BLE: Move new version of ::GAP in a new class ::ble::Gap .
2018-11-26 10:24:34 +00:00
Vincent Coubard
869bb308c5
BLE: Add API to manage GAP connection parameter updates.
2018-11-26 10:24:34 +00:00
Vincent Coubard
da7d4a0c12
BLE: Introduce new disconnection API.
2018-11-26 10:24:33 +00:00
Vincent Coubard
7d7ccea827
BLE: clean separation between GAP v1 and GAP v2 API.
2018-11-26 10:24:33 +00:00
Vincent Coubard
fa4aa8f068
BLE: remove inner V2 typedef in Gap class.
2018-11-26 10:24:33 +00:00
Vincent Coubard
d3c26f4283
BLE: rename functions that trap concurrent use of incorect GAP APIs
2018-11-26 10:24:33 +00:00
Vincent Coubard
6de585f7bf
BLE: rename Gap::IsFeatureSupported into Gap::isFeatureSupported
2018-11-26 10:24:33 +00:00
paul-szczepanek-arm
3e72570c52
move values out of GAP
2018-11-26 10:24:33 +00:00
Vincent Coubard
7aa1e95193
BLE: merge ble::target_peer_address_type_t and advertising_peer_address_type_t
2018-11-26 10:24:33 +00:00
paul-szczepanek-arm
d8eb9de459
fix names
2018-11-26 10:24:33 +00:00
Vincent Coubard
ad127d76af
BLE: merge ble::own_address_t and pal::own_address_type_t.
2018-11-26 10:24:33 +00:00
Vincent Coubard
d1cb1e1a39
BLE: merge ble::scanning_filter_duplicates_t and pal::duplicate_filter_t
2018-11-26 10:24:33 +00:00
Vincent Coubard
07d73d5e20
BLE: merge ble::scanning_policy_mode_t and gap::scanning_filter_policy_t
...
This change set also introduce ble::initiator_filter_policy_t and fix a type issue ble::ConnectionParameters.
2018-11-26 10:24:33 +00:00
Vincent Coubard
c6cdfd0b7e
BLE: Merve ble::advertising_policy_mode and pal::advertising_filter_policy .
2018-11-26 10:24:33 +00:00
Vincent Coubard
db55540952
BLE: merge ble::advertising_type_t and pal::advertising_type_t.
2018-11-26 10:24:33 +00:00
paul-szczepanek-arm
b59b29ba9f
reject conenct request if exteneded not enabled but required
2018-11-26 10:24:33 +00:00
Vincent Coubard
823825ee24
BLE: Fix ternary expression return type.
2018-11-26 10:24:33 +00:00
Vincent Coubard
d659bc6561
BLE: unwrap own_address_type value in GenericGap.
2018-11-26 10:24:33 +00:00
Vincent Coubard
812b86a197
BLE: cleanup ble::AdvertisingParameters
...
* Use constrained types where relevant.
* Remove fields N/A fields
2018-11-26 10:24:33 +00:00
paul-szczepanek-arm
65d84e4227
fix case
2018-11-26 10:24:33 +00:00
paul-szczepanek-arm
09f71d278d
move feature support into user api
2018-11-26 10:24:33 +00:00
Vincent Coubard
f0cbd9f434
BLE: move GapAdvertisingParameters to ble::AdvertisingParameters
2018-11-26 10:24:33 +00:00
Vincent Coubard
1324116377
BLE: rename duration type and extract them out of Gap.
2018-11-26 10:24:33 +00:00
Vincent Coubard
6f21326b6a
BLE: Move Gap event types in dedicated file.
2018-11-26 10:24:33 +00:00
Vincent Coubard
4d3354077e
BLE: rename GapExtendedConnectParameters_t into ConnectionParameters
2018-11-26 10:24:32 +00:00
Vincent Coubard
2d1362c2c4
BLE: Move GapScanParameters header into ble/gap/ScanParameters
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
da22df74bc
docs and synchronise connection result with other events
2018-11-26 10:24:32 +00:00
Vincent Coubard
4de9a613c8
BLE: Add strict Duration type
...
* Construction from representation type is explicit
* Conversion between unit is only allowed if there is no precision loss
* Range is built inside the type
* More operators!
* min and max values exposed as part of the interface
2018-11-26 10:24:32 +00:00
Vincent Coubard
5ad50a20f8
BLE: Add PHY precondition check in setScanParameters.
2018-11-26 10:24:32 +00:00
Vincent Coubard
3e884a382e
BLE: Initialisation of legacy advertising set.
2018-11-26 10:24:32 +00:00
Vincent Coubard
6fccb11006
BLE: Deal with random address rotation where appropriate.
2018-11-26 10:24:32 +00:00
Vincent Coubard
09d22a329c
BLE: Address special case when advertising payload size is 0.
2018-11-26 10:24:32 +00:00
Vincent Coubard
9604c0187a
BLE: Introduce Duration and Bounded classes.
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
cfde4ed019
disallow removing the legacy handle
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
57e4cdd732
new units
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
7b4439567d
comparison operator
2018-11-26 10:24:32 +00:00
Vincent Coubard
f136b0cb00
BLE: Rework Gap event handler.
...
Every user facing event handler accept a single parameter type; event that contains all the event fields.
That strategy allows us to extend the type later if required while we do not disrupt existing code.
2018-11-26 10:24:32 +00:00
Vincent Coubard
6a63948a7d
BLE: Add phy in sync exstablished event.
2018-11-26 10:24:32 +00:00
Vincent Coubard
194e2cb4f8
BLE: Move common type from pal to ble namespace.
2018-11-26 10:24:32 +00:00
Vincent Coubard
b6c7bd7960
Merge pull request #1 from paul-szczepanek-arm/vincent
...
connections
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
00da0e571a
fix review comments
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
8733d52da9
event types fixed
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
68b5aad2ce
ppm case
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
8cc580d986
only one connection event needed
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
2cdff44f2a
cancel connection
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
365a6c8c4d
set random address
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
62b38cfbc8
connection complete event
2018-11-26 10:24:31 +00:00
paul-szczepanek-arm
b98326150d
fix names
2018-11-26 10:24:31 +00:00
paul-szczepanek-arm
bd8b7fa87f
use set value on return
2018-11-26 10:24:31 +00:00
paul-szczepanek-arm
5e6c0c92f6
compilation errors
2018-11-26 10:24:31 +00:00
paul-szczepanek-arm
b489e0957e
pal call
2018-11-26 10:24:31 +00:00
Vincent Coubard
651bf321db
BLE: Use typedef in signature.
2018-11-26 10:24:31 +00:00
Vincent Coubard
31e028f22f
BLE: fix integer overflow in setPeriodicAdvertisingParameters
2018-11-26 10:24:31 +00:00
Vincent Coubard
3eebcc49ad
BLE: Add more precondition check to GenericGap.
2018-11-26 10:24:31 +00:00
Vincent Coubard
d23bd2f268
BLE: Fix compilation error.
2018-11-26 10:24:31 +00:00
Vincent Coubard
297ad78452
BLE: check for periodic advertising enabled in GenericGap::destroyAdvertisingSet
2018-11-26 10:24:31 +00:00
Vincent Coubard
24e6b89ade
BLE: use uint32_t to describe ms interval in Gap::setPeriodicAdvertisingParameters
2018-11-26 10:24:31 +00:00
Vincent Coubard
01b0de2175
BLE: rename Gap:setPeriodicAdvertisingData into setPeriodicAdvertisingPayload.
2018-11-26 10:24:31 +00:00
Paul Szczepanek
eefdc638f7
BLE: fix condition in advertising set allocation.
...
Co-Authored-By: pan- <vincent.coubard@arm.com>
2018-11-26 10:24:31 +00:00
Vincent Coubard
b1c6914e34
BLE: Add periodic sync advertisement management.
2018-11-26 10:24:31 +00:00
Vincent Coubard
06b3ccd322
BLE: refactor parameters order of Gap::startAdvertising
2018-11-26 10:24:31 +00:00
Vincent Coubard
d6d1ea5c2a
BLE: rework GenericGap::stopAdvertising(AdvHandle)
2018-11-26 10:24:31 +00:00
Vincent Coubard
74356aa7f0
BLE: Rework GenericGap::startAdvertising
2018-11-26 10:24:31 +00:00
Vincent Coubard
b825ffc1f6
BLE: Handle setAdvertisingParameters on legacy controllers.
2018-11-26 10:24:31 +00:00
Vincent Coubard
d2773e9731
BLE: Reduce complexity of GenericGap::setAdvertisingData
2018-11-26 10:24:31 +00:00
Vincent Coubard
0d90671842
BLE: Fix release of advertising sets.
2018-11-26 10:24:31 +00:00
Vincent Coubard
413908d594
BLE: Renaming
...
GenericGap::is_extended_advertising_enabled become GenericGap::is_extended_advertising_available
2018-11-26 10:24:31 +00:00
Vincent Coubard
df5e01bf45
BLE: wrap bitstream manipulation into a BitArray class.
2018-11-26 10:24:31 +00:00
Vincent Coubard
2e8389d4fd
BLE: Create and destroy advertising sets in the controller.
2018-11-26 10:24:31 +00:00
Vincent Coubard
ed012adab3
BLE: Fix create and destroy advertising set.
2018-11-26 10:24:31 +00:00
Vincent Coubard
7882bb3016
BLE: Fix bit access to mapped advertising set.
2018-11-26 10:24:31 +00:00
Vincent Coubard
f6ceafa3e9
BLE: use helper function where appropriate.
2018-11-26 10:24:31 +00:00
Vincent Coubard
d63c7bc948
BLE: use std::min where appropriate.
2018-11-26 10:24:31 +00:00
Vincent Coubard
a628eba212
BLE: cosmetic fixes.
2018-11-26 10:24:31 +00:00
Vincent Coubard
ad3f3c86a5
BLE: Move implementation to cpp file.
2018-11-26 10:24:31 +00:00
Vincent Coubard
6a55d65660
BLE: Create advertising payload builder.
...
This change set use a data buffer to set data and scan responses.
2018-11-26 10:24:31 +00:00
Vincent Coubard
2c7cf2bbd9
BLE: revert GapScanningParams
2018-11-26 10:24:31 +00:00
Vincent Coubard
61536c3f64
BLE: revert non backward compatible changes.
...
This changeset includes order of function declaration in headers.
2018-11-26 10:24:31 +00:00
Vincent Coubard
dc07e44290
BLE: makes GenericGap::stopGap aware of extended scan.
2018-11-26 10:24:31 +00:00
Vincent Coubard
24460de86f
BLE: Implement new scan API in GenericGap
2018-11-26 10:24:30 +00:00
Vincent Coubard
1a14453da1
BLE: Add mechanism to track use of non compatible scan API.
2018-11-26 10:24:30 +00:00
paul-szczepanek-arm
a1582bd3ac
pointer to ref
2018-11-26 10:21:32 +00:00
paul-szczepanek-arm
2f6d861818
fix packetisation in adv set data
2018-11-26 10:21:32 +00:00
paul-szczepanek-arm
23dc808968
handle legacy adv calls
2018-11-26 10:21:32 +00:00
paul-szczepanek-arm
587eb9845e
call the right func for set scan response
2018-11-26 10:21:32 +00:00
paul-szczepanek-arm
b276e6edaf
fix high duty cycle setting (reversed)
2018-11-26 10:21:32 +00:00
paul-szczepanek-arm
238f15b031
doc fixes
2018-11-26 10:21:32 +00:00
paul-szczepanek-arm
ca72f5a289
merged adv param types
2018-11-26 10:21:32 +00:00
paul-szczepanek-arm
8c253a3dfe
proposed scan type changes
2018-11-26 10:21:32 +00:00
paul-szczepanek-arm
60fb78795b
fix adv and scan types
2018-11-26 10:21:32 +00:00
paul-szczepanek-arm
5d077e6dbc
new addr types for ext adv
2018-11-26 10:21:32 +00:00
Vincent Coubard
0c1e01952b
Compilation fixes
2018-11-26 10:21:32 +00:00
paul-szczepanek-arm
78a4bdda8a
type translation
2018-11-26 10:21:32 +00:00
paul-szczepanek-arm
8794c0b43b
make packetisation common
2018-11-26 10:21:32 +00:00