Commit Graph

719 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 8f87735152
Merge pull request #13040 from paul-szczepanek-arm/cordio-tx-power
BLE: Add tx power control to cordio HCI driver
2020-06-16 13:59:50 +02:00
Anna Bridge a870fcface
Merge pull request #13001 from jeromecoutant/PR_BAREMETAL_SUPPORT_STEP2
STM32 baremetal support step2 (L1/L4/WB)
2020-06-12 14:44:14 +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
jeromecoutant 28f8307afa STM32WB baremetal support
move BLE files to FEATURE_BLE
2020-06-08 12:06:01 +02:00
Martin Kojtal 49c1d947fa
Merge pull request #13044 from hugueskamba/hk_nrf_implicit_declaration
NRF: fix implicit declarations
2020-06-05 14:44:31 +02:00
Martin Kojtal 35a0e5d4f9
Merge pull request #13041 from hugueskamba/hk_remove_cordio_warnings
Cordio: put parentheses to correct order of precedence in ternary expressions
2020-06-05 10:47:36 +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
Hugues Kamba 992133be50 NRF: fix implicit declarations
As a result removes warnings
2020-06-01 10:26:51 +01:00
Hugues Kamba 4d939ccdbe Cordio: put parentheses to correct order of precedence in ternary expressions
Also remove extraneous parentheses in comparison.
2020-05-29 19:11:25 +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 3b48d3f198 NRFCordioHCIDriver: remove idle_hook
In PR #8876 when we added Cordio support for nRF52* targets,
we attempted to use an RTOS idle hook to workaround sleep
latency issues. However, the condition to bypass sleeps
never gets satisfied, and BLE nRF52* targets have generally
worked fine over the past year.

This commit removes the hook to avoid dependency on RTOS,
enabling BLE on bare metal.
2020-05-11 17:34:07 +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 a85c157952 Remove Nordic SoftDevice BLE driver 2020-04-15 09:57:42 +01:00
Lingkai Dong 4cb729fb49 Remove Maxim BLE stack which does not implement the new API 2020-04-15 09:51:14 +01:00
Martin Kojtal 4128efdf3d
Merge pull request #12785 from LDong-Arm/port_packetcraft_ltk_improvements
Cordio: Apply Packetcraft's fix for possible SweynTooth vulnerabilities
2020-04-15 09:08:24 +02: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
MarceloSalazar a15f6a43ad General clean-up of unsupported targets 2020-04-09 15:36:21 +01:00
Rajkumar Kanagaraj 9739b565b2 Fix the CI build issue 2020-04-08 10:35:07 +01:00
Rajkumar Kanagaraj 83be3f24a5 Remove mbed wait deprecated APIs 2020-04-08 10:35:07 +01:00
Ryan Morse f060b6afd7 Add custom BT Firmware image for CYW9P62S1_43012EVB_01 2020-04-02 09:30:17 -07:00
Martin Kojtal 8b929726e1
Merge pull request #12609 from rajkan01/semwait_remove_deprecation
Remove Semaphore deprecated APIs
2020-03-31 10:36:43 +02: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
Anna Bridge ab483c2ead
Merge pull request #12654 from kbarm/feature-remove-cc-arm-macro
Removed all references to __CC_ARM
2020-03-20 15:22:03 +00:00
Anna Bridge d048cd4c83
Merge pull request #12410 from rajkan01/serial_remove_deprecate
Remove the deprecated RawSerial, UARTSerial, Serial
2020-03-20 15:19:32 +00: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
Rajkumar Kanagaraj a6b78c6429 Remove Semaphore deprecated APIs 2020-03-16 09:37:45 -07:00
Rajkumar Kanagaraj df32091c7b Remove the deprecated RawSerial, UARTSerial, Serial class and SerialBase attach API 2020-03-03 05:19:42 -08:00
Rajkumar Kanagaraj 35f1b4ab53 Remove mbed power management deprecated API 2020-03-02 15:06:26 -08:00
jeromecoutant f0370222d8 STM32WB BLE : add FW version when trace is enabled 2020-02-20 09:20:43 +01:00
jeromecoutant 55b42a683e STM32WB HCIDriver trace update 2020-02-20 09:20:36 +01:00