paul-szczepanek-arm
3ae38ac1e8
always set existing set for legacy handle
2018-11-26 18:53:49 +00:00
Vincent Coubard
7f33145760
BLE: Fix extended advertising check.
2018-11-26 17:12:50 +00:00
Vincent Coubard
ac47736259
BLE: Enable cordio extended modules if available.
2018-11-26 16:57:47 +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
2b94b66fd2
deprecate services that are not useless
2018-11-26 15:42:12 +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
3aa91ecbba
BLE: return phy_set_t in ConnectionParameters::getPhySet
2018-11-26 15:22:50 +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
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
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
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
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
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
eda3bfb0e3
BLE: Explain magic constant in ble::Gap implementation.
2018-11-26 10:24:35 +00:00
Vincent Coubard
30c6432b5d
BLE: Address code formating issue in CordioPalGap implementation.
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
d32354a7a6
BLE: Fix compiler warning about unused variable.
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
Vincent Coubard
07c05917e0
BLE: Add Duration::forever() function.
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
7b0cb27427
added type conversion for connection params
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
7fb863eeb4
missing virtual
2018-11-26 10:24:34 +00:00
Vincent Coubard
80db38c60a
BLE: Cleanup bounded and document it.
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
e9c0f587af
fix constness to match recent const changes
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
b293426a81
missing overloads
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
ed10543093
missing virtual
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
1bf5826cdc
pull in more inherited overloads
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
e49b5230cc
fix missing index
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
86dc6d71ee
BLE: Fix includes of ble/gap/AdvertisingDataBuilder.h ,
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
dd2c85d063
BLE: Fix signeness warning in AdvertisingDataBuilder.
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
0b746a78c8
BLE: prefix inclusion of Gap header with "ble/"
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
2e6fefa289
missing defaults
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
376cbd25fa
fixed index and default constructor in conn params
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
b0b6346050
added extra constructor
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
75e6128776
solve link problems
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
e5e7f3edef
pull in inherited overloads
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
935444d128
use correct type for service data based on uuid length
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
79518ca089
service data allows both types of UUIDs
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
paul-szczepanek-arm
84dd169d14
allow long uuids in service data
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
181ce00902
fix size checks
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
062c301a96
check min size for custom data
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
e54c0ed1de
simplify UUID funcs
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
acd7ec3572
check sizes, use memcpy
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
92cbec3e41
requested services
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
91fa548953
verify parameters
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
aefd92a838
docs
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
656aa4fa4c
CONNECTION INTERVAL HELPER
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
7ab45e4c09
individual operations
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
0b1b07f9f1
service data
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
4a850207fa
remove redundant calulations
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
4b6eede76b
UUID handling
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
paul-szczepanek-arm
b6a0c8aea5
helper functinos
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
0d95ccb4ba
fix enum values
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
838de80fbf
flags no longer a safenum
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
6ef90b5ca7
remove data instead of replace data
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
862775d3df
extra data builder funcs
2018-11-26 10:24:33 +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
c165bd98b7
BLE: Add explicit constructor for Duration that accepts millisecond in input.
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
Vincent Coubard
5f435debd0
BLE: remove ble:: prefixes in ble::AdvertisingParameters.
2018-11-26 10:24:33 +00:00
Vincent Coubard
46815cc371
BLE: remove ble:: prefixes in ble::ScanParameters.
2018-11-26 10:24:33 +00:00
Vincent Coubard
6c75c53127
BLE: Move gap events into ble namespace.
2018-11-26 10:24:33 +00:00
Vincent Coubard
7123364674
BLE: remove not required prefixes in ble::ConnectionParameters.
2018-11-26 10:24:33 +00:00
Vincent Coubard
c1cd5ede84
BLE: Cleanup ble::connection_role_t.
2018-11-26 10:24:33 +00:00
Vincent Coubard
493c8580cc
BLE: cleanup of clock_accuracy_t
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
paul-szczepanek-arm
7ea560a955
size clarification
2018-11-26 10:24:33 +00:00
paul-szczepanek-arm
33ab365d2c
advertising data
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
paul-szczepanek-arm
cc8b43f3ab
update gap overview
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
3b334b814d
BLE: Revert space change in ble/GapAdvertisingParams.h
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
Vincent Coubard
b4c704c807
BLE: Move leftover target_peer_address_type_t in ble/gap/Types.h
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
b8db58fe57
BLE: Move new gap types in ble/gap/Types.h
2018-11-26 10:24:33 +00:00
Vincent Coubard
b4fe04addd
BLE: Improve readability of AdvertisingDataBuilder::appendField
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
2477d0e385
BLE: Fix missing initialization in ble::phy_set_t.
2018-11-26 10:24:33 +00:00
Vincent Coubard
47c4784e31
BLE: Rework ble::AdvertisingParameters
...
* Reorganize functions in logical order.
* Add separation between legacy and extended advertising.
* Update setter to return a reference to this. This allows chain of calls.
* Remove getter that can fail due to bad user inputs.
2018-11-26 10:24:33 +00:00
Vincent Coubard
a255a790a6
BLE: Improve ble::AdvertisingParameters field declaration.
2018-11-26 10:24:33 +00:00
Vincent Coubard
b34d09c47e
BLE: Fix AdvertisingParameters::getChannelXX functions.
2018-11-26 10:24:33 +00:00
Vincent Coubard
184533ab3e
BLE: Fix second time base.
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
a043f49e7c
BLE: Use common ble::own_address_type_t in ble::ScanParameters.
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
paul-szczepanek-arm
05fb66a987
docs
2018-11-26 10:24:33 +00:00
paul-szczepanek-arm
f3c47f135b
docs
2018-11-26 10:24:33 +00:00
Vincent Coubard
5dc6c1d670
BLE: move ScanParameters into ble namespace.
2018-11-26 10:24:33 +00:00
Vincent Coubard
07cf0f5b91
BLE: Move ConnectionParameters into ble namespace.
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
a1d464f2c0
move ble::Bounded in its own file.
2018-11-26 10:24:33 +00:00
Vincent Coubard
20d5de70bd
BLE: Move ble::Duration in its own file.
2018-11-26 10:24:33 +00:00
Vincent Coubard
68703495f6
BLE: Extract types from GapAdvertisingConstant and add them into ble namespace.
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
3737e385af
BLE: Expose ble::pal::connection_role_t in ble namespace.
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
cf69013bb6
docs
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
f7310a07e9
docs
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
0f4ac44bc5
docs
2018-11-26 10:24:32 +00:00
Vincent Coubard
6eee528b79
Update mbed-os/features/FEATURE_BLE/ble/Gap.h
...
Co-Authored-By: paul-szczepanek-arm <paul.szczepanek@arm.com>
2018-11-26 10:24:32 +00:00
Vincent Coubard
472e9ff997
Update mbed-os/features/FEATURE_BLE/ble/Gap.h
...
Co-Authored-By: paul-szczepanek-arm <paul.szczepanek@arm.com>
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
e9177fa233
docs
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
ff9b380c44
BLE: Use secure types in GapScanParameters.
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
fa3869cf82
docs
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
8fe07b47be
docs
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
360336c89c
docs
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
9fc577d6e6
docs
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
642602c925
merge cleanup
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
4f769df976
merge fail
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
bb8892a956
more docs
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
d01b4a53ee
docs
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
paul-szczepanek-arm
8e18e191fb
new units
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
e04fd876f5
units
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
74c2def5ef
BLE: Fix mutability in ble::advertising_event_t
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
9b77f9dcba
default values and func names
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
c0f4b864ca
clamp values
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
216dd6dcc7
we need clamping while we wait for c++17
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
a3820c89c5
removed impossible case
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
02d9b35bad
assert added
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
32c303d7f3
missing return
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
87887cc9dd
rename phy to index
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
565f1e0131
fix first element of array selection
2018-11-26 10:24:32 +00:00
paul-szczepanek-arm
fd880d1e6b
fix swapping
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
519f75587a
ppm conversion
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
6fa7a8ffce
fix type
2018-11-26 10:24:31 +00:00
paul-szczepanek-arm
9529974572
type already defined in ble types
2018-11-26 10:24:31 +00:00
paul-szczepanek-arm
4fe7d5ed90
small cleanup
2018-11-26 10:24:31 +00:00
paul-szczepanek-arm
8801ef570a
fix types
2018-11-26 10:24:31 +00:00
paul-szczepanek-arm
b489e0957e
pal call
2018-11-26 10:24:31 +00:00
paul-szczepanek-arm
a2f461c38e
reference instead of pointer
2018-11-26 10:24:31 +00:00
paul-szczepanek-arm
32d3fa9aad
shorten min max
2018-11-26 10:24:31 +00:00
paul-szczepanek-arm
edb645b492
handle creating contiguous arrays for the pal call
2018-11-26 10:24:31 +00:00
paul-szczepanek-arm
713b5c7e10
add ability to disable phy
2018-11-26 10:24:31 +00:00
paul-szczepanek-arm
d00a92d10f
init param to false until user changes it
2018-11-26 10:24:31 +00:00
paul-szczepanek-arm
4c4743db7b
extended connection API
2018-11-26 10:24:31 +00:00
paul-szczepanek-arm
afadc1d8c0
convert to correct time units
2018-11-26 10:24:31 +00:00
Vincent Coubard
2f8e336635
BLE: tag missing documentation block.
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
5661bf6bbb
BLE: remove dead code.
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
5236a70618
BLE: Add default minimiseFragmentationValue for Gap::setAdvertisingScanresponse.
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
87014b71b6
BLE: reorder declaration.
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
e24fcdd12a
BLE: move extended advertising parameter in ble/gap folder
2018-11-26 10:24:31 +00:00
Vincent Coubard
7f9be995a2
BLE: Revert GapAdvertisingdata and create new type for extened Advertising data.
2018-11-26 10:24:31 +00:00
Vincent Coubard
e4c27e5071
BLE: Introduce new type for extended advertising parameters.
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
4835a1afdc
BLE: Add non legacy scan API.
2018-11-26 10:24:30 +00:00
Vincent Coubard
28ead51401
BLE: Add GapScanParameters type.
...
The new type covers what is required by extended and legacy scan parameters.
2018-11-26 10:24:30 +00:00
Vincent Coubard
27ea248863
BLE: Fix GapScanningParams includes.
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
Vincent Coubard
962b5c34d4
BLE: Tag scanning filter policy mode with FIXME
2018-11-26 10:21:32 +00:00
paul-szczepanek-arm
2b00903a30
missing param
2018-11-26 10:21:32 +00:00
paul-szczepanek-arm
a1582bd3ac
pointer to ref
2018-11-26 10:21:32 +00:00
paul-szczepanek-arm
6663171607
docs
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
paul-szczepanek-arm
c58099f0ee
new scan call
2018-11-26 10:21:32 +00:00
Vincent Coubard
75c0b0ed90
BLE: Fix advertising_channel_map_t constructor.
2018-11-26 10:21:32 +00:00
Vincent Coubard
0c1e01952b
Compilation fixes
2018-11-26 10:21:32 +00:00
Vincent Coubard
fb804bf85a
BLE: Fix GapExtendedAdvertisingParams visibility and constness.
2018-11-26 10:21:32 +00:00
Vincent Coubard
e951fa15ff
BLE: Fix GapExtendedAdvertisingParams::getPeerAddress return type.
2018-11-26 10:21:32 +00:00
Vincent Coubard
426de4a2d9
BLE: Fix GapAdvertisingData copy constructor.
2018-11-26 10:21:32 +00:00
Vincent Coubard
2f53ee896c
BLE: Add setters to advertising_event_t and use it in GapExtendedAdvertisingParams.
2018-11-26 10:21:32 +00:00
Vincent Coubard
d1e3800e79
BLE: Refactor AdvReportOptionalInformation and onAdvertisingReport
2018-11-26 10:21:32 +00:00
Vincent Coubard
5e707731f2
BLE: Wrap advertising data in a span.
2018-11-26 10:21:32 +00:00
Vincent Coubard
dee48e71e3
BLE: Typedef ble::advertising_event_t into Gap::AdvertisingEventType_t
2018-11-26 10:21:32 +00:00
Vincent Coubard
f930905947
BLE: Regactor Gap::EventHandler::onScanRequest signature.
2018-11-26 10:21:32 +00:00
Vincent Coubard
14b24d324c
BLE: Move advertising_handle_t into ble namespace.
2018-11-26 10:21:32 +00:00
Vincent Coubard
f83f32948a
BLE: Fix typo in arguments name.
2018-11-26 10:21:32 +00:00
Vincent Coubard
44d8545dc8
BLE: Add ANONYMOUS in peer_advertising_type_t
2018-11-26 10:21:32 +00:00
Vincent Coubard
e58928def1
Move advertising event and advertising event data status to ble.
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
paul-szczepanek-arm
87482b5530
compilation errors fixed
2018-11-26 10:21:32 +00:00
paul-szczepanek-arm
a5e1bdb97e
missing parens
2018-11-26 10:21:32 +00:00
paul-szczepanek-arm
060d2f5216
advertising data only contains advertising data
2018-11-26 10:21:32 +00:00
paul-szczepanek-arm
52f54c032a
compiilation errors
2018-11-26 10:21:32 +00:00
paul-szczepanek-arm
4a86b3dd10
typo in var name
2018-11-26 10:21:31 +00:00
paul-szczepanek-arm
019b0c2146
added constructor to use with deprecated data
2018-11-26 10:21:31 +00:00
paul-szczepanek-arm
93b0b9f6e2
fix getting value instead of address
2018-11-26 10:21:31 +00:00
paul-szczepanek-arm
944d867c79
fix comments and missing comma in constructor
2018-11-26 10:21:31 +00:00
paul-szczepanek-arm
9d83a8e134
non braking Advertising data deprecation
2018-11-26 10:21:31 +00:00
paul-szczepanek-arm
26f40e07f7
packetisation
2018-11-26 10:21:31 +00:00
paul-szczepanek-arm
834e6c4f9b
Update mbed-os/features/FEATURE_BLE/ble/GapAdvertisingData.h
2018-11-26 10:21:31 +00:00
paul-szczepanek-arm
56146a44fb
legacy support
2018-11-26 10:21:31 +00:00
Vincent Coubard
7de5d8c763
Merge pull request #4 from pan-/extended
...
Last bit of PAL extended advertising implementation.
2018-11-26 10:21:31 +00:00
paul-szczepanek-arm
5efac211be
sid
2018-11-26 10:21:31 +00:00
paul-szczepanek-arm
25997d96b9
chek for features
2018-11-26 10:21:31 +00:00
paul-szczepanek-arm
6ca5041f53
generic advertising
2018-11-26 10:21:31 +00:00
paul-szczepanek-arm
f35ebcc900
simplify params to avoid holding state
2018-11-26 10:21:31 +00:00
Vincent Coubard
b9d7e63911
BLE: Implement Advertising extension and Periodic Advertising on Cordio (WIP)
2018-11-26 10:21:31 +00:00
Vincent Coubard
8fa62ec719
BLE: Add count function to phy_set_t
2018-11-26 10:21:31 +00:00
Vincent Coubard
ca68323930
Add explicit cast to bool.
2018-11-26 10:21:31 +00:00
Vincent Coubard
7d9c3d1432
Improve advertising_event_properties_t constructor.
2018-11-26 10:21:31 +00:00
Vincent Coubard
d836841e0f
Add missing pure qualifier to PAL GAP APIs.
2018-11-26 10:21:31 +00:00
Vincent Coubard
74cf305452
Add PAL declaration for extended and periodic advertising
2018-11-26 10:21:31 +00:00
paul-szczepanek-arm
ff68c94ec2
update state on disconnect fix
2018-11-26 10:21:31 +00:00
paul-szczepanek-arm
1f2ee0d873
missing include
2018-11-26 10:21:31 +00:00
paul-szczepanek-arm
6932789453
extended advertising scanning and connecting API
2018-11-26 10:21:31 +00:00
Leszek Rusinowicz
f906aac096
Added BLE support based on CORDIO stack.
2018-11-01 20:15:57 +01:00
Cruz Monrreal
1489900162
Merge pull request #8556 from paul-szczepanek-arm/fix-phy-support
...
BLE: fix using an optional feature before checking for support
2018-10-29 08:46:26 -05:00
Cruz Monrreal
63946d56d8
Merge pull request #8452 from u-blox/ublox_odin_driver_os_5_v3.5.0_rc1
...
ble: update ODIN drivers to v3.5.0 RC1
2018-10-27 09:50:12 -05:00
paul-szczepanek-arm
b77bd223d7
check for feature before using
2018-10-26 12:53:39 +01:00
Cruz Monrreal
cd559940b5
Merge pull request #7966 from pingdan32/fix_nrf52_total_link
...
nrf52-ble: fix total links count
2018-10-23 12:32:17 -05:00
aqin
9854c1bbeb
updating method name to make it more descriptive
2018-10-23 18:14:32 +05:00
aqin
c539656299
update with ARM coding standard
2018-10-18 14:04:04 +05:00
aqin
2ac6cff107
BLE support added
2018-10-17 14:19:14 +05:00
Russ Butler
784fa91294
Update doxygens to be in sync
...
Make the following changes to doxyfile_options:
-Change CASE_SENSE_NAMES so names of files generated match mbed-os docs
-Change DISABLE_INDEX so navigation bar shows
-Change CLASS_DIAGRAMS so inheritance diagram gets generated
-Change USE_MDFILE_AS_MAINPAGE and add DOXYGEN_FRONTPAGE.md to
FILE_PATTERNS so the correct main page is found and used
-Remove DEVICE_ETH from PREDEFINED since this is no longer relevent
-Change GENERATE_XML and XML_OUTPUT so no xml is generated
-Change SEARCHENGINE to match the docs
Make the following changes in doxygen_options.json:
-Add all non-default values in doxyfile_options to the json
-Break json into 3 groups
1. Values that are the same as doxyfile_options
2. Values that must be different from doxyfile_options
3. Values the are overriden by the docs builder
-Make the doxyegn search directory "INPUT" start in mbed-os rather
than one level above mbed-os.
Finally, rename the BLE doxygen front page so it is not confused with
the mbed-os front page.
2018-10-13 19:55:30 -05:00
Martin Kojtal
313073ca3e
Merge pull request #7958 from andrewleech/nrf_ble_configs
...
nrf_ble: Expose configuration of max characteristics and descriptors
2018-10-09 10:35:11 -05:00
Martin Kojtal
5faac0e4ba
Merge pull request #8269 from paul-szczepanek-arm/fix-event-malloc
...
BLE: replace malloc with cordio buffer allocation
2018-10-06 07:44:39 +02:00
paul-szczepanek-arm
366a5018b5
fix using an invalid cccd index
2018-10-03 16:16:41 +01:00
Andrew Leech
a6f33a1a35
nrf_ble: Expose configuration of max number of characteristics and descriptors
2018-10-03 10:54:09 +10:00
paul-szczepanek-arm
88a87518b4
assert instead of error
2018-09-27 17:07:40 +01:00
paul-szczepanek-arm
8f5e2725ae
remove pointless cast
2018-09-27 17:03:31 +01:00
paul-szczepanek-arm
64f93586b5
fix namespace errors
2018-09-27 16:58:19 +01:00
paul-szczepanek-arm
a0df7fc637
change namespace
2018-09-27 16:36:48 +01:00
paul-szczepanek-arm
5fee50b53d
removed unusused header
2018-09-27 14:05:58 +01:00
paul-szczepanek-arm
abfd647279
moved SimpleEventQueue
2018-09-27 13:56:38 +01:00
paul-szczepanek-arm
46d19d3732
check WsfBufAlloc
2018-09-27 13:45:36 +01:00
paul-szczepanek-arm
90be8d7807
replace malloc with cirdio buffer allocation
2018-09-27 12:20:00 +01:00
pingdan32
45ae7f75c6
add entry in config file for total links configuration
2018-09-26 13:25:13 +08:00
Martin Kojtal
f0c6a66285
Merge pull request #8005 from paul-szczepanek-arm/fix-whitelist-gen
...
BLE: fix whitelist generation (set correct address type)
2018-09-24 10:17:46 +02:00
Cruz Monrreal
c3128cdfce
Merge pull request #7981 from paul-szczepanek-arm/ondatasent
...
BLE: fix missing updates sent callback in GattServer using Cordio stack
2018-09-18 11:30:02 -05:00
paul-szczepanek-arm
a2c9781682
fix whitelist generation (set correct address type)
2018-09-05 16:46:01 +01:00
paul-szczepanek-arm
44d3504dbb
missing overload
2018-09-04 13:58:50 +01:00
paul-szczepanek-arm
ec373c29a0
missing onDataSent calblack for cordio
2018-09-04 13:30:08 +01:00
pingdan32
459649fce0
fix total link count
2018-09-03 16:45:18 +08:00
Ron Eldor
5817d71ad8
Change mbedtls_platform_context parameter to NULL
...
Change the parameter being sent to `mbedtls_platform_setup()` and
`mbedtls_platfrm_teardown()` to NULL, as it is now being unused
in Mbed OS.
2018-09-03 08:38:57 +03:00
Cruz Monrreal
83e0e65a42
Merge pull request #7726 from SenRamakri/sen_BLE_ErrorUpdate
...
Update BLE error calls to use new error codes and mbed_error
2018-09-02 20:47:40 -05:00
Vincent Coubard
7a503ca1a2
BLE: Fix doxygen.
2018-08-30 09:25:50 +01:00
paul-szczepanek-arm
db3d124516
moved the utility function into the pal since it's only useful below pal
2018-08-29 20:25:56 +01:00
paul-szczepanek-arm
03f44e7a29
accidental spare const removed
2018-08-29 20:25:56 +01:00
paul-szczepanek-arm
8ac6e2c30d
added doxygen to constructors and const to getters
2018-08-29 20:25:56 +01:00
paul-szczepanek-arm
76624ad6ec
provide stubs for events
...
use gap.h typedef for Phy_t for consistency
2018-08-29 20:21:04 +01:00
paul-szczepanek-arm
5598958c6d
formatting for docs
2018-08-29 20:21:04 +01:00
paul-szczepanek-arm
baaebb47dc
fix typo in preferred
2018-08-29 20:21:04 +01:00
paul-szczepanek-arm
d64479a2ee
docuemnted PHY api
2018-08-29 20:21:04 +01:00
paul-szczepanek-arm
e0ca4a093f
update cordio pal phy to new 5.0 stack
2018-08-29 20:21:04 +01:00
paul-szczepanek-arm
8090e7acd8
phy API implementation for cordio
...
phy set types added, nordic implementation updated
2018-08-29 20:21:04 +01:00
Paul Szczepanek
d5c675e300
Merge pull request #6 from paul-szczepanek-arm/feature-support
...
support for controller features
2018-08-29 20:15:58 +01:00
Vincent Coubard
954f004d16
Nordic BLE: Implement PHY APIs for NRF52.
2018-08-29 20:15:58 +01:00
Vincent Coubard
47ea39982f
Merge pull request #2 from pan-/PHY_API
...
Phy api
2018-08-29 20:15:58 +01:00
Vincent Coubard
4deb64aed1
Merge pull request #1 from pan-/PHY_API
...
Phy api
2018-08-29 20:15:58 +01:00
paul-szczepanek-arm
657fc45a3c
updated porting guide
2018-08-24 11:30:04 +01:00
paul-szczepanek-arm
f36e58b039
update readme
2018-08-24 11:14:03 +01:00
paul-szczepanek-arm
1d2ab42d27
replace libraries with sources
2018-08-24 11:14:03 +01:00
Martin Kojtal
70814d6185
Merge pull request #7417 from pan-/improve-cordio-hci-doc
...
Cordio Documentation: Explain how to tests and what tools are available.
2018-08-24 09:52:21 +02:00
Martin Kojtal
e43f0201a7
Merge pull request #7681 from paul-szczepanek-arm/sc-ltk
...
BLE: store secure connections ltk in both local and peer entry
2018-08-20 18:01:31 +02:00
Senthil Ramakrishnan
529af2b0f4
Changes to error code names
2018-08-17 23:13:59 -05:00
Senthil Ramakrishnan
7803a40fbd
Update BLE error calls to use new error codes and mbed_error
2018-08-17 22:52:50 -05:00
Melinda Weed
4a9570b252
function signature line
2018-08-16 14:46:07 +03:00
Melinda Weed
c1e154b1cc
removing \
2018-08-14 16:26:30 +03:00
Melinda Weed
3b95202154
Final review and grammatical changes
2018-08-14 10:55:39 +03:00
Melinda Weed
1082724ac3
formatting changes
2018-08-10 12:53:28 +03:00
Melinda Weed
db8f36945b
Fixing colons and formatting
2018-08-10 11:17:32 +03:00
Melinda Weed
739bd6605d
grammatical and stylistic fixes, more passive -> active
2018-08-10 11:01:38 +03:00
Melinda Weed
f2c6d59c23
Further stylistic changes. Passive -> active
2018-08-10 09:56:42 +03:00
Cruz Monrreal
2b92b260d0
Merge pull request #7688 from paul-szczepanek-arm/nrf-ltk-fix
...
BLE: call secure connections versions of ltk functions
2018-08-09 10:15:58 -05:00
paul-szczepanek-arm
6c9bd163b1
factored out whole ediv rand check
2018-08-08 17:02:43 +01:00
paul-szczepanek-arm
cbf1776f14
MACRO the size of rand
2018-08-08 14:26:31 +01:00
paul-szczepanek-arm
c1ce511dff
factor out invalid rand function
2018-08-08 14:19:06 +01:00
paul-szczepanek-arm
021c452823
replaced lesc field usage with ediv&rand check
2018-08-06 10:34:42 +01:00
paul-szczepanek-arm
fbb926d77e
call the correct ltk function when SC is used
2018-08-03 15:28:41 +01:00
paul-szczepanek-arm
34d985a4ac
set correct default privacy configuration for centrals
2018-08-03 09:54:46 +01:00
paul-szczepanek-arm
e92863a7be
store secure connections ltk in both local and peer entry
2018-08-02 15:33:47 +01:00
Melinda Weed
bae4c89d0f
Remove shall, whole lotta other changes. Not done yet.
2018-07-09 15:06:11 +03:00
Vincent Coubard
7a8cc0243f
Cordio Documentation: Explain how to tests and what tools are available.
2018-07-04 12:46:41 +01:00
Cruz Monrreal
2e233a96d3
Merge pull request #7210 from pan-/fix-nordic-security-cancellation
...
Fix nordic security cancellation
2018-06-25 10:12:23 -05:00
Cruz Monrreal
d160cc6cd0
Merge pull request #7284 from KariHaapalehto/wise1530_usi22_support
...
Add binary drivers for MTB_USI_WM_BN_BM_22 and MTB_ADV_WISE_1530
2018-06-22 10:16:16 -05:00
Cruz Monrreal
d18aa9072f
Merge pull request #7262 from paul-szczepanek-arm/gap-params
...
BLE: Add setScanParams overload to the Gap API
2018-06-22 10:15:14 -05:00
Vincent Coubard
4b8fb0be78
Nordic BLE: Fix return value verification
2018-06-22 09:36:06 +01:00
Vincent Coubard
b68e18cdb4
Nordi BLE: Fix formatting
2018-06-22 09:35:34 +01:00
Cruz Monrreal
34513f2a92
Merge pull request #7221 from pan-/cordio-port-test
...
Cordio: Add tests that validates a cordio port.
2018-06-21 23:30:39 -05:00
Kari Haapalehto
699811be72
Add binary drivers for MTB_USI_WM_BN_BM_22 and MTB_ADV_WISE_1530
2018-06-21 12:15:53 +03:00
Vincent Coubard
d2ecdb8900
Cordio BLE: Rewrite reset test strategy
...
The existing test was expecting that the acknowledgement of the reset command would be the first and only event receive. This assumption is false.
As a consequence, the new code parse all incoming packets and raise a flag in the following circumstances:
* a reset packet has been successfully received.
* RX stream is not synchronized
* The status of the reset command is an error.
Another test has been added that send a serie of reset commands.
2018-06-20 15:24:37 +01:00
Vincent Coubard
4f8a006f3b
Cordio BLE: Document in test what fields are expected to be set after init.
2018-06-20 12:01:28 +01:00
Vincent Coubard
5b7f7aa77b
Cordio BLE: Fix test failure when controller initialization failed.
2018-06-20 12:00:52 +01:00
paul-szczepanek-arm
399191fc9c
reuse existing call
2018-06-20 08:24:26 +01:00
paul-szczepanek-arm
4b1ce49ee1
use sets to apply limits
2018-06-19 15:18:11 +01:00
paul-szczepanek-arm
588e68bccf
add setScanParams overload
2018-06-19 14:36:18 +01:00
Cruz Monrreal
701d49d8eb
Merge pull request #7211 from pan-/ble-workaround-connections-param-update-request
...
Nordic BLE: Accept connection parameter update
2018-06-18 10:09:22 -05:00
Vincent Coubard
14e229e00a
Cordio: Add tests that validates a cordio port.
...
The first test focuse on the transport by testing that the reset sequence is
correctly sent to the controller and properly received.
The second test validates that the reset sequence fullfill the right state
of the stack and ensure that bluetooth initialization succeed.
2018-06-14 18:24:23 +01:00
Cruz Monrreal
c3e639aad2
Merge pull request #7123 from paul-szczepanek-arm/fix-generate-whitelist
...
BLE: check flags to make sure the IRK has been stored before retrieving it
2018-06-14 10:15:15 -05:00
Vincent Coubard
92fa40b1c7
Nordic BLE: Accept connection parameter update
...
A peer device that sends a connection parameter update may get block if it doesn't receive a response.
This patch accept the peer request unconditionnally. At some point this event will be managed by the application.
2018-06-13 15:54:51 +01:00
Vincent Coubard
5237c3ec40
Nordic BLE:
...
Cancel pairing if the device fail to allocate the resources necessary for the pairing operation.
2018-06-13 15:11:13 +01:00
Vincent Coubard
f0c3f14887
Nordic BLE: Fix pairing cancellation.
...
Depending on the role and the current state of the local device; pairing cancelation should be made with a call to a specific function. Normally the Nordic stack would reject invalid calls if the device is not in the correct state; therefore it was assumed that it was possible to detect the state from sd errors. Unfortunatelly this is not true with the latest softdevices as some calls succeed even if the device is not in the right state.
To solve that issue cancelation looks at the current state of the device first to select the right function that will trigger the pairing cancellation.
Note: the call to sd_ble_gap_authenticate was missing in the previous algorithm
2018-06-13 15:10:10 +01:00
Vincent Coubard
301e527af7
Nordic BLE: Store locally role for a given connection.
2018-06-13 15:03:43 +01:00
Vincent Coubard
5c7b8c8ea4
Nordic BLE: Add default parameter to get the local instance of nrF5xn
2018-06-13 15:02:45 +01:00
Vincent Coubard
8e7936d327
Nordic BLE: Improve return of nRF5xn::getGap.
...
Return the derived type instead of the abstract one. This is legal as C++ supports covariant returns.
2018-06-13 15:02:07 +01:00
Cruz Monrreal
fff3564012
Merge pull request #7166 from paul-szczepanek-arm/fix-cancel-pairing
...
BLE: fix pairing for misconfigured devices (deny pairing correctly)
2018-06-13 08:45:46 -05:00
Cruz Monrreal
02e90ef469
Merge pull request #7163 from pan-/cordio-driver-hook
...
Cordio driver hook
2018-06-11 08:49:49 -05:00
paul-szczepanek-arm
bd8572e20f
missing return
...
function would potentially send a reject and accept at the same time
2018-06-07 17:18:08 +01:00
Cruz Monrreal
bacf6a9dec
Merge pull request #6860 from andrewleech/nordic_ble_config
...
Nordic BLE: Allow configuration of softdevice parameters
2018-06-07 10:10:23 -05:00
Vincent Coubard
06d9aac14c
Cordio BLE: Allow replacement of hci RX handler.
2018-06-07 12:30:34 +01:00
Vincent Coubard
569fd9ed30
Cordio BLE: Add hook to HCI driver and transport.
...
A friend class living in the namespace ble::vendor::cordio and named CordioHCITransportDriver can be added in applications requiring access to internal data of the HCI driver and HCI transport driver.
This is meant to be internal and not easily exploitable by application code.
2018-06-07 12:29:57 +01:00
paul-szczepanek-arm
265132c5a8
check that flags have the IRK stored before retrieving it
2018-06-05 15:15:19 +01:00
Cruz Monrreal
20a4412082
Merge pull request #7089 from paul-szczepanek-arm/fix-master
...
BLE fixes (SM whitelist creation, Nordic scatter file fix, missing TLS initialisation)
2018-06-04 10:44:54 -05:00
Anna Bridge
2d0e5f04b1
Merge pull request #6022 from andrewleech/nrf_asserts_error
...
nrf5x: Enable asserts -> mbed_error
2018-06-04 12:24:58 +01:00
Vincent Coubard
4d0126898c
BLE Nordic: Initialize and teardown tls platform context
2018-06-01 17:12:49 +01:00
paul-szczepanek-arm
e534f3b997
fix erroneous assert
2018-06-01 15:57:51 +01:00
paul-szczepanek-arm
ff7b13837f
check for invalid param
2018-06-01 15:57:39 +01:00
paul-szczepanek-arm
3a2dc69f11
fix not updating size of array
2018-06-01 15:57:22 +01:00
Andrew Leech
bf313aa1db
Move mbed_lib.json from targets folder to feature_ble folder
...
The functionality added all affects BLE features in use so this location is a better fit.
2018-06-01 13:37:16 +10:00
Andrew Leech
ff5ca11253
Allow configuration (via defines) of some of the key settings for the NRF51 softdevice.
...
* CENTRAL_LINK_COUNT
* PERIPHERAL_LINK_COUNT
* gatts_enable_params.attr_tab_size
* gatts_enable_params.service_changed
* common_enable_params.vs_uuid_count
These settings control the range of functionality enabled in the softdevice as well as ram consumption.
In particular reducing these values is critical to enable usage of 16K nrf51 devices.
2018-06-01 13:23:01 +10:00
Donatien Garnier
5da5ef45c0
Cordio H4: Added some comments explaining the use of RawSerial as opposed to using Serial
2018-05-31 11:11:28 -05:00
Donatien Garnier
0cb86ded76
BLE: Replace Serial with RawSerial in Cordio H4 Transport Driver
2018-05-31 10:28:45 -05:00
Cruz Monrreal
791620c428
Merge pull request #6932 from paul-szczepanek-arm/security-manager-dev
...
BLE privacy, signing, persistent security database
2018-05-24 10:07:06 -05:00
Donatien Garnier
f08ac2e9b2
Merge pull request #52 from pan-/fix-privacy-nrf52
...
Fix privacy nrf52
2018-05-23 11:50:28 -05:00
Vincent Coubard
db4d14c89d
BLE NRF52: Fix advertising filtering when no bonds are present.
2018-05-23 17:27:18 +01:00
Vincent Coubard
ef208912a6
BLE NRF52: Report correct own address type for connection
...
The function that gets the address doesn't work when privacy is enabled; report own address as private resolvable.
2018-05-23 17:27:18 +01:00
Vincent Coubard
30dac7cd8c
BLE NRF52: Fix identity address flag in connection request.
2018-05-23 17:27:07 +01:00
Vincent Coubard
1ba5a112f4
BLE: Fix wrong macro name for IAR
2018-05-23 17:11:26 +01:00
paul-szczepanek-arm
de41355c5c
Fix not processing all advertising reports if one is filtered out
...
filtering out individual reports instead of all
2018-05-23 14:24:54 +01:00
Paul Szczepanek
f4b7f32793
Merge pull request #49 from pan-/fix-privacy-backward-compatibility
...
Fix privacy backward compatibility
2018-05-23 14:20:49 +01:00
Vincent Coubard
cfe325cf0e
BLE NRF51: Do not filter advertising packet in peripheral if the device as no bond.
2018-05-22 17:40:18 +01:00
Vincent Coubard
ba61c09ffc
BLE NRF51: Resolve private address on connection in peripheral role
...
Soft device inconsistency: The address is not resolved automatically if the device is a peripheral.
2018-05-22 17:39:03 +01:00
Vincent Coubard
755cf5fa5f
BLE NRF51: Defer connection to a common function.
...
The soft device is not consistent as it is required to force the connection to a resolved resolvable address so it should be known if the target is an identity address.
2018-05-22 17:37:57 +01:00
Vincent Coubard
d427fcfb59
Nordic BLE: Remove dependency to mbedtls for CryptoToolbox::ah.
2018-05-22 17:33:49 +01:00
paul-szczepanek-arm
69a0c10f00
removing erroneous (and redundant) check
...
this is gating on the wrong flag and the call doesn't require a check in the first place
2018-05-22 14:37:02 +01:00
paul-szczepanek-arm
08cb7aefd2
fix not writing flags in the file
...
flags kept with the rest of data for each entry
2018-05-22 14:08:09 +01:00
paul-szczepanek-arm
84ff831141
measure file size with SEEK_END
...
I thought that's not portable but the rest of the codebase uses it so no reason not to
2018-05-22 12:25:11 +01:00
paul-szczepanek-arm
1cd0c20fd0
fix opening the file in the wrong mode
2018-05-22 12:11:07 +01:00
paul-szczepanek-arm
7d916a9997
fix not writing version number into the file
2018-05-22 11:45:38 +01:00
Andrew Leech
67140a2706
Redirect NRF asserts to mbed error() in TARGET_NRF5x and SDK 14.2
...
Add related details to TARGET_NRF5x Readme's
2018-05-22 11:36:31 +10:00
Andrew Leech
cfd248ee05
Enable ASSERTS's in nrf sdk to catch coding errors.
...
These will now flow through to mbed standard error handling.
2018-05-22 11:36:30 +10:00
Vincent Coubard
fb9e0dcbe7
BLE: Fix resolvable private address identification.
2018-05-21 15:30:19 +01:00
Vincent Coubard
b973a8a490
BLE: Add default constructor to peer_address_type_t
2018-05-21 15:29:54 +01:00
Vincent Coubard
bdad5d6496
BLE Generic: Handle peer address type backward compatibility.
2018-05-21 13:29:06 +01:00
Vincent Coubard
cc286fe84c
BLE: Cordio pal: Handle enhanced connection events.
2018-05-21 13:22:53 +01:00
Vincent Coubard
cbba6dd0d6
BLE PAL: Update connection event to support enhanced connection events.
2018-05-21 13:22:31 +01:00
Vincent Coubard
57ffa14b4b
Nordic BLE: Backport privacy backward compatibility to NRF51
2018-05-21 13:21:46 +01:00
paul-szczepanek-arm
62ba220100
doxygen fix
2018-05-21 11:42:32 +01:00
paul-szczepanek-arm
17e8ed9401
forward resolving list init
2018-05-21 11:34:40 +01:00
Vincent Coubard
14a1095c31
Nordic BLE: Disable secure connection support on NRF51.
2018-05-21 10:34:09 +01:00
Vincent Coubard
4c1a309117
Nordic BLE: Set own resolvable address to NULL.
...
This address is not accessible to the application.
2018-05-21 10:22:01 +01:00
Vincent Coubard
d962fc0174
BLE: factor code in GAP.
2018-05-21 10:20:43 +01:00
Vincent Coubard
28766bd873
BLE: Do not pass peer resolvable address in connection event handler
2018-05-21 10:17:44 +01:00
paul-szczepanek-arm
cd9f12ab45
return error codes
2018-05-18 13:59:30 +01:00
paul-szczepanek-arm
ace491d430
remove duplicate call
2018-05-18 13:54:15 +01:00
paul-szczepanek-arm
9da64e529e
refactor into separate functions for readability and correctness of pal matching db
2018-05-18 13:46:55 +01:00
paul-szczepanek-arm
439d002f7d
new API call to change db at runtime
2018-05-18 12:34:52 +01:00
paul-szczepanek-arm
608ad338e8
return error when not initialised
2018-05-18 10:24:16 +01:00
Vincent Coubard
c3bcd10cfd
BLE NRF52: Implement features related to peer_address_t
...
The overload of Gap::connect that accept peer_address_t has been added and gap connection and advertising report process have been updated to exploit peer_address_t in a backward compatible fashion.
2018-05-18 10:09:07 +01:00
Vincent Coubard
d361960aa3
BLE: Use peer_address_type_t instead of the legacy address in security manager.
2018-05-18 10:04:27 +01:00
paul-szczepanek-arm
a8ac925b4f
privacy doxygen overview
2018-05-17 16:48:49 +01:00
paul-szczepanek-arm
7e69444458
security manager doxygen overview updated
2018-05-17 14:10:57 +01:00
Vincent Coubard
a052afdd40
BLE: Update APIs to take advantage of ble::peer_address_type_t
...
Deprecation:
* Gap::AdvertisementCallback::addressType has been deprecated in favor of Gap::AdvertisementCallback::peerAddrType.
* Gap::ConnectionCallbackParams::peerAddrType has been deprecated in favor of Gap::ConnectionCallbackParams::peerAddressType.
* Gap::ConnectionCallbackParams::ownAddr has been deprecated in favor of nothing else as this information may be not available.
Overloads added to accept a peer_address_t:
* Gap::connect
* Gap::processConnectionEvent
* Gap::processAdvertisingReport
2018-05-17 13:27:15 +01:00
Vincent Coubard
0eb680a08b
GenericGap: Revert changes introduced to accomodate privacy.
2018-05-17 10:56:29 +01:00
Vincent Coubard
7f05fc0e00
BLE: Define peer_address_type_t
...
This type model a peer address, unlike BLEProtocol::AddressType, it is compatible with privacy concepts.
2018-05-17 10:30:24 +01:00
Vincent Coubard
e5d91932fd
BLE: Revert address type changes.
...
The changes made to BLEProtocol::AddressType was not entirelly backward compatible as BLEProtocol::AddressType split random addresses in three category while the type RANDOM is a superset of these types.
2018-05-17 10:26:04 +01:00
paul-szczepanek-arm
b845a9dc95
fixed doxygen
2018-05-16 17:24:17 +01:00
paul-szczepanek-arm
57a02d6329
fixed signature
2018-05-16 16:54:47 +01:00
Vincent Coubard
37c036ca6b
Nordic: Port privacy to softdevice v4.
...
Many things have changed; the identity list isn't shared anymore with the whitelist and resolution is handled by the stack itself.
2018-05-16 16:16:06 +01:00
Vincent Coubard
6c44a78166
Merge branch 'master' of https://github.com/ARMmbed/mbed-os into security-manager-dev
2018-05-16 15:55:15 +01:00
Donatien Garnier
ad09ba0dcc
Fix handling of security escalation in on_connection_complete()
2018-05-16 13:54:25 +01:00
Donatien Garnier
3f7a7a4213
Merge
2018-05-16 12:44:36 +01:00
Donatien Garnier
7ef7ef553c
Fix is_random_xxx_address() functions in GenericGap that I had broken :)
2018-05-16 12:04:04 +01:00
Donatien Garnier
1fdb57e82c
Removed set_privacy() API and added is_privacy_supported() check to PAL + Generic GAP
2018-05-16 12:02:21 +01:00
paul-szczepanek-arm
1ae13bc80f
don't reset db on security manager reset as the docs require
2018-05-16 11:46:36 +01:00
paul-szczepanek-arm
bcca75973e
reseting the security db
2018-05-16 11:23:17 +01:00
paul-szczepanek-arm
c2bbc94b44
handle init of an already initialised security db
2018-05-16 11:01:37 +01:00
Vincent Coubard
afcbdfc7dc
Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into filedb
2018-05-16 08:43:52 +01:00
Donatien Garnier
288c3952d8
Address Paul's comments
2018-05-15 18:37:50 +01:00
paul-szczepanek-arm
5c598688e4
templates for reading and writing to avoid repetition
2018-05-15 16:35:54 +01:00
Vincent Coubard
2cb6e659a9
Nordic BLE: Backport security fixes from nRF5 to nRF5x
2018-05-15 15:11:33 +01:00
Vincent Coubard
ca5a9f359a
Nordic BLE: remove unecessary nordic ble libraries.
2018-05-15 14:51:19 +01:00
Vincent Coubard
a22b4e5d5e
Nordic BLE: Remove nordic gap init.
...
This initialization is already done in GattServer.
2018-05-15 14:51:18 +01:00
Vincent Coubard
dd6a5350e2
Nordic BLE: Remove peer manager handling.
2018-05-15 14:51:18 +01:00
Vincent Coubard
6f24078507
Nordic BLE: route event handling correctly.
2018-05-15 14:51:18 +01:00
Vincent Coubard
167a660ac1
Nordic BLE: use pal security manager.
2018-05-15 14:51:18 +01:00
Vincent Coubard
31f8cd18f7
Nordic BLE: Backport Gap from nRF5
2018-05-15 14:51:18 +01:00
Vincent Coubard
39396955a2
Nordic BLE: simplify whitelist management.
2018-05-15 14:51:17 +01:00
Vincent Coubard
6810c02606
Nordic BLE: Fix processing of events.
...
If new events are signaled during processing then they should be processed when processEvent is called again. The goal is to let other processing happen and not process sollely ble events.
2018-05-15 14:51:17 +01:00
Vincent Coubard
8fbecf2e0d
Nordic BLE: Fix incorrect assignement
2018-05-15 14:51:17 +01:00
Vincent Coubard
68b3288ba8
Nordic BLE: Fix signature of nRF5xGattServer::hwCallback
2018-05-15 14:51:17 +01:00
Vincent Coubard
4a7c9a9a55
Nordic BLE: expose publically btle_handler
2018-05-15 14:51:17 +01:00
Vincent Coubard
2af5508c4c
Nordic BLE: Do not conditionnaly assign sm key pointers.
...
This change has been forced by a change in latest softdevice that requires all key pointers to not be NULL unlike what is indicated in the documentation.
2018-05-15 14:51:17 +01:00
Vincent Coubard
dc54da0a2d
Nordic BLE: Force signing and link requirements to false.
2018-05-15 14:51:16 +01:00
Vincent Coubard
02e3c13d25
Nordic BLE: Protect event signaled flag.
2018-05-15 14:51:16 +01:00
Vincent Coubard
f7f1272647
Nordic: Backport security manager pal for NRF5X targets.
2018-05-15 14:51:15 +01:00
Vincent Coubard
4acb3937e4
Cordio BLE: Fix potential memory leak in GattServer.
2018-05-15 14:32:29 +01:00
Vincent Coubard
ee720f30bb
BLE: Comment security requirement elevation for signed writes.
2018-05-15 12:17:59 +01:00
Vincent Coubard
2c7ed993ec
BLE: Fix security requirements in GattCharacteristic.
2018-05-15 12:17:34 +01:00
Vincent Coubard
2860365a3c
BLE: Improve readibility of condition.
2018-05-15 12:16:51 +01:00
paul-szczepanek-arm
49db7e2a2a
restoring db file blanks file if set to not restore, allow reusing the db
2018-05-15 11:46:39 +01:00
paul-szczepanek-arm
f8244a3d87
review comments, init partly moved to restore, restore setting enabled, null check on filepath
2018-05-15 10:24:59 +01:00
Donatien Garnier
6c6af1b0d5
Added missing masks and fixed bit ordering in is_random_xx_address() functions
2018-05-14 13:59:32 +01:00
Donatien Garnier
d8b63fc03d
Reordered initializers in GenericGap
2018-05-14 13:53:50 +01:00
Donatien Garnier
67ec6323fc
Added update_random_address() implementation in GenericGap
2018-05-14 13:52:29 +01:00
Donatien Garnier
3523cdb264
Missing initializer in GenericGap
2018-05-14 13:37:37 +01:00
Donatien Garnier
472d3de849
Give GenericGap access to the Security Manager's PAL
2018-05-14 13:36:02 +01:00
Donatien Garnier
a3d9d6cebd
Business logic for handling non-resolvable private addresses
2018-05-14 13:26:39 +01:00
Bartek Szatkowski
38df9306d7
Update wsf_types.h to support updated CMSIS
2018-05-14 12:18:21 +01:00
paul-szczepanek-arm
579cb5e222
avoid setting flags twice
2018-05-14 10:26:44 +01:00
paul-szczepanek-arm
f4f3a3c697
store ltk and csrk but not irk sent status
...
and missing asserts
2018-05-14 09:52:49 +01:00
paul-szczepanek-arm
a7f8d54761
more doxygen
2018-05-13 23:54:44 +01:00
paul-szczepanek-arm
d3524e2407
doxygen
2018-05-13 23:49:44 +01:00
paul-szczepanek-arm
8f90875cd6
reset entry now remove old keys
2018-05-13 23:49:27 +01:00
paul-szczepanek-arm
23c6a69d66
key dist flags only in db now and not in control block of sec manager
2018-05-13 23:26:34 +01:00
Donatien Garnier
69e35c49c8
Handle resolution policy for peripheral in GenericGap
2018-05-13 23:25:52 +01:00
paul-szczepanek-arm
ab117737fa
write back counter, sync entry by hand;e
2018-05-13 22:55:47 +01:00
Donatien Garnier
21471bb3c9
and make sure it compiles and that policy is only applied if privacy is enabled :)
2018-05-13 22:42:11 +01:00
Donatien Garnier
926efa4018
Filter out advertising reports for unresolved addresses if required
2018-05-13 22:37:59 +01:00
Donatien Garnier
6a2ffaeac0
Update own address type generation in GenericGap
2018-05-13 22:16:08 +01:00
Donatien Garnier
620ebc3f9a
Some fixes in GenericGap
2018-05-13 20:38:29 +01:00
Donatien Garnier
2509a88d58
Revert set_privacy() in Cordio GAP PAL impl
2018-05-13 20:37:14 +01:00
Donatien Garnier
1a623e6670
Added method to enable/disable privacy in GAP Pal with Cordio impl
2018-05-13 19:15:20 +01:00
Donatien Garnier
4c5e2a8094
Added method to update resolution settings in GenericGap
2018-05-13 19:14:56 +01:00
Donatien Garnier
cf03d40909
Doc fix in PalGap.h
2018-05-13 18:54:11 +01:00
Donatien Garnier
5734fca195
Added set_address_resolution method in GAP Pal with Cordio implementation
2018-05-13 18:53:23 +01:00
Donatien Garnier
7b4a813aca
Added stubs in GenericGap for privacy configuration methods
2018-05-13 18:52:54 +01:00
Donatien Garnier
e9ad148db0
Added privacy-related methods overrides in GenericGap
2018-05-13 17:57:27 +01:00
Donatien Garnier
33c46f5658
Remove LL resolving 'shorcut' when adding a device to resolving list - this should be controlled by the GAP layer
2018-05-13 17:49:00 +01:00
Cruz Monrreal
2104d8ab5b
Merge pull request #6711 from marcuschangarm/cleanup-nrf5x
...
Cleanup TARGET_NRF5 and TARGET_NRF5x
2018-05-11 19:15:05 -05:00
paul-szczepanek-arm
3af4d0b50f
get identity list function argument needs to have its own memory allocated
2018-05-11 19:52:12 +01:00
paul-szczepanek-arm
a63f38e767
moved logic to security db and left storage in memory and file dbs
...
db created at init now
2018-05-11 19:41:33 +01:00
Donatien Garnier
40b6813dcf
Fix wrong use of DmLlPrivEnabled()
2018-05-11 18:52:27 +01:00
Donatien Garnier
71bd30daf3
More inline doc
2018-05-11 18:37:02 +01:00
Donatien Garnier
bcfbeb7f1a
Some doc adjustments
2018-05-11 18:23:37 +01:00
Donatien Garnier
3ca3c2db2c
Initial implementation of the Security Manager's Privacy feature for Cordio
2018-05-11 18:20:39 +01:00
paul-szczepanek-arm
678d494c5a
init _db pointer
2018-05-11 10:20:04 +01:00
paul-szczepanek-arm
afa4bdcf1a
pull common logic into secure db
2018-05-11 10:19:48 +01:00
Vincent Coubard
40a403e99b
Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into fix-encryption-rejection
2018-05-10 12:05:36 +01:00
paul-szczepanek-arm
473482d204
move securitydb into generic
2018-05-10 11:08:31 +01:00
Cruz Monrreal
c97a8fb216
Merge pull request #6817 from pan-/fix-crypto_toolbox_f4-parameter-types
...
GenericSecurityManager: Fix crypto_toolbox_f4 signature.
2018-05-09 11:33:27 -05:00
Cruz Monrreal
e33fb60c3d
Merge pull request #6849 from scartmell-arm/bug-critical-section-nordic
...
Add missing semicolon to NRF51 critical_section implementation
2018-05-09 11:33:10 -05:00
paul-szczepanek-arm
b95da8d8c4
remove crypto when missing ECDH
2018-05-09 12:27:43 +01:00
Paul Szczepanek
fee986750d
fix case
2018-05-09 12:19:35 +01:00
Paul Szczepanek
b4d7bb6020
fix case
2018-05-09 12:19:27 +01:00
Paul Szczepanek
37b11d8ac5
fix case
2018-05-09 12:18:55 +01:00
Paul Szczepanek
367fe345ba
fix case
2018-05-09 12:18:42 +01:00
Paul Szczepanek
79b3bc4fce
fix case
2018-05-09 12:18:26 +01:00
paul-szczepanek-arm
b98ffa48da
fix uppercase X in nrf5x
2018-05-09 12:16:26 +01:00
paul-szczepanek-arm
6a26a8a6c8
Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into security-manager-dev
2018-05-09 11:37:41 +01:00
paul-szczepanek-arm
c02b318436
fixed case in filename
2018-05-09 11:37:33 +01:00
Paul Szczepanek
2b02148ab6
Merge branch 'master' into security-manager-dev
2018-05-09 11:23:28 +01:00
paul-szczepanek-arm
b8fe37a00e
disable ECDH if the platform doesn't support it
...
otherwise you get linker errors
2018-05-09 11:01:10 +01:00
Steven Cartmell
1dfea4168f
Add missing semicolon to NRF51 critical_section implementation
2018-05-09 10:54:26 +01:00
Marcus Chang
1aebdcbee5
Reorganize TARGET_MCU_NRF51822_UNIFIED directories
...
The unified NRF51 target and feature BLE directories have been
reorganized to follow the naming and directory structure of the
NRF52 implementation.
This reorganization does not include TARGET_MCU_NRF51822 and
derived targets.
2018-05-08 10:10:01 -07:00
Paul Szczepanek
9a0a0865a6
Merge branch 'security-manager-dev' into sm-privacy-nordic
2018-05-08 18:01:41 +01:00
Paul Szczepanek
214656a9ee
fix case in #include
2018-05-08 17:56:38 +01:00
Paul Szczepanek
1a35f3e217
fixed case in name
2018-05-08 17:49:22 +01:00
Cruz Monrreal
adcd7ec002
Merge pull request #6742 from pan-/ble-update-cordio-porting-guide
...
BLE: Update cordio porting guide
2018-05-08 10:42:19 -05:00
Cruz Monrreal
5b5c8ddb4e
Merge pull request #6743 from pan-/ble-cordio-h4-conditionnal-to-fc
...
BLE: Conditional compilation of H4 driver
2018-05-08 10:41:58 -05:00
Vincent Coubard
565921608e
Cordio: Improve cordio H4 driver.
...
Ommit H4 driver definition if serial flow control is not supported.
2018-05-04 16:36:05 +01:00
Vincent Coubard
34c9206054
BLE: update cordio porting guide.
...
Improve description of the requirements of the H4 driver.
2018-05-04 16:35:57 +01:00
Vincent Coubard
3f9186faa2
GenericSecurityManager: Fix crypto_toolbox_f4 signature.
...
The type exposed in the header file were not aligned to the one used in
the implementation: ble::public_key_t instead of ble::public_key_coord_t.
2018-05-04 12:11:34 +01:00
Vincent Coubard
fd5903c22d
GenericGattClient: Fix discovery termination.
...
The procedure should be terminated whenever the server returns an error not equal
to ATTRIBUTE_NOT_FOUND. The block was effectivelly terminated but the
procedure was not. As a result the discovery was operating on already
freed memory.
2018-05-04 11:30:58 +01:00
Vincent Coubard
b5e8d4eacb
Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into fix-encryption-rejection
2018-05-03 09:26:36 +01:00
Vincent Coubard
0a59e00b23
Nordic BLE: Update GATT server security management
...
This patch refines permission applied to characteristic and descriptors; instead of a single level of permission , each characteristic receives a permission for the read operation, one for the write operation and another one for the update operation.
As a consequence, updates are not sent if the link does not cover the update permission requirement.
Descriptors also benefits individually from read and write permission.
2018-05-02 19:15:24 +01:00
Vincent Coubard
4f1e574eff
Cordio GattServer: Fix uses of designated initializer.
...
These are not legal in C++ code.
2018-05-02 18:14:54 +01:00
Vincent Coubard
7e043ead96
Nordic BLE: Add stub implementation of remove_peer_csrk in security manager.
2018-05-02 17:52:39 +01:00
Vincent Coubard
4e5639f5ca
BLE: Support encryption with secure connection key.
2018-05-02 17:51:48 +01:00
Donatien Garnier
ba0f18c9ab
Fix casing in MemorySecurityDb.h
2018-05-02 17:39:10 +01:00
Vincent Coubard
f79eeb0173
Cordio: Update stack and pal to support LE security mode 2 level 2.
2018-05-02 14:32:38 +01:00
Vincent Coubard
01e3a004a6
Cordio: register server authorization callback.
2018-05-01 12:29:03 +01:00
Vincent Coubard
549a513dfb
Cordio: Enable client and server signing
2018-05-01 12:28:37 +01:00
Vincent Coubard
d0c4d7a8a3
Cordio: Forward server related events to CordioGattServer
2018-05-01 12:27:49 +01:00
Vincent Coubard
0f64b1c988
CordioGattServer: Global refactoring
...
The registration process has been breaked down into several functions that register the service attribute, characteristic declaration attributes, characteristic value attributes and characteristic descriptors.
Service registration now consider all characteristics permissions: read, write and update. Permissions are also considered when updates needs to be propagated to peers.
Handling of user authorization is also a change introduced by this refactoring.
2018-05-01 12:26:24 +01:00
Vincent Coubard
55eb7033b2
Generic Security Manager: Set csrk to stored when the peer csrk has been received.
2018-05-01 11:54:25 +01:00
Vincent Coubard
41a3442474
Generic Security Manager: Set ltk to stored when the peer ltk has been recveived.
2018-05-01 11:54:03 +01:00
Vincent Coubard
f90eacfd27
Generic Security Manager: remove peer csrk at disconnection
2018-05-01 11:53:18 +01:00
Vincent Coubard
1ac95e105b
ble - Generic Security Manager: set signing unconditionnal to role reversal.
...
A peripheral can act as a GATT client whether it is in the peripheral role or the central role therefore it doesn't make sense to enable signing only if roles will be reversed latter.
2018-05-01 11:50:59 +01:00
Vincent Coubard
9880db7543
Generic Security Manager: Improve formating
2018-05-01 11:48:22 +01:00
Vincent Coubard
2e3c7e8ab7
Generic Security Manager: Set LinkKey to false unconditionally.
...
This key distribution flags is for dual mode devices; mbed does not support BR/EDR.
2018-05-01 11:45:24 +01:00
Vincent Coubard
e39bb4b92c
BLE - GenericGattClient: Exploit ENCRYPTED_WITH_SC_AND_MITM encryption.
...
IF link is encrypted, authenticated or authenticated with lesc then signed write must be transformed into regular write commands.
2018-05-01 11:38:30 +01:00
Vincent Coubard
2da6fa3947
Cordio PAL security manager: Copy locally own CSRK
...
The stack does not copy csrk when DmSecSetLocalCsrk is invoked; it just retains a pointer to it. Therefore a copy is kept inside the pal.
2018-05-01 11:35:16 +01:00
Vincent Coubard
e4813f4fe9
Cordio PAL Security Manager: Copy locally own IRK.
...
The IRK needs to be stored somewhere as it is not copied inside the stack, the stack just keeps a reference to it.
2018-05-01 11:33:36 +01:00
Vincent Coubard
2924bb4c86
Cordio PAL ATT Client: initialize the local sign counter to 0.
2018-05-01 11:29:45 +01:00
Vincent Coubard
74bc214961
BLE - Security Manager PAL: Add a function to remove the peer csrk.
...
If the the upper layer has registered a peer csrk on the pal security manager then it must remove it once the connection is closed.
This API allows the upper layer to remove the peer csrk registered earlier.
2018-05-01 11:27:38 +01:00
Vincent Coubard
1e277bad50
BLE: Lookup for non identity addresses when a secure entry is opened.
...
A peer may not share a valid IRK and identity address during pairing (in that case the identity address received is all zeros). When this happens, the entry must be retrieved by looking at the address used by the peer during the connection.
2018-05-01 11:24:44 +01:00
Vincent Coubard
c4b78ada0e
BLE: Set default mac address to 00:00:00:00:00:00
...
Both mac addresses are invalid but the bluetooth specification prefers to use all 0 addresses to represent an invalid address.
2018-05-01 11:17:47 +01:00
Vincent Coubard
80941af0f6
BLE: Add : LESC authenticated encryption to the list of possible link encryption.
2018-05-01 11:16:41 +01:00
Vincent Coubard
db565d38b3
BLE: remove useless flags in GattCharacteristic.
2018-04-26 19:00:43 +01:00
Vincent Coubard
486a3e020c
BLE: Add fine grained security to GattCharacteristic.
...
This patch adds independent management of security requirement for read, write and update operatiosn of a GattCharacteristic.
Requirements are defined after ble::att_security_requirement_t that maps LE security mode 1 and LE security mode 2.
The functions requireSecurity and getRequiredSecurity are deprecated as SecurityManager::ScurityMode_t does not map well with LE security modes.
2018-04-26 18:55:42 +01:00
Vincent Coubard
1c18351885
BLE: Remove unwanted documentation block of GattCharacteristic.
2018-04-26 17:29:29 +01:00
Vincent Coubard
9258b9ddb6
BLE: Add security requement support into GattAttribute.
2018-04-26 17:26:15 +01:00
Vincent Coubard
7afd01d84d
BLE: Add type describing ATT security requirements.
2018-04-26 17:22:21 +01:00
Vincent Coubard
27d36ba820
BLE: Add missing relational operator to SafeEnum.
2018-04-26 17:07:54 +01:00
Vincent Coubard
2c8b9ab3dc
BLE: Remove example section from cordio porting guide.
...
This section is not applicable in the public version of mbed-os.
2018-04-25 12:15:28 +01:00
Vincent Coubard
6bb80317f8
BLE: Update cordio porting guide
...
Remove the section "Include prebuilt libraries" as it is not applicable
anymore.
2018-04-25 11:48:23 +01:00
Vincent Coubard
b0d5ba33bb
BLE: return an error when application tries to turn down encryption.
2018-04-20 15:49:14 +01:00
Vincent Coubard
6a90232b6b
BLE: Update cordio stack binaries.
...
The new build contains a fix related to permission verification of
characteristic that requires signed write.
2018-04-20 14:57:14 +01:00
Vincent Coubard
cbb33ea938
BLE: Add comments to GenericSecurityManager::on_identity_list_retrieved.
2018-04-20 10:22:56 +01:00
Vincent Coubard
0b92397840
BLE: Fix flag IRK stored in Memory security DB.
2018-04-20 10:22:13 +01:00
paul-szczepanek-arm
d1f3e4fd27
don't require master sends keys for signing key
2018-04-20 09:33:54 +01:00
Donatien Garnier
f9b371fc0f
Handle required BLE5 softdevice commands
2018-04-19 09:40:41 -07:00
Donatien Garnier
aeab2ecbbf
Fix potential race condition in nRF5xn.cpp
2018-04-19 09:40:41 -07:00
Marcus Chang
97426d63e9
NRF52 BLE: Fix GCC C++11 include error
...
Change <memory> include to <new>
From: d001fb1c66
2018-04-19 09:40:41 -07:00
Donatien Garnier
64baf717e8
Upgrade NRF52 BLE API to version 5
...
* Add NRF_SD_BLE_API_VERSION=5 macro to MCU_NRF52832 target
* Added initial Softdevice v5 API support for nRF5XPalGattClient.cpp
* Added initial Softdevice v5 API support for nRF5xGap.h
* Added initial Softdevice v5 API support for nRF5xGattServer.cpp
* Make sure the ah() hash function used by the security manager is declared with C linkage
* Removed 'ARM porting pending' checks in Nordic SDK
* Added BLE configuration to mbed_lib.json for NRF52x targets
* Migrated APIs and events model for Nordic SDK14.2 & SD API v5 in btle.cpp; adopted polling dispatch model
* Migrated APIs and events model for Nordic SDK14.2 & SD API v5 in nRF5xn.cpp
* Migrated APIs and events model for Nordic SDK14.2 & SD API v5 in nRF5xGap.cpp
* Added const qualifier to hwCallbacks's p_ble_evt parameter in nRF5xGattServer
* Add workaround to enable Radio Notification module from Nordic SDK
* Disabled SWI1 interrupt manually from SWI driver module
* Added missing include directive for "nrf_nvic.h" in ble_radio_notification.c
* Set correct number of custom UUIDs
* Adjust Softdevice RAM requirements for NRF52832/S132
* RAM settings for the application were adjusted as follow:
* Start: 0x20003800
* Size: 0xC800
* Adjust Softdevice RAM requirements for NRF52840/S140
* RAM settings for the application were adjusted as follow:
* Start: 0x20003700 (was 0x20003000)
* Size: 0xC900
* Added 3dBm as a permitted TX Power value for NRF52832
* Fix address type recovery in GAP
* Return min non-connectable adv interval compatible with infrastrcture's expectations
* Moved BLE driver from TARGET_SDK_14_2/FEATURE_BLE to TARGET_SDK_14_2/TARGET_SOFTDEVICE_COMMON/ble
2018-04-19 09:40:41 -07:00
Paul Szczepanek
a99a4b8593
Merge pull request #33 from pan-/fix-cordio-addresses-type
...
BLE: Handle new addresses type in GenericGap.
2018-04-18 11:34:13 +01:00
Vincent Coubard
169e579de7
BLE: Handle new addresses type in GenericGap.
2018-04-17 17:05:41 +01:00
paul-szczepanek-arm
f56f57bf15
reorder enum to add new values at the end
2018-04-17 16:25:35 +01:00
Vincent Coubard
951a6be4c8
BLE: retrieve and fill resolving list at GenericSecurityManager startup.
2018-04-17 15:58:21 +01:00
Vincent Coubard
ede3d43743
BLE: Add function to querry the list of identity addresses present in the SecureDB.
2018-04-17 15:57:30 +01:00
Vincent Coubard
77b1903634
BLE: Add bonded device to resolving list at the end of bonding.
2018-04-17 14:16:35 +01:00
Vincent Coubard
ae8d5b4de1
BLE: Implement identity retrieval in secure DB.
2018-04-17 14:15:28 +01:00
Vincent Coubard
f905d2a4d4
BLE: Improve DB entry lookup.
...
The DB entry lookup now looks at the identity address and/or connection address to find a DB entry associated to an address.
If the entry has not been found in the DB and a new entry is returned then the connection address is not stored for private addresses.
2018-04-17 14:14:53 +01:00
Vincent Coubard
a3bb18d724
BLE: store identity address type in DB.
2018-04-17 14:11:05 +01:00
Vincent Coubard
06e0aa3440
BLE: flag that irk has been stored in the security entry.
2018-04-17 14:10:19 +01:00
Vincent Coubard
6fc74fbc44
BLE: Fix MemorySecurityDB constructor warning.
2018-04-17 14:09:00 +01:00
Vincent Coubard
15fa3bfd37
BLE: Add a function to retrieve a device identity.
2018-04-17 14:08:01 +01:00
Vincent Coubard
e8041510a6
BLE: Add a flag that indicate if the identity address is public or not.
2018-04-17 14:07:19 +01:00
Vincent Coubard
ab6821aab8
BLE: Add a flag indicating if irk is stored in the distribution flags.
2018-04-17 14:06:47 +01:00
Vincent Coubard
9643b57159
BLE: Remove flag SecurityDistributionFlags_t::local_address_is_public
...
This flag was not used and not useful.
2018-04-17 14:06:00 +01:00
Vincent Coubard
dfbf383614
BLE: Fix const correctness of ::Gap::getRandomAddressType
2018-04-17 14:03:57 +01:00
Vincent Coubard
51e1c76b4a
BLE: Set default mac address to all 00.
2018-04-17 14:03:20 +01:00
Vincent Coubard
b3c871c960
BLE: Implement privacy on Nordic targets.
2018-04-16 18:18:05 +01:00
Vincent Coubard
2a9d80c5f0
BLE: Change nRF5xSecurityManager::resolve_address signature
...
Return the resolving list entry instead of accepting in parameters.
2018-04-16 18:18:04 +01:00
Vincent Coubard
a18283d897
BLE: change nRF5xSecurityManager::get_resolving_list return
...
It now returns a resolving list entry.
2018-04-16 18:18:04 +01:00
Vincent Coubard
fb680db621
BLE: Implement resolving list in Nordic PAL security manager
2018-04-16 18:18:04 +01:00
Vincent Coubard
365f3d2527
BLE: Add ah in Nordic CryptoToolbox.
2018-04-16 18:18:04 +01:00
Vincent Coubard
a7f2384e10
BLE: Add default privacy configuration
2018-04-16 18:18:04 +01:00
paul-szczepanek-arm
9a9167602d
moved init code into non-const for clarity
2018-04-16 15:58:03 +01:00