main/ble_gap.c

Mon, 17 Apr 2023 14:54:35 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Mon, 17 Apr 2023 14:54:35 +0200
changeset 31
ec5c7794dcd6
permissions
-rw-r--r--

Added basic BLE code.

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

mercurial