Commit Graph

201 Commits (tools-release-6.1.0)

Author SHA1 Message Date
Martin Kojtal 3e42991289
Merge pull request #13046 from hugueskamba/hk_use_chrono
Use std::chrono based functions
2020-06-18 22:16:00 +02:00
Hugues Kamba a3f4cf212d Use std::chrono based functions
The chrono based functions improve readability. Using them also removes
warnings related to usage of deprecated warnings.
2020-06-17 14:52:50 +01:00
Martin Kojtal 2466411b83
Merge pull request #13037 from paul-szczepanek-arm/ble-sm-fix
BLE: Fix privacy and signing handling in Security Manager
2020-06-10 12:09:32 +02:00
Martin Kojtal 6a431ffc58
Merge pull request #13055 from paul-szczepanek-arm/cordio-rf-tester
BLE: RF tester commands (and Cordio unhandled command complete)
2020-06-10 12:07:30 +02:00
Martin Kojtal d971d4e021
Merge pull request #13060 from paul-szczepanek-arm/direct-advertising
BLE: fix direct advertising on Cordio
2020-06-10 12:06:17 +02:00
Paul Szczeanek 94a6cac838 expose identity address used by controller 2020-06-03 17:24:11 +01:00
Paul Szczeanek dd615f7943 Add direct advertising support.
To start direct connectable advertising on the cordio stack, the programmer should call the function DmConnAccept instead of the function DmAdvStart .
This functions expect the target address and address type as parameter, which are passed to the controller when the programmer sets the advertising parameters and not known when advertising_enable is called.
Therefore, this information should be kept in memory when advertising parameters are set and retrieved when advertising is enable to choose the right call to start (or stop) advertising.
Timeout of direct advertising is also handled in an uncommon way, a connection timeout is received. Similarly, DmConnClose should be called to stop connectable direct advertising.

The state is kept in an array of direct_adv_cb_t. Each items contains a peer address, the peer address type, the connection handle and the advertising handle as well as a state which indicate if the advertising is running, pending or not used.
When advertising parameters are set, the state is updated to match the target address or disable direct advertising management for the advertising set being configured.
When advertising is enabled, the pal dispatch the operation to the right calls (DmAdvStart/DmConnAccept or DmAdvStop/DmConnClose).
When an advertising timeout happen or a connection is made, the pal cleans any direct advertising state of this advertising set
2020-06-03 16:25:23 +01:00
Paul Szczeanek fbe93123a5 Add rf tester commands to cordio hci driver. This adds commands that allow you to send the HCI commands HCI_LE_Receiver_Test, HCI_LE_Transmitter_Test and HCI_LE_Test_End. The results of the test are obtained by the command complete command for HCI_LE_Test_End and passed to the user by the callback register in the test start calls. 2020-06-03 15:21:32 +01:00
Paul Szczeanek 8285ecdefb connection update handled elsewhere 2020-06-02 10:01:10 +01:00
Lingkai Dong 8de604d485 Rename ConnectionParams_t -> PreferredConnectionParams_t
For actual connections, full ConnectionParameters is used. But
as per BLE specification, Generic Access Service can display
preferred connection parameters which is a smaller subset and
ConnectionParams_t matches exactly. Thus we rename/repurpose
it to PreferredConnectionParams_t.
2020-04-17 09:59:14 +01:00
Lingkai Dong 76b92b82e2 BLE: correct misspelling: prefered -> preferred 2020-04-17 09:59:14 +01:00
Lingkai Dong d6eeab1744 Cordio: bring back device name & appearance function
Functions in Cordio for device name & appearance are currently
unused as they are both part of and dependent on deprecated
Mbed OS BLE APIs.

