Bluetooth: External radio coexistence using 1-wire interface
This sample demonstrates how to use the 1-wire coexistence feature described in Bluetooth® external radio coexistence.
Requirements
The sample supports the following development kit:
Hardware platforms |
PCA |
Board name |
Build target |
---|---|---|---|
PCA10056 |
|
Overview
The application sets up an advertiser and configures the 1-wire coexistence feature.
Enter g
to grant or d
to deny Bluetooth radio activity.
When Bluetooth radio activity is granted, packets are transmitted.
When Bluetooth radio activity is denied, no packets are transmitted.
The number of packets transmitted is tracked by counting the RADIO->READY event.
The total number of transmitted packets is printed every second.
The application generates a grant signal on the pin selected by coex-pta-grant-gpios
.
Connect this pin to the pin defined by the grant-gpios
property in the DTS using a jumper cable.
On
nrf52840dk_nrf52840
, the default pins are P0.26 and P0.02.
The board’s /zephyr,user node must have the coex-pta-grant-gpios
property set in the devicetree.
You can use this sample’s board overlay as an example.
Building and running
This sample can be found under samples/bluetooth/radio_coex_1wire
in the nRF Connect SDK folder structure.
See Building and programming an application for information about how to build and program the application and Testing and debugging an application for general information about testing and debugging in the nRF Connect SDK.
Testing
After programming the sample to your development kit, complete the following steps to test it:
Build and program the development kit.
Connect to the kit with a terminal emulator (for example, PuTTY). See How to connect with PuTTY for the required settings.
Observe the number of packets transmitted.
Enter
d
to deny packet transmission.Observe that packet transmissions have stopped.
Enter
g
to grant packet transmission.Observe that packet transmissions have restarted.
Dependencies
This sample uses the following sdk-nrfxlib libraries:
It also uses drivers from the nrfx libraries.
It uses the following Zephyr libraries:
include/console/console.h