I'm trying to make a program I've written support multiple client connections to different servers.
I understand that each connection needs a separate app to be registered.
My process is this:
Perform a scan
Application requests a connection to a certain BDA from the scan results
BLE code creates a struct containing app_id (picked arbitrarily), gattc_if(ESP_GATT_IF_NONE) and the requested BDA
esp_ble_gattc_app_register is called using app_id
gattc_if is set in the resulting ESP_GATTC_REG_EVT callback
esp_ble_gattc_open is then called using the gattc_if value and the BDA
After a few seconds I get:
BT_APPL: bta_gattc_conn_cback() - cif=3 connected=0 conn_id=3 reason=0x0100
and an ESP_GATTC_OPEN_EVT with status=133
The difference between what I'm trying to do and what the multi-connect example does is that the apps are registered dynamically, rather than pre-registering a few profiles at the start. I also only use a single gatt event handler, rather than distributing events to a separate handler for each profile.
Does anyone have any idea what causes it to fail to open?
Dynamically registered gattc app makes esp_ble_gattc_open fail
Who is online
Users browsing this forum: Baidu [Spider] and 366 guests