Skip to content

Commit 1a7a9b5

Browse files
Ruth Fuchssb-gent
authored andcommitted
doc: add Bluetooth LE Controller documentation
Add a user guide that describes what Bluetooth LE Controllers are available and what they support. Signed-off-by: Ruth Fuchss <[email protected]>
1 parent 75b0f91 commit 1a7a9b5

File tree

4 files changed

+60
-42
lines changed

4 files changed

+60
-42
lines changed

doc/nrf/ug_ble_controller.rst

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
.. _ug_ble_controller:
2+
3+
Bluetooth LE Controller
4+
#######################
5+
6+
When you develop a Bluetooth Low Energy (LE) application, you must include a Bluetooth LE Controller.
7+
A Bluetooth LE Controller is the layer of the Bluetooth stack that handles the physical layer packets and all associated timing.
8+
It implements the Link Layer, which is the low-level, real-time protocol that controls the Bluetooth LE communication.
9+
10+
The |NCS| contains two implementations of a Bluetooth LE Controller:
11+
12+
* `nRF Bluetooth LE Controller`_
13+
* `Zephyr Bluetooth LE Controller`_
14+
15+
The nRF Bluetooth LE Controller is implemented by Nordic Semiconductor.
16+
The Zephyr Bluetooth LE Controller is an open source Link Layer developed in the `Zephyr Project`_, to which Nordic Semiconductor is a contributor.
17+
18+
Both Link Layers integrate with the Zephyr Bluetooth LE Host, which completes the full Bluetooth LE protocol stack solution in the |NCS|.
19+
It is possible to select either Bluetooth LE Controller for application development.
20+
See `Usage in samples`_ for more information.
21+
22+
23+
nRF Bluetooth LE Controller
24+
***************************
25+
26+
The :ref:`nRF Bluetooth LE Controller <nrfxlib:ble_controller>` is designed for nRF52 and nRF53 Series devices.
27+
It provides the same implementation of the Link Layer that is available as part of Nordic Semiconductor's SoftDevices.
28+
The nRF Bluetooth LE Controller is developed, tested, and supported by Nordic Semiconductor.
29+
30+
The nRF Bluetooth LE Controller is distributed as a set of precompiled, linkable libraries that can be found in the `nrfxlib`_ repository.
31+
There are different variants of the libraries that support different feature sets.
32+
Which variant you should choose depends on the chip that you are using, the features that you need, and the amount of available memory.
33+
34+
Nordic's Bluetooth LE Controller supports an extensive standard feature set from the Bluetooth 5.2 specification and a number of extensions for high-performance applications like Low Latency Packet mode (LLPM).
35+
See the :ref:`nRF Bluetooth LE Controller documentation <nrfxlib:ble_controller>` for a detailed list of supported features.
36+
37+
38+
Zephyr Bluetooth LE Controller
39+
******************************
40+
41+
The `Zephyr Project`_ has a full, open source, :ref:`Bluetooth Low Energy stack <zephyr:bluetooth-arch>`, which includes the Zephyr Bluetooth LE Controller.
42+
This Bluetooth LE Controller is designed with an upper and lower implementation to make it possible to support multiple hardware platforms.
43+
It is developed by the Zephyr community and provided as open source.
44+
45+
To use Zephyr's Bluetooth LE Controller in your application, include a :ref:`Controller-only build <zephyr:bluetooth-build-types>` of the Bluetooth LE stack.
46+
47+
Zephyr's Bluetooth LE Controller supports most of the standard Bluetooth LE features, except for Advertising Extensions.
48+
See the :ref:`Zephyr documentation <zephyr:bluetooth-overview>` for a detailed list of supported features.
49+
50+
51+
Usage in samples
52+
****************
53+
54+
Most :ref:`Bluetooth LE samples <ble_samples>` in the |NCS| can use either Bluetooth LE Controller.
55+
An exception is the :ref:`ble_llpm` sample, which requires the nRF Bluetooth LE Controller that supports LLPM.
56+
57+
By default, all samples except for the :ref:`ble_llpm` sample are currently configured to use Zephyr's Bluetooth LE Controller.
58+
To use the nRF Bluetooth LE Controller instead, set :option:`CONFIG_BT_LL_NRFXLIB_DEFAULT` to ``y`` in the :file:`prj.conf` file (see :ref:`configure_application`) and make sure to build from a clean build directory.

doc/nrf/ug_bt_ll_nrfxlib.rst

Lines changed: 0 additions & 40 deletions
This file was deleted.

doc/nrf/user_guides.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ They introduce you to important concepts and guide you through developing your a
1414
ug_nrf9160
1515
ug_nrf5340
1616
ug_thingy91
17-
ug_bt_ll_nrfxlib
17+
ug_ble_controller
1818
ug_esb
1919
ug_multi_image
2020
ug_bootloader

doc/release-notes-1.0.0.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ Documentation
244244

245245
* Added or updated the following documentation:
246246

247-
* :ref:`ug_bt_ll_nrfxlib`
247+
* nRF BLE Controller (experimental)
248248
* :ref:`ug_multi_image`
249249
* :ref:`partition_manager`
250250
* :ref:`nrf_desktop`

0 commit comments

Comments
 (0)