Make blufi(nimble) customizable broadcast

This commit is contained in:
Pok.Liu 2022-05-16 18:49:17 +08:00
parent 3806b240cf
commit 388f56c346

View File

@ -232,8 +232,8 @@ int esp_blufi_gatt_svr_init(void)
return 0;
}
static int
esp_blufi_gap_event(struct ble_gap_event *event, void *arg)
int
esp_blufi_gap_event(struct ble_gap_event *event, void *adv_start_callback)
{
struct ble_gap_conn_desc desc;
int rc;
@ -265,7 +265,7 @@ esp_blufi_gap_event(struct ble_gap_event *event, void *arg)
}
if (event->connect.status != 0) {
/* Connection failed; resume advertising. */
esp_blufi_adv_start();
((void(*)())adv_start_callback)();
}
return 0;
case BLE_GAP_EVENT_DISCONNECT:
@ -300,7 +300,7 @@ esp_blufi_gap_event(struct ble_gap_event *event, void *arg)
case BLE_GAP_EVENT_ADV_COMPLETE:
ESP_LOGI(TAG, "advertise complete; reason=%d",
event->adv_complete.reason);
esp_blufi_adv_start();
((void(*)())adv_start_callback)();
return 0;
case BLE_GAP_EVENT_SUBSCRIBE:
@ -395,7 +395,7 @@ void esp_blufi_adv_start(void)
adv_params.conn_mode = BLE_GAP_CONN_MODE_UND;
adv_params.disc_mode = BLE_GAP_DISC_MODE_GEN;
rc = ble_gap_adv_start(own_addr_type, NULL, BLE_HS_FOREVER,
&adv_params, esp_blufi_gap_event, NULL);
&adv_params, esp_blufi_gap_event, esp_blufi_adv_start);
if (rc != 0) {
ESP_LOGE(TAG, "error enabling advertisement; rc=%d\n", rc);
return;