Bluetooth: Audio: tests: remove code duplication
The function interval_to_sync_timeout was copied several places. Made it into a common function and removed duplicate code Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
This commit is contained in:
parent
98e7362891
commit
1f1241af8f
7 changed files with 33 additions and 103 deletions
|
@ -653,28 +653,6 @@ static int init(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint16_t interval_to_sync_timeout(uint16_t pa_interval)
|
|
||||||
{
|
|
||||||
uint16_t pa_timeout;
|
|
||||||
|
|
||||||
if (pa_interval == BT_BAP_PA_INTERVAL_UNKNOWN) {
|
|
||||||
/* Use maximum value to maximize chance of success */
|
|
||||||
pa_timeout = BT_GAP_PER_ADV_MAX_TIMEOUT;
|
|
||||||
} else {
|
|
||||||
uint32_t interval_ms;
|
|
||||||
uint32_t timeout;
|
|
||||||
|
|
||||||
/* Add retries and convert to unit in 10's of ms */
|
|
||||||
interval_ms = BT_GAP_PER_ADV_INTERVAL_TO_MS(pa_interval);
|
|
||||||
timeout = (interval_ms * PA_SYNC_INTERVAL_TO_TIMEOUT_RATIO) / 10;
|
|
||||||
|
|
||||||
/* Enforce restraints */
|
|
||||||
pa_timeout = CLAMP(timeout, BT_GAP_PER_ADV_MIN_TIMEOUT, BT_GAP_PER_ADV_MAX_TIMEOUT);
|
|
||||||
}
|
|
||||||
|
|
||||||
return pa_timeout;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int pa_sync_create(void)
|
static int pa_sync_create(void)
|
||||||
{
|
{
|
||||||
struct bt_le_per_adv_sync_param create_params = {0};
|
struct bt_le_per_adv_sync_param create_params = {0};
|
||||||
|
|
|
@ -108,28 +108,6 @@ static struct sync_state *sync_state_get_by_src_id(uint8_t src_id)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint16_t interval_to_sync_timeout(uint16_t pa_interval)
|
|
||||||
{
|
|
||||||
uint16_t pa_timeout;
|
|
||||||
|
|
||||||
if (pa_interval == BT_BAP_PA_INTERVAL_UNKNOWN) {
|
|
||||||
/* Use maximum value to maximize chance of success */
|
|
||||||
pa_timeout = BT_GAP_PER_ADV_MAX_TIMEOUT;
|
|
||||||
} else {
|
|
||||||
uint32_t interval_ms;
|
|
||||||
uint32_t timeout;
|
|
||||||
|
|
||||||
/* Add retries and convert to unit in 10's of ms */
|
|
||||||
interval_ms = BT_GAP_PER_ADV_INTERVAL_TO_MS(pa_interval);
|
|
||||||
timeout = (interval_ms * PA_SYNC_INTERVAL_TO_TIMEOUT_RATIO) / 10;
|
|
||||||
|
|
||||||
/* Enforce restraints */
|
|
||||||
pa_timeout = CLAMP(timeout, BT_GAP_PER_ADV_MIN_TIMEOUT, BT_GAP_PER_ADV_MAX_TIMEOUT);
|
|
||||||
}
|
|
||||||
|
|
||||||
return pa_timeout;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void pa_timer_handler(struct k_work *work)
|
static void pa_timer_handler(struct k_work *work)
|
||||||
{
|
{
|
||||||
struct k_work_delayable *dwork = k_work_delayable_from_work(work);
|
struct k_work_delayable *dwork = k_work_delayable_from_work(work);
|
||||||
|
|
|
@ -880,28 +880,6 @@ static void test_cap_acceptor_unicast_timeout(void)
|
||||||
PASS("CAP acceptor unicast passed\n");
|
PASS("CAP acceptor unicast passed\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint16_t interval_to_sync_timeout(uint16_t pa_interval)
|
|
||||||
{
|
|
||||||
uint16_t pa_timeout;
|
|
||||||
|
|
||||||
if (pa_interval == BT_BAP_PA_INTERVAL_UNKNOWN) {
|
|
||||||
/* Use maximum value to maximize chance of success */
|
|
||||||
pa_timeout = BT_GAP_PER_ADV_MAX_TIMEOUT;
|
|
||||||
} else {
|
|
||||||
uint32_t interval_ms;
|
|
||||||
uint32_t timeout;
|
|
||||||
|
|
||||||
/* Add retries and convert to unit in 10's of ms */
|
|
||||||
interval_ms = BT_GAP_PER_ADV_INTERVAL_TO_MS(pa_interval);
|
|
||||||
timeout = (interval_ms * PA_SYNC_INTERVAL_TO_TIMEOUT_RATIO) / 10;
|
|
||||||
|
|
||||||
/* Enforce restraints */
|
|
||||||
pa_timeout = CLAMP(timeout, BT_GAP_PER_ADV_MIN_TIMEOUT, BT_GAP_PER_ADV_MAX_TIMEOUT);
|
|
||||||
}
|
|
||||||
|
|
||||||
return pa_timeout;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void pa_sync_create(void)
|
static void pa_sync_create(void)
|
||||||
{
|
{
|
||||||
struct bt_le_per_adv_sync_param create_params = {0};
|
struct bt_le_per_adv_sync_param create_params = {0};
|
||||||
|
|
|
@ -243,28 +243,6 @@ static void cap_disconnected_cb(struct bt_conn *conn, uint8_t reason)
|
||||||
k_sem_give(&sem_disconnected);
|
k_sem_give(&sem_disconnected);
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint16_t interval_to_sync_timeout(uint16_t pa_interval)
|
|
||||||
{
|
|
||||||
uint16_t pa_timeout;
|
|
||||||
|
|
||||||
if (pa_interval == BT_BAP_PA_INTERVAL_UNKNOWN) {
|
|
||||||
/* Use maximum value to maximize chance of success */
|
|
||||||
pa_timeout = BT_GAP_PER_ADV_MAX_TIMEOUT;
|
|
||||||
} else {
|
|
||||||
uint32_t interval_ms;
|
|
||||||
uint32_t timeout;
|
|
||||||
|
|
||||||
/* Add retries and convert to unit in 10's of ms */
|
|
||||||
interval_ms = BT_GAP_PER_ADV_INTERVAL_TO_MS(pa_interval);
|
|
||||||
timeout = (interval_ms * PA_SYNC_INTERVAL_TO_TIMEOUT_RATIO) / 10;
|
|
||||||
|
|
||||||
/* Enforce restraints */
|
|
||||||
pa_timeout = CLAMP(timeout, BT_GAP_PER_ADV_MIN_TIMEOUT, BT_GAP_PER_ADV_MAX_TIMEOUT);
|
|
||||||
}
|
|
||||||
|
|
||||||
return pa_timeout;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int pa_sync_create(void)
|
static int pa_sync_create(void)
|
||||||
{
|
{
|
||||||
struct bt_le_per_adv_sync_param create_params = {0};
|
struct bt_le_per_adv_sync_param create_params = {0};
|
||||||
|
|
|
@ -212,6 +212,38 @@ static uint get_chan_num(uint16_t dev)
|
||||||
return channel_id;
|
return channel_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Calculate the sync timeout based on the PA interval
|
||||||
|
*
|
||||||
|
* Calculates the sync timeout, based on the PA interval and a pre-defined ratio.
|
||||||
|
* The return value is in N*10ms, conform the parameter for bt_le_per_adv_sync_create
|
||||||
|
*
|
||||||
|
* @param pa_interval PA interval
|
||||||
|
*
|
||||||
|
* @return uint16_t synchronization timeout (N * 10 ms)
|
||||||
|
*/
|
||||||
|
uint16_t interval_to_sync_timeout(uint16_t pa_interval)
|
||||||
|
{
|
||||||
|
uint16_t pa_timeout;
|
||||||
|
|
||||||
|
if (pa_interval == BT_BAP_PA_INTERVAL_UNKNOWN) {
|
||||||
|
/* Use maximum value to maximize chance of success */
|
||||||
|
pa_timeout = BT_GAP_PER_ADV_MAX_TIMEOUT;
|
||||||
|
} else {
|
||||||
|
uint32_t interval_ms;
|
||||||
|
uint32_t timeout;
|
||||||
|
|
||||||
|
/* Add retries and convert to unit in 10's of ms */
|
||||||
|
interval_ms = BT_GAP_PER_ADV_INTERVAL_TO_MS(pa_interval);
|
||||||
|
timeout = (interval_ms * PA_SYNC_INTERVAL_TO_TIMEOUT_RATIO) / 10;
|
||||||
|
|
||||||
|
/* Enforce restraints */
|
||||||
|
pa_timeout = CLAMP(timeout, BT_GAP_PER_ADV_MIN_TIMEOUT, BT_GAP_PER_ADV_MAX_TIMEOUT);
|
||||||
|
}
|
||||||
|
|
||||||
|
return pa_timeout;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Set up the backchannels between each pair of device
|
* @brief Set up the backchannels between each pair of device
|
||||||
*
|
*
|
||||||
|
|
|
@ -121,6 +121,7 @@ void disconnected(struct bt_conn *conn, uint8_t reason);
|
||||||
void test_tick(bs_time_t HW_device_time);
|
void test_tick(bs_time_t HW_device_time);
|
||||||
void test_init(void);
|
void test_init(void);
|
||||||
uint16_t get_dev_cnt(void);
|
uint16_t get_dev_cnt(void);
|
||||||
|
uint16_t interval_to_sync_timeout(uint16_t pa_interval);
|
||||||
void backchannel_sync_send(uint dev);
|
void backchannel_sync_send(uint dev);
|
||||||
void backchannel_sync_send_all(void);
|
void backchannel_sync_send_all(void);
|
||||||
void backchannel_sync_wait(uint dev);
|
void backchannel_sync_wait(uint dev);
|
||||||
|
|
|
@ -114,21 +114,6 @@ static void recv_cb(struct bt_bap_stream *stream,
|
||||||
printk("Receiving ISO packets\n");
|
printk("Receiving ISO packets\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint16_t interval_to_sync_timeout(uint16_t interval)
|
|
||||||
{
|
|
||||||
uint32_t interval_ms;
|
|
||||||
uint32_t timeout;
|
|
||||||
|
|
||||||
/* Add retries and convert to unit in 10's of ms */
|
|
||||||
interval_ms = BT_GAP_PER_ADV_INTERVAL_TO_MS(interval);
|
|
||||||
timeout = (interval_ms * PA_SYNC_INTERVAL_TO_TIMEOUT_RATIO) / 10;
|
|
||||||
|
|
||||||
/* Enforce restraints */
|
|
||||||
timeout = CLAMP(timeout, BT_GAP_PER_ADV_MIN_TIMEOUT, BT_GAP_PER_ADV_MAX_TIMEOUT);
|
|
||||||
|
|
||||||
return (uint16_t)timeout;
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool pa_decode_base(struct bt_data *data, void *user_data)
|
static bool pa_decode_base(struct bt_data *data, void *user_data)
|
||||||
{
|
{
|
||||||
const struct bt_bap_base *base = bt_bap_base_get_base_from_ad(data);
|
const struct bt_bap_base *base = bt_bap_base_get_base_from_ad(data);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue