nRF52840 BLE 3-Wire PTA for Wi-Fi

Hello DevZone,

I'm developing nRF52840 BLE & ESP32 Wi-Fi coexistence with 3-Wire PTA. I followed this document: https://docs.nordicsemi.com/bundle/ncs-2.5.3/page/nrf/device_guides/wifi_coex.html#generic_three_wire_coexistence

However, the NCS only support generic 3-wire PTA for OpenThread. So, I decided to write my own PTA code.

I modified `peripheral_uart` example. Added my code (with MPSL CX API).

The MPSL code is not difficult to understand. I referred to nrf/subsys/mpsl/cx/thread/mpsl_cx_thread.c

and nrf/subsys/mpsl/cx/nrf700x/mpsl_cx_nrf700x.c.

You can check my code as attached.

1488.peripheral_uart.7z

If you want to run this code, use NCS 2.5.3. And add the following Kconfig chioce to MPSL_CX_CHOICE in nrf/subsys/mpsl/cx/Kconfig 

config MPSL_CX_BT_3WIRE
    depends on SOC_SERIES_NRF52X
    select NRFX_GPIOTE
	select GPIO
	select NRFX_TIMER1
	bool "Bluetooth Radio 3-Wire Coexistence"

The problem is that the BLE activity is not controlled by the GRANT pin

No matter how I change the GRANT pin, the BLE connection is always good. And it never controls the REQUEST pin and PRIORITY pin.

Best regards,

Jayant

Related