Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Multiple TXs (clients) in direciton findin configuration

I am currently working on AoA direction finding solutons, and I have successfully run the demo direction_finding_connectionless_rx and direction_finding_connectionless_tx in two nrf52833 boards respectively to see the IQ values and worked out the basic direction finding algorithm. 

Next, I need to implement the direction_finding_connectionless_tx in another nrf52833 board, which means now I get two TX beacon and one RX Receiver. But when I turn the two TX up, however, in the terminal windows (connecting to receiver nrf52833 board) I could not see IQ values from two TX side simultaneously. It just continuously displays the IQ value from just one beacon.

notes: the both TX beacons are working in direction_finding_connectionless_tx alone well.

What configurations do I need to take in direction_finding_connectionless_rx to receive two or more CTE and get IQ values in the mean time?  Please help me, thank you !

Parents Reply Children
  • That sounds like a good approach. Let me know if you have any further questions!

    Best regards,

    Simon

  • Hi Simonr,

    These days I have tried to switch between different beacons to receive multiple beacons' IQ values. What my solution is to create a variable beacon_sample_count to record and count number of CTE with IQ values received. When beacon_sample_count reaches the number of samples to be received, I just add the code k_sem_give(&sem_per_sync_lost); to cte_recv_cb hoping to terminate the sync and go to next scan to receive other beacons' IQ values. 

    the code is like this:

    However, when I run the code in the board and print the log information in the terminal windows. At the first time, it do jump out the code err = k_sem_take(&sem_per_sync_lost, K_FOREVER);  in the main(), but it continues to go into the cte_recv_cb. 

    the log information is like this:

    To sum up, I just want to terminate the sync between the locator and beacons in the locator side purposely and receive CTE from another beacons, even the beacon connected is still working. Thanks a lot!

Related