Commit Graph

252 Commits (cb4dd19ad040c947bc9c96d5b11fc282c81b2898)

Author SHA1 Message Date
Paul Szczeanek f126793f20 Add host reolustion for advertising and connections 2020-10-05 11:53:59 +01:00
Paul Szczeanek 593c1776b4 add EventList class for storing pending events 2020-10-05 11:53:23 +01:00
Paul Szczeanek 44b2e73ef1 Add setters to events 2020-10-05 11:53:23 +01:00
Paul Szczeanek df17942c2c remove unused enhanced conn complete 2020-10-05 11:53:23 +01:00
Paul Szczeanek 0a3cd69fc6 event handler should not affect internal state 2020-10-05 11:53:22 +01:00
Paul Szczeanek 685af00fd5 split resolve addres into cache and not cache 2020-10-05 11:53:22 +01:00
Vincent Coubard 4859dbe426 BLE: Set identity address to random static.
This also ensure the random static address used by gap is the correct one.
2020-10-05 11:53:22 +01:00
Vincent Coubard 0b98682109 BLE: Add function to set the identity address used by the controller/platform.
The function to get it has been removed as this operation is driven by the security manager.
2020-10-05 11:53:22 +01:00
Vincent Coubard 5cb05958a9 BLE: Add function to get the device random static address. 2020-10-05 11:53:22 +01:00
Vincent Coubard f897729d5c Cordio: Add API to set the local identity address. 2020-10-05 11:53:22 +01:00
Vincent Coubard 9eac36879a BLE: improve scan state bookkeeping 2020-10-05 11:53:22 +01:00
Vincent Coubard 9df7fc9b7e BLE: Fix state update when event handler not present 2020-10-05 11:53:22 +01:00
Vincent Coubard 48f4cfbe04 BLE: return stack busy instead of invalid state when applicable
enabling/disabling scanning and advertising operations can be prevented if the previous operations hasn't completed.
Return that the stack is busy and cannot fulfill the request at the moment rather than the state is invalid.
2020-10-05 11:53:22 +01:00
Vincent Coubard 3c22f8ae1d BLE: privacy tracing cleanup 2020-10-05 11:53:22 +01:00
Vincent Coubard 19d89366d7 BLE: Private address when initiating connection 2020-10-05 11:53:22 +01:00
Vincent Coubard c39d03a531 BLE: Implement private address rotation for initiating. 2020-10-05 11:53:22 +01:00
Vincent Coubard 4685322f4e BLE: Add routine that computes the random address to use depending on the procedure. 2020-10-05 11:53:21 +01:00
Vincent Coubard 559640cbd5 BLE: check LL resolution availability before enabling it. 2020-10-05 11:53:21 +01:00
Vincent Coubard e5128689aa BLE: Fix random static address storage 2020-10-05 11:53:21 +01:00
Vincent Coubard 924f8b1dc9 BLE: Update state when scan started/stopped callback received. 2020-10-05 11:53:21 +01:00
Vincent Coubard d8c6820cbd BLE: Add callback for scan started and stoped. 2020-10-05 11:53:21 +01:00
Vincent Coubard b8549ec91d BLE: rename address resolution handler. 2020-10-05 11:53:21 +01:00
Vincent Coubard 4b853956d9 BLE: Add resolvable and non resolvable private address rotation with advertising 2020-10-05 11:53:15 +01:00
Vincent Coubard f810ec4c2a BLE: Add initiating flag into gap to track if the local device tries to connect to a peer. 2020-10-05 11:50:34 +01:00
Vincent Coubard 13771b8172 BLE: Remove address resolution from GAP pal 2020-10-05 11:50:34 +01:00
Vincent Coubard 7e16ee448e BLE: Bind address controller with Gap 2020-10-05 11:50:33 +01:00
Vincent Coubard 313676a089 BLE: Add gap handlers to be informed when advertising as started or been stopped 2020-10-05 11:50:33 +01:00
Vincent Coubard 23f7a187fb BLE: Pal event queue pop before execution.
A race condition was present if a single event was present in the event queue and the event was generating a new event.
2020-10-05 11:50:33 +01:00
Vincent Coubard 237278be24 BLE: Update security manager to use the PrivateAddressController
Resolution list has been removed from the pal as this is handled by the PrivateAddressController.
2020-10-05 11:50:33 +01:00
Vincent Coubard 44681ee982 BLE: Add PrivateAddressController module.
It controls private address generation and host or controller address resolution.
2020-10-05 11:50:33 +01:00
Vincent Coubard 7dacae73b2 BLE: Add cordio implementation of PalPrivateAddressController 2020-10-05 11:50:33 +01:00
Vincent Coubard f1dbc893f3 BLE: Introduce PalPrivateAddressController
This PAL interface is responsible for generating, resolving private address and maintaining the controller or host resolving list.
It also indicates to upper level if LL resolution is supported or not and allows them to enable it.
2020-10-05 11:50:33 +01:00
Vincent Coubard 742356158f BLE: Add resolvable_address_timeout_t datatype. 2020-10-05 11:50:33 +01:00
Vincent Coubard bc860db7c5 ble: Add privacy mode to the pal 2020-10-05 11:50:32 +01:00
Vincent Coubard f7dfc5c9f2 BLE: Update ble::Duration to support default values 2020-10-05 11:50:32 +01:00
Paul Szczeanek e9ac83a92c reset transport last and reset the default chars in gatt server 2020-10-02 16:14:20 +01:00
Johnny Robeson fac3ebb33b Use impl namespace in GattServer att_cb registration, not ble
If this is the correct fix, then this shouldn't have passed CI, should
it?
2020-09-21 17:54:16 -04:00
phst c0021e2147 Add missing defines to activate/deactivate BLE features 2020-09-17 11:02:25 +02:00
Paul Szczeanek 77ba844ef9 double negation fixed and ifs normalised 2020-09-09 17:08:32 +01:00
Vincent Coubard 904b7f5163 BLE: reintroduce default implementation GattClient::discoverServices. 2020-09-07 14:32:18 +01:00
Vincent Coubard 4bd7f8cfc4 BLE: fix code indentation 2020-09-04 16:39:23 +01:00
Vincent Coubard f116604024 BLE: correctness improvments
Remove unused variable, improve header inclusion, fix initialization list order,
2020-09-04 13:26:29 +01:00
Vincent Coubard 702c1b9756 BLE: Fixed used of parent pointer in implementation classes. 2020-09-04 13:25:32 +01:00
Vincent Coubard 5943a7360c BLE: Fix uses of mbed.h 2020-08-25 12:28:40 +01:00
Vincent Coubard cf91053f93 BLE: Move cordio implementation include into source folder 2020-08-25 11:34:00 +01:00
Vincent Coubard 029ed3a0c5 BLE: Cleanup BLEInstanceBas implementation 2020-08-25 11:33:59 +01:00
Vincent Coubard 2af0f88fa6 BLE: Cleanup AttServerMessage implementation 2020-08-25 11:33:59 +01:00
Vincent Coubard 6df7846bbb BLE: Remove cordio namespace 2020-08-25 11:33:59 +01:00
Vincent Coubard d914cb1fb2 BLE: Cleanup PalSigningEventMonitor. 2020-08-25 11:33:59 +01:00
Vincent Coubard f6b40e0e66 BLE: Cleanup pal generic access service 2020-08-25 11:33:59 +01:00
Vincent Coubard b42abd0e25 BLE: cleanup PalEvent queue and implementation 2020-08-25 11:33:59 +01:00
Vincent Coubard 52b132e042 BLE: Cleanup pal security manager 2020-08-25 11:33:59 +01:00
Vincent Coubard 2952a5b327 BLE: Cleanup pal Gap 2020-08-25 11:33:59 +01:00
Vincent Coubard 3f3c11b113 BLE: Move GattServer implementation from generic to cordio 2020-08-25 11:32:38 +01:00
Vincent Coubard e59e1b5ef6 BLE: Cleanup of pal AttClient and GattClient
Fix interface namespace being not used.
Move generic AttClient to GattClient adapter back into the  pal
2020-08-25 11:32:38 +01:00
Vincent Coubard bc259c561d BLE: cleanup generic sources 2020-08-25 11:32:37 +01:00
Vincent Coubard 57b5f711e5 BLE: Move source/DiscoveredCharacteristic into source/gatt/DiscoveredCharacteristic 2020-08-25 11:26:28 +01:00
Vincent Coubard 12388d77d4 BLE: move source/impl into source/cordio 2020-08-25 11:26:28 +01:00
Vincent Coubard 241c69f50d BLE: Cleanup public headers 2020-08-25 11:26:28 +01:00
Vincent Coubard 7cbc0e38a4 BLE: Clang tidy on public headers. 2020-08-25 11:26:28 +01:00
Vincent Coubard 0baa92d70c BLE: Expose HCI driver in public API. 2020-08-25 11:26:28 +01:00
Vincent Coubard dd54baecf6 BLE: Move Cordio implementation in source/impl 2020-08-25 11:26:27 +01:00
Vincent Coubard cc78150afd BLE: Move generic lib file into source/generic . 2020-08-25 11:26:27 +01:00
Vincent Coubard 134cb885f5 BLE: Move cordio_stack out of TARGET_CORDIO 2020-08-25 11:26:27 +01:00
Vincent Coubard 63ac8fac3c BLE: Add compatibility path for headers. 2020-08-25 11:26:26 +01:00
Vincent Coubard 13c358717f BLE: Move GATT public header into ble/gatt
Move private headers GattServerEvents.h, GapEvents,h and GapType.h in relevant part of the source tree.
2020-08-25 11:26:26 +01:00
Vincent Coubard 27cb03824e BLE: Move common publi headers into ble/common 2020-08-25 11:26:26 +01:00
Vincent Coubard d3427ca495 BLE: Move gap public header at the root. 2020-08-25 11:26:26 +01:00
Vincent Coubard e11bfb6514 BLE: move PAL headers into source/pal 2020-08-25 11:26:26 +01:00
Vincent Coubard a45325995b BLE: Move BleInstanceBase.h into source. 2020-08-25 11:26:26 +01:00
Vincent Coubard c2a09abee8 BLE: Move SecurityDB related files into generic sources 2020-08-25 11:26:26 +01:00
Vincent Coubard 381700a250 BLE: Move generic implementation and headers into source/generic 2020-08-25 11:26:26 +01:00
Vincent Coubard 41c8c22a96 BLE: Warning cleanup
- Missing default assignment operator
- Field order in construction list
- Typo
- Unused header
2020-08-25 11:26:26 +01:00
Vincent Coubard c773870d56 BLE: Bind interface to private implementation. 2020-08-25 11:26:26 +01:00
Vincent Coubard 0929478b7f BLE: Move constructor from transport to private section 2020-08-25 11:26:25 +01:00
Vincent Coubard cf3ede0191 BLE: GattServer PIMPL 2020-08-25 11:26:25 +01:00
Vincent Coubard 2b48d4826e BLE: SecurityManager PIMPL 2020-08-25 11:25:07 +01:00
Vincent Coubard e3cf59e6cd ble: GattClient PIMPL 2020-08-25 11:25:07 +01:00
Vincent Coubard 909676d159 PIMPL for ble::Gap 2020-08-25 11:11:58 +01:00
Martin Kojtal d6e93b182c
Merge pull request #13462 from paul-szczepanek-arm/cancel-connect-no-address
BLE remove address from API to cancel connect
2020-08-25 08:46:14 +01:00
Paul Szczeanek 6aa89aefcc calculate chunk size when needed and use reported packet length 2020-08-19 12:22:27 +01:00
Paul Szczeanek 8c5bbe05fe check authorisation before writing 2020-08-19 10:41:21 +01:00
Paul Szczeanek 019a32c75b no need to check again 2020-08-19 10:41:05 +01:00
Paul Szczeanek c78afe249c remove address from api to cancel connect 2020-08-18 18:07:16 +01:00
Paul Szczeanek f876179484 remove tabs 2020-08-18 10:04:11 +01:00
Paul Szczeanek b93733e4aa offset is missing from prepare write response in cordio 2020-08-18 10:02:43 +01:00
Paul Szczeanek 894886d1fe fix prepare writes to write in chunks 2020-08-18 09:07:13 +01:00
Paul Szczeanek bf20286026 perform attribute writes directly, including offset 2020-08-18 09:00:36 +01:00
Paul Szczeanek cde0e6b183 allow writes at an offset 2020-08-18 08:59:00 +01:00
Paul Szczeanek 1b78b46a73 must allow writes smaller than max attribute length 2020-08-18 08:58:11 +01:00
Paul Szczeanek e877eb7552 fix cancel connect to accept peer address 2020-08-10 13:07:11 +01:00
Paul Szczeanek 6aac3acefb braces on newlines 2020-08-07 16:27:26 +01:00
Paul Szczeanek 8bdd6bca93 braces always on newline 2020-08-07 16:21:09 +01:00
Paul Szczeanek f6a8610b0e move non-api heders into common 2020-08-07 14:54:23 +01:00
Paul Szczeanek ec4cbb7c23 make include path backwards compatible 2020-08-07 14:20:44 +01:00
Paul Szczeanek 72b7d97fba pull define out into json config 2020-08-07 11:59:14 +01:00
Paul Szczeanek 98bb0f7e55 fix backwards compatibility 2020-08-07 11:59:14 +01:00
Paul Szczeanek 1d4d3e1127 move implementations to libraries directory 2020-08-07 11:59:14 +01:00
Paul Szczeanek 9603708fc5 import ble modules into global namespace 2020-08-07 11:59:14 +01:00
Paul Szczeanek 7e64019074 move pal to cordio, remove cordio mentions from API 2020-08-07 11:59:14 +01:00
Paul Szczeanek 55efdb3cf0 Cordio Singleton support only one instance
Additional instances must be managed by user.
2020-08-07 11:59:14 +01:00
Paul Szczeanek 365cb3c5d0 remove generic, TPPs, nested namespaces 2020-08-07 11:59:14 +01:00