Nonetheless we want to keep them (and disable using macros)
so we can reintroduce them and make improvements in the future
as needed.
2020-04-17 09:59:12 +01:00
Lingkai Dong 55ecc57ac9 BLE: use up-to-date structs for disconnections 2020-04-17 09:59:04 +01:00
Lingkai Dong af6f32e584 Cordio: remove LegacyGap implementation 2020-04-17 09:59:01 +01:00
paul-szczepanek-arm 67c7a06a86 fix macro usage 2019-07-16 16:59:02 +01:00
paul-szczepanek-arm f13318df60 make event signal weak so it can be overridden 2019-07-16 13:49:20 +01:00
Martin Kojtal 2da743625f
Merge pull request #10581 from pan-/cordio-tx-path
BLE - Management of Tx path on Cordio.
2019-05-21 15:04:17 +01:00
Martin Kojtal 6b7a13f619
Merge pull request #10580 from paul-szczepanek-arm/fix-hardcoded-acl
BLE: put the acl buffer size in config
2019-05-20 14:13:45 +01:00
Vincent Coubard ca7be271c9 BLE: Remove incorrect calls to GattServer::handleDataSentEvent 2019-05-14 17:16:05 +01:00
Vincent Coubard de482e4029 BLE: Create and handle write_command Event.
This event is raised when a write command has been sent to the controller. It can be used to queue a new write command.
2019-05-14 17:13:51 +01:00
paul-szczepanek-arm 064e8de93d put the acl buffer size in config 2019-05-14 16:52:24 +01:00
paul-szczepanek-arm eda064563c no read callback for CCC 2019-05-14 11:20:14 +01:00
paul-szczepanek-arm de2743b702 not include attribute write cback for CCC 2019-05-14 10:16:08 +01:00
Marc Emmers d11cf287ac Make sure to reset settings before applying the properties 2019-04-16 16:28:28 +02:00
paul-szczepanek-arm 20d6cd9cc5 add default services first 2019-04-03 12:14:06 +01:00
Cruz Monrreal eef1b4868d
Merge pull request #10094 from desmond-blue/fix_ble_gattserver_autorization_list
BLE: Fix ble gattserver autorization list registration
2019-03-29 10:11:50 -05:00
Vincent Coubard 339c57f6a7 BLE - Use low power timeout in cordio::BLE::callDispatcher . 2019-03-19 16:26:29 +00:00
Vincent Coubard 63b7e69d89 BLE - Signal to the HCI driver when the host stack is inactive 2019-03-19 16:25:24 +00:00
Cruz Monrreal 7fa995860f
Merge pull request #9921 from desmond-blue/fix_Cordio-insert-characteristic-handle-error
BLE:Cordio:Fix insert characteristic not handle error
2019-03-16 22:54:37 -05:00
Martin Kojtal 74f13dd8de Merge branch 'fix_Cordio-descriptor-set-cback' of https://github.com/desmond-blue/mbed-os into rollup 2019-03-15 08:44:55 +00:00
Desmond Chen 196a7666fe BLE:Fix gattserver authorization list update permission check 2019-03-15 12:11:12 +08:00
Cruz Monrreal 7b3cc93cb4
Merge pull request #9907 from pan-/fix-cordio-conf
BLE - Fix cordio configuration
2019-03-06 13:45:41 -06:00
Desmond Chen 3fe18a1f7d BLE:Cordio:Fix insert characteristic not handle error 2019-03-05 09:57:21 +08:00
Desmond Chen 070a412432 BLE:Cordio:insert_descriptor check r/w properties 2019-03-04 11:08:15 +08:00
Vincent Coubard b21e1d23d5 BLE - Register the Att call handler whenever the GATT_SERVER is available. 2019-03-01 18:33:22 +00:00
Vincent Coubard 77511c3983 BLE - Call SecInit unconditionally as it is required by low HCI level driver
That module handles random number incomming from the controller. Overhead is low (less than 150 bytes of flash).
2019-03-01 18:32:19 +00:00
paul-szczepanek-arm 34ef17370b fix signing permissions 2019-03-01 11:58:52 +00:00
paul-szczepanek-arm dc66204c1b cordio host sources updated 2019-03-01 10:59:41 +00:00
Cruz Monrreal f8d254fc4c
Merge pull request #9790 from paul-szczepanek-arm/ble-conf
Ble conf
2019-02-28 22:08:41 -06:00
Cruz Monrreal aaf3ce4741
Merge pull request #9727 from pan-/optimize-size
BLE API devirtualization
2019-02-28 18:20:36 -06:00
Vincent Coubard 4e172ba22d BLE - Fix conditional directive. 2019-02-28 16:31:34 +00:00
Vincent Coubard 5ae59fc534 BLE - Improve FEATURE_PRIVACY conditions. 2019-02-28 14:47:07 +00:00
Vincent Coubard 24f7f36f01 BLE - Return supported feature based on compile time features. 2019-02-28 14:23:19 +00:00
Vincent Coubard 04891b205c BLE - Conditionally handle gap events. 2019-02-28 14:13:45 +00:00
Vincent Coubard ea9554dfbc BLE - restrict AttConnRegister to GattServer. 2019-02-28 14:12:56 +00:00
Vincent Coubard 9566af64fb BLE - Fix initialization of extended advertising modules. 2019-02-28 13:51:50 +00:00
Vincent Coubard 6a3f3d187e BLE - Conditionnally remove LESC and privacy event processing. 2019-02-28 13:45:05 +00:00
Vincent Coubard 9e5e23aad6 BLE - Remove conditional directive in construction of Cordio objects. 2019-02-28 11:37:21 +00:00
Vincent Coubard a31d1012db BLE - Cleanup CordioPalSecurityManager conditional directives.
- Within constructor
- Within member declaration
- Private function declaration and definition.
2019-02-28 11:36:36 +00:00
Vincent Coubard dedc204daa BLE - Cleanup CordioGattServer conditional directives. 2019-02-28 11:34:35 +00:00