tests: Bluetooth: df: Fix not building unit tests

There were changes done to controller code that cause
tests to do not build and fail during execution.
Changes are related with:
- modified code related with extended advertising ADI
  field handling
- added generic double buffer data structure that is
  used in controller
- moved code that was building only when DF is enabled
- added EVENTS_PHYEND that is not available in nrfbsim
  board

The PR addresses those issues.

Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
This commit is contained in:
Piotr Pryga 2021-12-22 11:05:31 +01:00 committed by Christopher Friedt
commit 26a66ee299
30 changed files with 38 additions and 23 deletions

View file

@ -469,10 +469,10 @@ void radio_status_reset(void)
*/
NRF_RADIO->EVENTS_READY = 0;
NRF_RADIO->EVENTS_END = 0;
#if defined(CONFIG_BT_CTLR_DF_SUPPORT)
#if defined(CONFIG_BT_CTLR_DF_SUPPORT) && !defined(CONFIG_ZTEST)
/* Clear it only for SoCs supporting DF extension */
NRF_RADIO->EVENTS_PHYEND = 0;
#endif /* CONFIG_BT_CTLR_DF_SUPPORT */
#endif /* CONFIG_BT_CTLR_DF_SUPPORT && !CONFIG_ZTEST */
NRF_RADIO->EVENTS_DISABLED = 0;
#if defined(CONFIG_BT_CTLR_DF_PHYEND_OFFSET_COMPENSATION_ENABLE)
NRF_RADIO->EVENTS_CTEPRESENT = 0;
@ -1644,6 +1644,7 @@ void radio_ar_resolve(const uint8_t *addr)
}
#if defined(CONFIG_BT_CTLR_DF_SUPPORT) && !defined(CONFIG_ZTEST)
/* @brief Function configures CTE inline register to start sampling of CTE
* according to information parsed from CTEInfo field of received PDU.
*
@ -1678,3 +1679,4 @@ void radio_df_cte_inline_set_enabled(bool cte_info_in_s1)
nrf_radio_cteinline_configure(NRF_RADIO, &inline_conf);
}
#endif /* CONFIG_BT_CTLR_DF_SUPPORT && !CONFIG_ZTEST */

View file

@ -26,8 +26,6 @@ uint8_t radio_df_ant_num_get(void);
void radio_df_mode_set_aoa(void);
/* Sets Direction Finding AOD mode. */
void radio_df_mode_set_aod(void);
/* Sets inline configuration enabled or disabled for receive of CTE. */
void radio_df_cte_inline_set(uint8_t eanble);
/* Configure CTE transmission with 2us antenna switching for AoD. */
void radio_df_cte_tx_aod_2us_set(uint8_t cte_len);

View file

@ -19,6 +19,7 @@
#include "util/util.h"
#include "util/mem.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "pdu.h"
#include "ll.h"

View file

@ -19,6 +19,7 @@
#include "util/util.h"
#include "util/mem.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "pdu.h"
#include "ll.h"

View file

@ -17,6 +17,7 @@
#include "util/util.h"
#include "util/mem.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "pdu.h"
#include "ll.h"

View file

@ -19,6 +19,7 @@
#include "util/util.h"
#include "util/mem.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "pdu.h"
#include "ll.h"

View file

@ -18,6 +18,7 @@
#include "util/util.h"
#include "util/mem.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "pdu.h"
#include "ll.h"

View file

@ -17,6 +17,7 @@
#include "util/util.h"
#include "util/mem.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "pdu.h"
#include "ll.h"

View file

@ -19,6 +19,7 @@
#include "util/util.h"
#include "util/mem.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "pdu.h"
#include "ll.h"

View file

@ -19,6 +19,7 @@
#include "util/util.h"
#include "util/mem.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "pdu.h"
#include "ll.h"

View file

@ -20,6 +20,7 @@
#include "util/util.h"
#include "util/mem.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "pdu.h"
#include "ll.h"

View file

@ -20,6 +20,7 @@
#include "util/util.h"
#include "util/mem.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "pdu.h"
#include "ll.h"

View file

@ -20,6 +20,7 @@
#include "util/util.h"
#include "util/mem.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "pdu.h"
#include "ll.h"

View file

@ -17,6 +17,7 @@
#include "util/util.h"
#include "util/mem.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "pdu.h"
#include "ll.h"

View file

@ -17,6 +17,7 @@
#include "util/util.h"
#include "util/mem.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "pdu.h"
#include "ll.h"

View file

@ -19,6 +19,7 @@
#include "util/util.h"
#include "util/mem.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "pdu.h"
#include "ll.h"

View file

@ -18,6 +18,7 @@
#include "util/util.h"
#include "util/mem.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "pdu.h"
#include "ll.h"

View file

@ -19,6 +19,7 @@
#include "util/util.h"
#include "util/mem.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "pdu.h"
#include "ll.h"

View file

