3b5c1efc16
The CTE type is used in two ways by HCI layer: 1) single value representing particular CTE type: AoA, AoD 1 us, AoD 2 us 2) bit-filed where bits 0-2 represent particular CTE types AoA AoD 1 us, AoD 2 us The bit-field is used to inform Controller about allowed types of CTE, hence single value carries more than one value. To avoid confusion between these use cases in code that refers to case 1) all named cte_type (singular form). For case 2) cte_types (plural form) is used. There is an enumeration that is used for both cases: bt_df_cte_type. For cte_type only single value from the enumeration may be assigned to variable except BT_DF_CTE_TYPE_NONE and BT_DF_CTE_TYPE_ALL. For cte_types all enum members may be used. Ocasionally BT_DF_CTE_TYPE_NONE may be excluded. If that is true, it is described in code documentation. Thanks to that applications are released from requirement to include hci.h header file. Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no> |
||
---|---|---|
.. | ||
boards | ||
src | ||
CMakeLists.txt | ||
overlay-aoa.conf | ||
prj.conf | ||
README.rst | ||
sample.yaml |
.. _bluetooth_direction_finding_connectionless_tx: Bluetooth: Direction Finding Periodic Advertising Beacon ######################################################## Overview ******** A simple application demonstrating the BLE Direction Finding CTE Broadcaster functionality by sending Constant Tone Extension with periodic advertising PDUs. Requirements ************ * Nordic nRF SoC based board with Direction Finding support (example boards: :ref:`nrf52833dk_nrf52833`, :ref:`nrf5340dk_nrf5340`) * Antenna matrix for AoD (optional) Check your SoC's product specification for Direction Finding support if you are unsure. Building and Running ******************** By default the application supports Angle of Arrival (AoA) and Angle of Departure (AoD) mode. To use Angle of Arrival mode only, build this application as follows, changing ``nrf52833dk_nrf52833`` as needed for your board: .. zephyr-app-commands:: :zephyr-app: samples/bluetooth/direction_finding_connectionless_tx :host-os: unix :board: nrf52833dk_nrf52833 :gen-args: -DOVERLAY_CONFIG=overlay-aoa.conf :goals: build flash :compact: To run the application on nRF5340DK, a Bluetooth controller application must also run on the network core. The :zephyr_file:`samples/bluetooth/hci_rpmsg` sample application may be used. To build this sample with direction finding support enabled: * Copy :zephyr_file:`samples/bluetooth/direction_finding_connectionless_tx/boards/nrf52833dk_nrf52833.overlay` to a new file, :file:`samples/bluetooth/hci_rpmsg/boards/nrf5340dk_nrf5340_cpunet.overlay`. * Copy :zephyr_file:`samples/bluetooth/direction_finding_connectionless_tx/boards/nrf52833dk_nrf52833.conf` to a new file, :file:`samples/bluetooth/hci_rpmsg/boards/nrf5340dk_nrf5340_cpunet.conf`. Add the line ``CONFIG_BT_EXT_ADV=y`` to enable extended size of :kconfig:`CONFIG_BT_BUF_CMD_TX_SIZE` to support the LE Set Extended Advertising Data command. Antenna matrix configuration **************************** To use this sample with Angle of Departure enabled on Nordic SoCs, additional configuration must be provided via :ref:`devicetree <dt-guide>` to enable control of the antenna array, as well as via the ``ant_patterns`` array in the source code. An example devicetree overlay is in :zephyr_file:`samples/bluetooth/direction_finding_connectionless_tx/boards/nrf52833dk_nrf52833.overlay`. You can customize this overlay when building for the same board, or create your own board-specific overlay in the same directory for a different board. See :dtcompatible:`nordic,nrf-radio` for documentation on the properties used in this overlay. See :ref:`set-devicetree-overlays` for information on setting up and using overlays. Note that antenna matrix configuration for the nRF5340 SoC is part of the network core application. When :ref:`bluetooth-hci-rpmsg-sample` is used as network core application, the antenna matrix configuration should be stored in the file :file:`samples/bluetooth/hci_rpmsg/boards/nrf5340dk_nrf5340_cpunet.overlay` instead. In addition to the devicetree configuration, to successfully use the Direction Finding locator when the AoA mode is enabled, also update the antenna patterns in the :cpp:var:`ant_patterns` array in :zephyr_file:`samples/bluetooth/direction_finding_connectionless_tx/src/main.c`.