Commit Graph

338 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
Paul Szczeanek fe98309063 mention tx power in the readme 2020-06-10 15:49:55 +01:00
Paul Szczeanek 056f46d629 add tx power to cordio hci driver 2020-06-10 15:49:55 +01:00
Martin Kojtal f858000252
Merge pull request #13039 from pan-/fix-legacy-payload-update
BLE: remove limitation in the Cordio to update adv payload
2020-06-10 12:09:54 +02: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 a882d2d35f mention the rf tester commands in the readme 2020-06-03 18:46:20 +01: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 51d1a30b8e Route unhandled cmd cmpl events to mbed. Cordio ignores command complete events for all commands that it doesn't have a specific handler for. This adds a catch-all handler that allows the user application to handle any command complete that isn't already handled by the stack. This involves adding a new type of event and routing the event through the stack to the device where it's forwarded to the existing event handling in mbed-os. 2020-06-03 15:21:05 +01:00
Paul Szczeanek 0affb73747 Fix bounds check using a define instead of table size. The bounds check was incorrectly picking a define that wasn't even the last in the table. It now uses the size of the table. 2020-06-03 15:19:39 +01:00
Paul Szczeanek 8285ecdefb connection update handled elsewhere 2020-06-02 10:01:10 +01:00
Vincent Coubard 2bbc8a0bae BLE: remove limitation in the Cordio to update adv payload
Nothing in the Bluetooth standard prevents update of advertising payload while advertising is active.
This limitation wasn't present in previous version of the stack and is not present for extended advertising.
2020-05-29 17:52:05 +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
Lingkai Dong c927773115 Port Cordio LE Secure Connections check from PacketCraft
This change is provided by Packetcraft (which maintains the
Cordio BLE stack) to address possible Sweyntooth vulnerabilities.
2020-04-09 16:01:28 +01:00
Lingkai Dong 0402fe4efb Port Cordio SMP control block improvements from Packetcraft
This change is provided by Packetcraft (which maintains the
Cordio BLE stack) to address possible Sweyntooth vulnerabilities.
2020-04-09 15:57:59 +01:00
Martin Kojtal 4f4c8c48e1
Merge pull request #12637 from armPelionEdge/#12625-BLE-Cardio-Patch
Cordio: fix for issue #12625
2020-03-23 14:47:52 +01:00
Krzysztof Borowczyk 4465295332 Remove ARMC5 reference from Mbed OS platform (removed all references to __CC_ARM) 2020-03-19 16:00:45 +01:00
Vishal Bhargava 4ea64cb6c6
Update hci_tr.c
Indent formating
2020-03-17 12:13:07 +05:30
Vishal Bhargava 5b65d3b119
Update hci_tr.c
Handled fragmented packet case also.
2020-03-17 11:57:14 +05:30
Vincent Coubard c66dd7fd1f BLE: Add an HCI driver API to set the random static address. 2020-01-28 13:29:11 +00:00
Hugues Kamba dbaeeaf758 Replace RawSerial instances as it has been deprecated 2020-01-06 15:48:49 +00:00
Hugues Kamba 157d126769 UBLOX_EVK_ODIN_W2: Fix baremetal build and greentea tests
Remove lwIP reliant networking and BLE tests for baremetal

Mbed OS 5 ported lwIP in its OS mode and uses threads. Networking
that rely on lwIP needs to be removed so it can be compiled with the
baremetal profile.

The BLE cordio Greentea tests are also disabled given that the feature
is not supported without an RTOS.
2019-11-22 10:55:39 +00:00
Qinghao Shi 4a0ca21edd BLE TEST: remove duplicated and failing test 2019-08-28 13:12:04 +01:00
int_szyk ae6f8be146 Newline at the end of files 2019-08-01 08:44:58 +02:00
int_szyk a8d8bd6c18 Astyle 2019-07-31 12:27:41 +02:00
int_szyk 8b68a1ea58 Updated testcases 2019-07-31 10:46:38 +02: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
Anna Bridge 46be52636c
Merge pull request #10659 from LDong-Arm/replace_ArrayView
Replace uses of ArrayView with mbed::Span
2019-06-18 16:26:46 +01:00
Lingkai Dong 6f7f1337cd BLE: Replace uses of ArrayView with mbed::Span
The platform API mbed::Span provides the same features as ArrayView.
2019-06-07 16:18:55 +01:00
paul-szczepanek-arm 1fe06f18c3 exculde test 2019-06-07 13:50:30 +01:00
Vincent Coubard 618e1e623e Cordio: Fix default COC parameters.
The stack doesn't cope with zero COC client or channel on IAR.
2019-06-04 14:45:45 +01:00
Vincent Coubard a74c4ce57f BLE - Set rx ACL buffer size to the minimum viable in cordio conf. 2019-05-31 16:09:28 +01:00
Vincent Coubard 0baf04dfb4 Disable l2cap connection oriented channels in Cordio default conf. 2019-05-31 16:08:37 +01:00
paul-szczepanek-arm 16bb7e5f04 fix merge conflixt 2019-05-27 06:16:49 +01:00
paul-szczepanek-arm a6f639ba27 zero copy HCI as a config option 2019-05-27 06:16:49 +01:00
paul-szczepanek-arm 7894a9321d fix releaseing the WSF msg too early 2019-05-27 06:16:49 +01:00
paul-szczepanek-arm 5025022ab8 handle extended reset 2019-05-27 06:16:49 +01:00
paul-szczepanek-arm 96040be349 wsf buffer transfers owenrship to controller 2019-05-27 06:16:49 +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
paul-szczepanek-arm ebcff4b2d2 improve wording of the docs 2019-05-15 13:25:28 +01:00