1 /** |
|
2 * @file ble_gap.c |
|
3 * @brief BLE GAP service. |
|
4 */ |
|
5 |
|
6 #include "config.h" |
|
7 |
|
8 |
|
9 static const char *TAG = "ble_gap"; |
|
10 |
|
11 static void gap_event_handler(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param) |
|
12 { |
|
13 switch (event) { |
|
14 case ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT: |
|
15 ble_balkon_adv_set_complete_handle(); |
|
16 break; |
|
17 case ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT: |
|
18 break; |
|
19 case ESP_GAP_BLE_ADV_START_COMPLETE_EVT: |
|
20 //advertising start complete event to indicate advertising start successfully or failed |
|
21 if (param->adv_start_cmpl.status != ESP_BT_STATUS_SUCCESS) { |
|
22 ESP_LOGE(TAG, "Advertising start failed"); |
|
23 } |
|
24 break; |
|
25 case ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT: |
|
26 if (param->adv_stop_cmpl.status != ESP_BT_STATUS_SUCCESS) { |
|
27 ESP_LOGE(TAG, "Advertising stop failed"); |
|
28 } else { |
|
29 ESP_LOGI(TAG, "Stop adv successfully"); |
|
30 } |
|
31 break; |
|
32 case ESP_GAP_BLE_UPDATE_CONN_PARAMS_EVT: |
|
33 ESP_LOGI(TAG, "update connection params status = %d, min_int = %d, max_int = %d,conn_int = %d,latency = %d, timeout = %d", |
|
34 param->update_conn_params.status, |
|
35 param->update_conn_params.min_int, |
|
36 param->update_conn_params.max_int, |
|
37 param->update_conn_params.conn_int, |
|
38 param->update_conn_params.latency, |
|
39 param->update_conn_params.timeout); |
|
40 break; |
|
41 default: |
|
42 ESP_LOGI(TAG, "gap_event_handler(%d) unknown event", event); |
|
43 break; |
|
44 } |
|
45 } |
|
46 |
|
47 |
|
48 void ble_balkon_gap_register(void) |
|
49 { |
|
50 esp_err_t ret; |
|
51 |
|
52 ret = esp_ble_gap_register_callback(gap_event_handler); |
|
53 if (ret){ |
|
54 ESP_LOGE(TAG, "gap register error, error code = %x", ret); |
|
55 return; |
|
56 } |
|
57 } |
|
58 |
|