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¶
nRF52833DK board with nRF52833 SOC
antenna matrix for AoD (optional)
Building and Running¶
This sample can be found under samples/bluetooth/ direction_finding_connectionless_tx in the Zephyr tree.
By default the application supports Angle of Arrival and Angle of Departure mode.
To use Angle of Arrival mode only, build this application as follows:
west build -b nrf52833dk_nrf52833 samples/bluetooth/direction_finding_connectionless_tx -- -DOVERLAY_CONFIG=overlay-aoa.conf
west flash
See bluetooth samples section for common information about bluetooth samples.
Antenna matrix configuration¶
To use this sample with Angle of Departure enabled, additional GPIOS configuration is required to enable control of the antenna array. Example of such configuration is provided in samples/bluetooth/direction_finding_connectionless_tx/boards/ nrf52833dk_nrf52833.overlay.
samples/bluetooth/direction_finding_connectionless_tx/boards/
nrf52833dk_nrf52833.overlay is a device tree overlay that provides information
about which GPIOS should be used by Radio peripheral to switch between antenna
patches during CTE transmission in AoD mode. At least two GPIOs must be provided
to enable antenna switching. GPIOS are used by Radio peripheral in order following
indices of dfegpio#-gpios
properties. The order is important because it
affects mapping of antenna switch patterns to GPIOS (see Antenna patterns).
Antenna patterns¶
The antenna switch pattern is a binary number where each bit is applied to a particular antenna GPIO pin. For example, the pattern 0x3 means that antenna GPIOs at index 0,1 will be set, and following are left unset.
This also means that, for example, when using four GPIOs, the patterns count cannot be greater than 16 and maximum allowed value is 15.
If the number of switch-sample periods is greater than the number of stored switch patterns, then the radio loops back first pattern.
To successfully use Direction Finding Beacon with AoD mode enabled provide following data related with owned antenna matrix design:
provide GPIO pins to
dfegpio#-gpios
properties in samples/bluetooth/direction_finding_connectionless_tx/boards/nrf52833dk_nrf52833.overlay fileprovide default antenna that will be used to transmit PDU
dfe-pdu-ant
property in samples/bluetooth/direction_finding_connectionless_tx/boards/nrf52833dk_nrf52833.overlay fileupdate antenna patterns in
ant_patterns
array in samples/bluetooth/direction_finding_connectionless_tx/src/main.c.