nimble/ll: Remove periodic adv min/max interval in sm
We only need current interval, no need to store min and max (and min was
never used anyway).
diff --git a/nimble/controller/src/ble_ll_adv.c b/nimble/controller/src/ble_ll_adv.c
index 8dc4444..0ce13a6 100644
--- a/nimble/controller/src/ble_ll_adv.c
+++ b/nimble/controller/src/ble_ll_adv.c
@@ -159,8 +159,6 @@
struct os_mbuf *periodic_new_data;
uint32_t periodic_crcinit; /* only 3 bytes are used */
uint32_t periodic_access_addr;
- uint16_t periodic_adv_itvl_min;
- uint16_t periodic_adv_itvl_max;
uint16_t periodic_adv_props;
uint16_t periodic_channel_id;
uint16_t periodic_event_cntr;
@@ -171,8 +169,9 @@
uint8_t periodic_sync_index : 1;
uint8_t periodic_num_used_chans;
uint8_t periodic_chanmap[BLE_LL_CHAN_MAP_LEN];
+ uint16_t periodic_adv_itvl;
uint32_t periodic_adv_itvl_ticks;
- uint8_t periodic_adv_itvl_rem_usec;
+ uint8_t periodic_adv_itvl_rem_us;
uint8_t periodic_adv_event_start_time_remainder;
uint32_t periodic_adv_event_start_time;
struct ble_ll_adv_sync periodic_sync[2];
@@ -665,7 +664,7 @@
offset = ble_ll_tmr_t2u(anchor - AUX_CURRENT(advsm)->start_time);
offset += advsm->periodic_adv_event_start_time_remainder;
- offset += advsm->periodic_adv_itvl_rem_usec;
+ offset += advsm->periodic_adv_itvl_rem_us;
}
/* Sync Packet Offset (13 bits), Offset Units (1 bit), Offset Adjust (1 bit),
@@ -696,7 +695,7 @@
dptr[1] = ((offset >> 8) & 0x0000001f) | units;
/* Interval (2 bytes) */
- put_le16(&dptr[2], advsm->periodic_adv_itvl_max);
+ put_le16(&dptr[2], advsm->periodic_adv_itvl);
/* Channels Mask (37 bits) */
dptr[4] = advsm->periodic_chanmap[0];
@@ -2432,7 +2431,7 @@
ble_ll_tmr_add_u(&advsm->periodic_adv_event_start_time,
&advsm->periodic_adv_event_start_time_remainder,
- advsm->periodic_adv_itvl_rem_usec);
+ advsm->periodic_adv_itvl_rem_us);
sch->start_time = advsm->periodic_adv_event_start_time;
sch->remainder = advsm->periodic_adv_event_start_time_remainder;
@@ -2658,10 +2657,9 @@
(advsm->periodic_access_addr & 0x0000ffff);
advsm->periodic_crcinit = ble_ll_rand() & 0xffffff;
- usecs = (uint32_t)advsm->periodic_adv_itvl_max * BLE_LL_ADV_PERIODIC_ITVL;
-
+ usecs = (uint32_t)advsm->periodic_adv_itvl * BLE_LL_ADV_PERIODIC_ITVL;
advsm->periodic_adv_itvl_ticks = ble_ll_tmr_u2t_r(usecs,
- &advsm->periodic_adv_itvl_rem_usec);
+ &advsm->periodic_adv_itvl_rem_us);
/* There is no point in starting periodic advertising until next advertising
* event since SyncInfo is needed for synchronization
@@ -3975,8 +3973,7 @@
return BLE_ERR_PACKET_TOO_LONG;
}
- advsm->periodic_adv_itvl_min = adv_itvl_min;
- advsm->periodic_adv_itvl_max = adv_itvl_max;
+ advsm->periodic_adv_itvl = adv_itvl_max;
advsm->periodic_adv_props = props;
ble_ll_adv_flags_set(advsm, BLE_LL_ADV_SM_FLAG_PERIODIC_CONFIGURED);
@@ -4056,7 +4053,7 @@
*/
if (!ble_ll_adv_periodic_check_data_itvl(payload_total_len,
advsm->periodic_adv_props,
- advsm->periodic_adv_itvl_max,
+ advsm->periodic_adv_itvl,
advsm->sec_phy)) {
return BLE_ERR_PACKET_TOO_LONG;
}
@@ -4149,7 +4146,7 @@
*/
if (!ble_ll_adv_periodic_check_data_itvl(SYNC_DATA_LEN(advsm),
advsm->periodic_adv_props,
- advsm->periodic_adv_itvl_max,
+ advsm->periodic_adv_itvl,
advsm->sec_phy)) {
return BLE_ERR_PACKET_TOO_LONG;
}