Commit Graph

906 Commits (de7768ce2925a8b94e23d51a2b6a00ca603d92d4)

Author SHA1 Message Date
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
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 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 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 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 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
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 3eebcc49ad BLE: Add more precondition check to GenericGap. 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
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 b825ffc1f6 BLE: Handle setAdvertisingParameters on legacy controllers. 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 d63c7bc948 BLE: use std::min where appropriate. 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 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 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 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 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
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
paul-szczepanek-arm a2c9781682 fix whitelist generation (set correct address type) 2018-09-05 16:46:01 +01: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 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 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
Senthil Ramakrishnan 7803a40fbd Update BLE error calls to use new error codes and mbed_error 2018-08-17 22:52:50 -05: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
paul-szczepanek-arm 265132c5a8 check that flags have the IRK stored before retrieving it 2018-06-05 15:15:19 +01:00
paul-szczepanek-arm 3a2dc69f11 fix not updating size of array 2018-06-01 15:57:22 +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 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 cbba6dd0d6 BLE PAL: Update connection event to support enhanced connection events. 2018-05-21 13:22:31 +01:00
paul-szczepanek-arm 62ba220100 doxygen fix 2018-05-21 11:42:32 +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 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
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 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
Donatien Garnier 3f7a7a4213 Merge 2018-05-16 12:44:36 +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
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 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
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
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
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 23c6a69d66 key dist flags only in db now and not in control block of sec manager 2018-05-13 23:26:34 +01:00
paul-szczepanek-arm ab117737fa write back counter, sync entry by hand;e 2018-05-13 22:55:47 +01:00
Donatien Garnier 6a2ffaeac0 Update own address type generation in GenericGap 2018-05-13 22:16:08 +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
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
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
Paul Szczepanek 2b02148ab6
Merge branch 'master' into security-manager-dev 2018-05-09 11:23:28 +01: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
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 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 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 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 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 a7f2384e10 BLE: Add default privacy configuration 2018-04-16 18:18:04 +01:00
Vincent Coubard 90c85955ad BLE: Fix GAP privacy related signatures. 2018-04-12 11:04:44 +01:00
Vincent Coubard 2811e00868 BLE: Fix Gap privacy related documentation 2018-04-12 10:37:13 +01:00
Vincent Coubard 1f02913a2c BLE: Add Gap privacy interfaces.
This commit adds API to enable and configure the device privacy.
It deprecates address random types present in Gap::AddressType as these types are not appropriate for scan reports, connection initiation and the connection event. Now user should use the function Gap::getRandomAddressType to find the type of a random address.
The function gap::setAddress is deprecated as it is not portable and can colide with privacy.
2018-04-11 14:18:42 +01:00
Paul Szczepanek 6c900642e5
Merge pull request #28 from paul-szczepanek-arm/signing-counter
sign counter added
2018-04-10 17:06:14 +01:00
paul-szczepanek-arm deeb0ea7e0 redundant store for sign counter 2018-04-09 15:11:26 +01:00
paul-szczepanek-arm 637dcb9bc8 missing * 2018-04-09 15:10:25 +01:00
paul-szczepanek-arm 55d3423a5e typedef uint32_t 2018-04-09 13:35:17 +01:00
Vincent Coubard f53a0e4906 Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into sc-nordic 2018-04-09 09:09:01 +01:00
paul-szczepanek-arm 57149b69e4 monitor for signing events and set local counter 2018-04-04 19:24:00 +01:00
paul-szczepanek-arm 1d74dfa1f9 redundant funcs removed 2018-04-04 18:02:16 +01:00