Commit Graph

4246 Commits (8cbc53617f78d08e08dbcfad3d8e6e4fe044b62b)

Author SHA1 Message Date
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