I am beginner on AoA based localization and would like some help on getting started with it. I am currently working with a nRF52833 DK and have explored the supported examples (for nRF52833) from sdk nRF5SDK1702d674dde.
I started working with the ble_peripheral/ble_uart app. I am already aware that nordic does not have any API support at the moment for Direction Finding. Hence, I tried modifying the direction finding registers i.e DFEMODE, DFECTRL1 and CTEINLINECONF in order to enable CTE and add that to the ble advertising packet. But that does not seem to work as I do not see any advertisements being transmtted when enabling direction finding by modifying these registers.
1. Is it possible to modify the registers and enable CTE when using a soft device?
2. If yes, is the code below the right approach to modify the registers -
// Enable AoA
NRF_RADIO->DFEMODE = RADIO_DFEMODE_DFEOPMODE_AoA;
// Length of the AoA procedure ins 8us units (160us)
NRF_RADIO->DFECTRL1 = 0x00023294;
// CTEInfo is NOT in S1 byte (advertising PDU)
NRF_RADIO->CTEINLINECONF = 0x00002800;
If yes, when should these registers be modified/configured? I configure them right before initializing advertisement.
3. Also if the entire above mentioned approach to enable CTE is wrong, what would be the right approach?
Note: I am only interested in a AoA Tx i.e. I just want to send a CTE enabled advertising packet. I am not interested in AoD or any antenna switching at this moment. I am not worried about the AoA receiver as well currently.
Thank you PaKa. I appreciate the help. I am currently working on setting up and running that example using nRF Connect SDK.
The Softdevices will not support CTE so if you want a full solution you will have to use the nRF Connect SDK. With the Softdevice timeslot API you can build your own advertising feature with this, that is a huge task and you will need to do the entire Bluetooth qualification on your own. As you can guess, not a recommended path forward.
Thank you appreciate the help!