--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main/ble_gap.c Mon Apr 17 14:54:35 2023 +0200 @@ -0,0 +1,58 @@ +/** + * @file ble_gap.c + * @brief BLE GAP service. + */ + +#include "config.h" + + +static const char *TAG = "ble_gap"; + +static void gap_event_handler(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param) +{ + switch (event) { + case ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT: + ble_balkon_adv_set_complete_handle(); + break; + case ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT: + break; + case ESP_GAP_BLE_ADV_START_COMPLETE_EVT: + //advertising start complete event to indicate advertising start successfully or failed + if (param->adv_start_cmpl.status != ESP_BT_STATUS_SUCCESS) { + ESP_LOGE(TAG, "Advertising start failed"); + } + break; + case ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT: + if (param->adv_stop_cmpl.status != ESP_BT_STATUS_SUCCESS) { + ESP_LOGE(TAG, "Advertising stop failed"); + } else { + ESP_LOGI(TAG, "Stop adv successfully"); + } + break; + case ESP_GAP_BLE_UPDATE_CONN_PARAMS_EVT: + ESP_LOGI(TAG, "update connection params status = %d, min_int = %d, max_int = %d,conn_int = %d,latency = %d, timeout = %d", + param->update_conn_params.status, + param->update_conn_params.min_int, + param->update_conn_params.max_int, + param->update_conn_params.conn_int, + param->update_conn_params.latency, + param->update_conn_params.timeout); + break; + default: + ESP_LOGI(TAG, "gap_event_handler(%d) unknown event", event); + break; + } +} + + +void ble_balkon_gap_register(void) +{ + esp_err_t ret; + + ret = esp_ble_gap_register_callback(gap_event_handler); + if (ret){ + ESP_LOGE(TAG, "gap register error, error code = %x", ret); + return; + } +} +