@ -13,6 +13,8 @@
#include "util/util.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "pdu.h"
#include "lll.h"

View file

@ -17,6 +17,7 @@
#include "util/util.h"
#include "util/mem.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "pdu.h"
#include "ll.h"

View file

@ -19,6 +19,7 @@
#include "util/util.h"
#include "util/mem.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "pdu.h"
#include "ll.h"

View file

@ -19,6 +19,7 @@
#include "util/util.h"
#include "util/mem.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "pdu.h"
#include "ll.h"

View file

@ -19,6 +19,7 @@
#include "util/mem.h"
#include "util/memq.h"
#include "util/mfifo.h"
#include "util/dbuf.h"
#include "pdu.h"

View file

@ -14,6 +14,7 @@
#include "util/mem.h"
#include "util/mfifo.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "util.h"
#include "pdu.h"

View file

@ -8,6 +8,7 @@
#include "util/util.h"
#include "util/mem.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "pdu.h"

View file

@ -8,6 +8,7 @@
#include "util/util.h"
#include "util/mem.h"
#include "util/memq.h"
#include "util/dbuf.h"
#include "pdu.h"

View file

@ -10,7 +10,7 @@
#include <util/util.h>
#include <util/memq.h>
#include "util/dbuf.h"
#include <util/dbuf.h>
#include <hal/ccm.h>

View file

@ -5,6 +5,7 @@
*/
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
/* global variables that may be used to imitate real radio behaviour */
static uint32_t g_iq_samples_amount;
@ -18,7 +19,7 @@ uint8_t radio_df_ant_num_get(void)
return 0;
}
void radio_df_cte_inline_set(uint8_t enable)
void radio_df_cte_inline_set_enabled(bool cte_info_in_s1)
{
}
@ -117,3 +118,8 @@ uint8_t radio_df_pdu_antenna_switch_pattern_get(void)
{
return g_pdu_switch_pattern;
}
bool radio_df_cte_ready(void)
{
return true;
}

View file

@ -375,10 +375,6 @@ void common_validate_per_adv_chain(struct ll_adv_set *adv, uint8_t pdu_count)
ext_hdr_flags = ULL_ADV_PDU_HDR_FIELD_AD_DATA;
}
if (IS_ENABLED(CONFIG_BT_CTLR_ADV_PERIODIC_ADI_SUPPORT)) {
ext_hdr_flags |= ULL_ADV_PDU_HDR_FIELD_ADI;
}
common_validate_per_adv_pdu(pdu, TEST_PDU_EXT_ADV_SYNC_IND, ext_hdr_flags);
pdu = lll_adv_pdu_linked_next_get(pdu);
if (pdu_count > 1) {
@ -397,10 +393,6 @@ void common_validate_per_adv_chain(struct ll_adv_set *adv, uint8_t pdu_count)
ext_hdr_flags = ULL_ADV_PDU_HDR_FIELD_AD_DATA;
}
if (IS_ENABLED(CONFIG_BT_CTLR_ADV_PERIODIC_ADI_SUPPORT)) {
ext_hdr_flags |= ULL_ADV_PDU_HDR_FIELD_ADI;
}
common_validate_per_adv_pdu(pdu, TEST_PDU_EXT_ADV_CHAIN_IND, ext_hdr_flags);
pdu = lll_adv_pdu_linked_next_get(pdu);
if (idx != (pdu_count - 1)) {
@ -441,10 +433,6 @@ void common_validate_chain_with_cte(struct ll_adv_set *adv, uint8_t cte_count,
ext_hdr_flags |= ULL_ADV_PDU_HDR_FIELD_AD_DATA;
}
if (IS_ENABLED(CONFIG_BT_CTLR_ADV_PERIODIC_ADI_SUPPORT)) {
ext_hdr_flags |= ULL_ADV_PDU_HDR_FIELD_ADI;
}
common_validate_per_adv_pdu(pdu, TEST_PDU_EXT_ADV_SYNC_IND, ext_hdr_flags);
pdu_count = MAX(cte_count, ad_data_pdu_count);
@ -469,10 +457,6 @@ void common_validate_chain_with_cte(struct ll_adv_set *adv, uint8_t cte_count,
ext_hdr_flags |= ULL_ADV_PDU_HDR_FIELD_AD_DATA;
}
if (IS_ENABLED(CONFIG_BT_CTLR_ADV_PERIODIC_ADI_SUPPORT)) {
ext_hdr_flags |= ULL_ADV_PDU_HDR_FIELD_ADI;
}
common_validate_per_adv_pdu(pdu, TEST_PDU_EXT_ADV_CHAIN_IND, ext_hdr_flags);
pdu = lll_adv_pdu_linked_next_get(pdu);

View file

@ -14,7 +14,7 @@
#include <util/util.h>
#include <util/memq.h>
#include "util/dbuf.h"
#include <util/dbuf.h>
#include <pdu.h>
#include <lll.h>