39 lines
1.5 KiB
ReStructuredText
39 lines
1.5 KiB
ReStructuredText
.. zephyr:code-sample:: bluetooth_hci_pwr_ctrl
|
|
:name: HCI Power Control
|
|
:relevant-api: bt_hrs bluetooth
|
|
|
|
Dynamically control the Tx power of a Bluetooth LE Controller using HCI vendor-specific commands.
|
|
|
|
Overview
|
|
********
|
|
|
|
This sample application demonstrates the dynamic Tx power control over the LL
|
|
of the Bluetooth LE controller via Zephyr HCI VS commands. The application implements a
|
|
peripheral advertising with varying Tx power. The initial advertiser TX power
|
|
for the first 5s of the application is the Kconfig set default TX power. Then,
|
|
the TX power variation of the advertiser is a repeatedly descending staircase
|
|
pattern ranging from -4 dBm to -30 dBm where the Tx power levels decrease every
|
|
5s.
|
|
|
|
Upon successful connection, the connection RSSI strength is being monitored and
|
|
the Tx power of the peripheral device is modulated per connection accordingly
|
|
such that energy is being saved depending on how powerful the RSSI of the
|
|
connection is. The peripheral implements a simple GATT profile exposing the
|
|
HR service notifying connected centrals about a dummy HR each 2s.
|
|
|
|
Requirements
|
|
************
|
|
|
|
* BlueZ running on the host, or
|
|
* A board with Bluetooth LE support
|
|
* A central device & monitor (e.g. nRF Connect) to check the RSSI values
|
|
obtained from the peripheral.
|
|
|
|
Building and Running
|
|
********************
|
|
|
|
This sample can be found under :zephyr_file:`samples/bluetooth/hci_pwr_ctrl`
|
|
in the Zephyr tree.
|
|
|
|
See :zephyr:code-sample-category:`bluetooth` samples for details.
|