mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-30 02:37:19 +02:00
Merge branch 'bugfix/pawr_sync_v5.2' into 'release/v5.2'
fix(nimble): memset the sync structs to prevent uncertainty for ext_adv reports (v5.2) See merge request espressif/esp-idf!39718
This commit is contained in:
@ -22,7 +22,6 @@ static void start_scan(void);
|
||||
static struct ble_hs_adv_fields fields;
|
||||
static bool synced = false;
|
||||
|
||||
uint8_t rsp_slot_idx = 0;
|
||||
static int
|
||||
gap_event_cb(struct ble_gap_event *event, void *arg)
|
||||
{
|
||||
@ -57,12 +56,11 @@ gap_event_cb(struct ble_gap_event *event, void *arg)
|
||||
event->periodic_report.event_counter,
|
||||
event->periodic_report.subevent);
|
||||
|
||||
rsp_slot_idx += 1;
|
||||
struct ble_gap_periodic_adv_response_params param = {
|
||||
.request_event = event->periodic_report.event_counter,
|
||||
.request_subevent = event->periodic_report.subevent,
|
||||
.response_subevent = event->periodic_report.subevent,
|
||||
.response_slot = rsp_slot_idx,
|
||||
.response_slot = 2,
|
||||
};
|
||||
|
||||
struct os_mbuf *data = os_msys_get_pkthdr(BLE_PAWR_RSP_DATA_LEN, 0);
|
||||
@ -129,8 +127,9 @@ static int
|
||||
create_periodic_sync(struct ble_gap_ext_disc_desc *disc)
|
||||
{
|
||||
int rc;
|
||||
struct ble_gap_periodic_sync_params params;
|
||||
struct ble_gap_periodic_sync_params params = {0};
|
||||
|
||||
memset(¶ms, 0, sizeof(params));
|
||||
params.skip = 0;
|
||||
params.sync_timeout = 4000;
|
||||
params.reports_disabled = 0;
|
||||
@ -159,9 +158,11 @@ start_scan(void)
|
||||
int rc;
|
||||
struct ble_gap_ext_disc_params disc_params;
|
||||
|
||||
|
||||
/* Perform a passive scan. I.e., don't send follow-up scan requests to
|
||||
* each advertiser.
|
||||
*/
|
||||
memset(&disc_params, 0, sizeof(disc_params));
|
||||
disc_params.itvl = BLE_GAP_SCAN_ITVL_MS(600);
|
||||
disc_params.window = BLE_GAP_SCAN_ITVL_MS(300);
|
||||
disc_params.passive = 1;
|
||||
@ -182,23 +183,6 @@ on_reset(int reason)
|
||||
ESP_LOGE(TAG, "Resetting state; reason=%d\n", reason);
|
||||
}
|
||||
|
||||
/* Cnnot find `ble_single_xxxx()`, workaround */
|
||||
// static void
|
||||
// on_sync(void)
|
||||
// {
|
||||
// int ble_single_env_init(void);
|
||||
// int ble_single_init(void);
|
||||
|
||||
// int rc;
|
||||
|
||||
// rc = ble_single_env_init();
|
||||
// assert(!rc);
|
||||
// rc = ble_single_init();
|
||||
// assert(!rc);
|
||||
|
||||
// start_scan();
|
||||
// }
|
||||
|
||||
static void
|
||||
on_sync(void)
|
||||
{
|
||||
|
@ -185,8 +185,8 @@ static int
|
||||
create_periodic_sync(struct ble_gap_ext_disc_desc *disc)
|
||||
{
|
||||
int rc;
|
||||
struct ble_gap_periodic_sync_params params;
|
||||
|
||||
struct ble_gap_periodic_sync_params params = {0};
|
||||
memset(¶ms, 0, sizeof(params));
|
||||
params.skip = 0;
|
||||
params.sync_timeout = 4000;
|
||||
params.reports_disabled = 0;
|
||||
@ -218,6 +218,7 @@ start_scan(void)
|
||||
/* Perform a passive scan. I.e., don't send follow-up scan requests to
|
||||
* each advertiser.
|
||||
*/
|
||||
memset(&disc_params, 0, sizeof(disc_params));
|
||||
disc_params.itvl = BLE_GAP_SCAN_ITVL_MS(600);
|
||||
disc_params.window = BLE_GAP_SCAN_ITVL_MS(300);
|
||||
disc_params.passive = 1;
|
||||
@ -238,23 +239,6 @@ on_reset(int reason)
|
||||
ESP_LOGE(TAG, "Resetting state; reason=%d\n", reason);
|
||||
}
|
||||
|
||||
/* Cnnot find `ble_single_xxxx()`, workaround */
|
||||
// static void
|
||||
// on_sync(void)
|
||||
// {
|
||||
// int ble_single_env_init(void);
|
||||
// int ble_single_init(void);
|
||||
|
||||
// int rc;
|
||||
|
||||
// rc = ble_single_env_init();
|
||||
// assert(!rc);
|
||||
// rc = ble_single_init();
|
||||
// assert(!rc);
|
||||
|
||||
// start_scan();
|
||||
// }
|
||||
|
||||
static void
|
||||
on_sync(void)
|
||||
{
|
||||
|
Reference in New Issue
Block a user