hid examples support esp32c3/s3

This commit is contained in:
zwj
2021-05-06 15:47:26 +08:00
parent ec22b4991b
commit 2ee9140e94
8 changed files with 94 additions and 7 deletions
@@ -135,6 +135,7 @@ static esp_hid_scan_result_t *find_scan_result(esp_bd_addr_t bda, esp_hid_scan_r
return NULL;
}
#if CONFIG_BT_CLASSIC_ENABLED
static void add_bt_scan_result(esp_bd_addr_t bda, esp_bt_cod_t *cod, esp_bt_uuid_t *uuid, uint8_t *name, uint8_t name_len, int rssi)
{
esp_hid_scan_result_t *r = find_scan_result(bda, bt_scan_results);
@@ -186,6 +187,7 @@ static void add_bt_scan_result(esp_bd_addr_t bda, esp_bt_cod_t *cod, esp_bt_uuid
bt_scan_results = r;
num_bt_scan_results++;
}
#endif
static void add_ble_scan_result(esp_bd_addr_t bda, esp_ble_addr_type_t addr_type, uint16_t appearance, uint8_t *name, uint8_t name_len, int rssi)
{
@@ -237,6 +239,7 @@ void print_uuid(esp_bt_uuid_t *uuid)
}
}
#if CONFIG_BT_CLASSIC_ENABLED
static void handle_bt_device_result(struct disc_res_param *disc_res)
{
GAP_DBG_PRINTF("BT : " ESP_BD_ADDR_STR, ESP_BD_ADDR_HEX(disc_res->bda));
@@ -325,6 +328,7 @@ static void handle_bt_device_result(struct disc_res_param *disc_res)
add_bt_scan_result(disc_res->bda, cod, &uuid, name, name_len, rssi);
}
}
#endif
static void handle_ble_device_result(struct ble_scan_result_evt_param *scan_rst)
{
@@ -372,7 +376,7 @@ static void handle_ble_device_result(struct ble_scan_result_evt_param *scan_rst)
}
}
#if CONFIG_BT_CLASSIC_ENABLED
/*
* BT GAP
* */
@@ -440,6 +444,7 @@ static esp_err_t start_bt_scan(uint32_t seconds)
}
return ret;
}
#endif
/*
* BLE GAP
@@ -671,11 +676,15 @@ static esp_err_t init_low_level(uint8_t mode)
{
esp_err_t ret;
esp_bt_controller_config_t bt_cfg = BT_CONTROLLER_INIT_CONFIG_DEFAULT();
#if CONFIG_BT_CLASSIC_ENABLED
if (mode & ESP_BT_MODE_CLASSIC_BT) {
bt_cfg.mode = mode;
bt_cfg.bt_max_acl_conn = 3;
bt_cfg.bt_max_sync_conn = 3;
} else {
} else
#endif
{
ret = esp_bt_controller_mem_release(ESP_BT_MODE_CLASSIC_BT);
if (ret) {
ESP_LOGE(TAG, "esp_bt_controller_mem_release failed: %d", ret);
@@ -705,13 +714,14 @@ static esp_err_t init_low_level(uint8_t mode)
ESP_LOGE(TAG, "esp_bluedroid_enable failed: %d", ret);
return ret;
}
#if CONFIG_BT_CLASSIC_ENABLED
if (mode & ESP_BT_MODE_CLASSIC_BT) {
ret = init_bt_gap();
if (ret) {
return ret;
}
}
#endif
if (mode & ESP_BT_MODE_BLE) {
ret = init_ble_gap();
@@ -772,9 +782,11 @@ esp_err_t esp_hid_scan(uint32_t seconds, size_t *num_results, esp_hid_scan_resul
}
if (start_ble_scan(seconds) == ESP_OK) {
#if CONFIG_BT_CLASSIC_ENABLED
if (start_bt_scan(seconds) == ESP_OK) {
WAIT_BT_CB();
}
#endif
WAIT_BLE_CB();
} else {
return ESP_FAIL;