mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Merge branch 'feat/ble_link_estab_event_v5.0' into 'release/v5.0'
feat(nimble): BLE_GAP_EVENT_LINK_ESTAB event to ensure link is established (v5.0) See merge request espressif/esp-idf!32261
This commit is contained in:
commit
d889c006ff
@ -1 +1 @@
|
|||||||
Subproject commit 2fbd46dfedbaf795f98429b0cd2ce8845e06d8ce
|
Subproject commit ab8a314d3a948815e00408b7823bfb77b02230ff
|
@ -425,7 +425,7 @@ enc_adv_data_cent_gap_event(struct ble_gap_event *event, void *arg)
|
|||||||
enc_adv_data_cent_connect_if_interesting(&event->disc);
|
enc_adv_data_cent_connect_if_interesting(&event->disc);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
case BLE_GAP_EVENT_CONNECT:
|
case BLE_GAP_EVENT_LINK_ESTAB:
|
||||||
/* A new connection was established or a connection attempt failed. */
|
/* A new connection was established or a connection attempt failed. */
|
||||||
if (event->connect.status == 0) {
|
if (event->connect.status == 0) {
|
||||||
/* Connection successfully established. */
|
/* Connection successfully established. */
|
||||||
|
@ -204,7 +204,7 @@ enc_adv_data_prph_gap_event(struct ble_gap_event *event, void *arg)
|
|||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
switch (event->type) {
|
switch (event->type) {
|
||||||
case BLE_GAP_EVENT_CONNECT:
|
case BLE_GAP_EVENT_LINK_ESTAB:
|
||||||
/* A new connection was established or a connection attempt failed. */
|
/* A new connection was established or a connection attempt failed. */
|
||||||
MODLOG_DFLT(INFO, "connection %s; status=%d ",
|
MODLOG_DFLT(INFO, "connection %s; status=%d ",
|
||||||
event->connect.status == 0 ? "established" : "failed",
|
event->connect.status == 0 ? "established" : "failed",
|
||||||
|
@ -488,7 +488,7 @@ ble_htp_cent_gap_event(struct ble_gap_event *event, void *arg)
|
|||||||
ble_htp_cent_connect_if_interesting(&event->disc);
|
ble_htp_cent_connect_if_interesting(&event->disc);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
case BLE_GAP_EVENT_CONNECT:
|
case BLE_GAP_EVENT_LINK_ESTAB:
|
||||||
/* A new connection was established or a connection attempt failed. */
|
/* A new connection was established or a connection attempt failed. */
|
||||||
if (event->connect.status == 0) {
|
if (event->connect.status == 0) {
|
||||||
/* Connection successfully established. */
|
/* Connection successfully established. */
|
||||||
|
@ -230,7 +230,7 @@ static int
|
|||||||
ble_htp_prph_gap_event(struct ble_gap_event *event, void *arg)
|
ble_htp_prph_gap_event(struct ble_gap_event *event, void *arg)
|
||||||
{
|
{
|
||||||
switch (event->type) {
|
switch (event->type) {
|
||||||
case BLE_GAP_EVENT_CONNECT:
|
case BLE_GAP_EVENT_LINK_ESTAB:
|
||||||
/* A new connection was established or a connection attempt failed */
|
/* A new connection was established or a connection attempt failed */
|
||||||
MODLOG_DFLT(INFO, "connection %s; status=%d\n",
|
MODLOG_DFLT(INFO, "connection %s; status=%d\n",
|
||||||
event->connect.status == 0 ? "established" : "failed",
|
event->connect.status == 0 ? "established" : "failed",
|
||||||
|
@ -412,7 +412,7 @@ blecent_gap_event(struct ble_gap_event *event, void *arg)
|
|||||||
blecent_connect_if_interesting(&event->disc);
|
blecent_connect_if_interesting(&event->disc);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
case BLE_GAP_EVENT_CONNECT:
|
case BLE_GAP_EVENT_LINK_ESTAB:
|
||||||
/* A new connection was established or a connection attempt failed. */
|
/* A new connection was established or a connection attempt failed. */
|
||||||
if (event->connect.status == 0) {
|
if (event->connect.status == 0) {
|
||||||
/* Connection successfully established. */
|
/* Connection successfully established. */
|
||||||
|
@ -317,7 +317,7 @@ bleprph_gap_event(struct ble_gap_event *event, void *arg)
|
|||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
switch (event->type) {
|
switch (event->type) {
|
||||||
case BLE_GAP_EVENT_CONNECT:
|
case BLE_GAP_EVENT_LINK_ESTAB:
|
||||||
/* A new connection was established or a connection attempt failed. */
|
/* A new connection was established or a connection attempt failed. */
|
||||||
MODLOG_DFLT(INFO, "connection %s; status=%d ",
|
MODLOG_DFLT(INFO, "connection %s; status=%d ",
|
||||||
event->connect.status == 0 ? "established" : "failed",
|
event->connect.status == 0 ? "established" : "failed",
|
||||||
|
@ -302,7 +302,7 @@ ble_multi_advertise(ble_addr_t addr)
|
|||||||
static void
|
static void
|
||||||
ble_multi_perform_gatt_proc(ble_addr_t addr)
|
ble_multi_perform_gatt_proc(ble_addr_t addr)
|
||||||
{
|
{
|
||||||
/* GATT procedures like notify, indicate can be perfomed now */
|
/* GATT procedures like notify, indicate can be performed now */
|
||||||
for (int i = 0; i < BLE_ADV_INSTANCES; i++) {
|
for (int i = 0; i < BLE_ADV_INSTANCES; i++) {
|
||||||
if (memcmp(&addr, &ble_instance_cb[i].addr, sizeof(addr)) == 0) {
|
if (memcmp(&addr, &ble_instance_cb[i].addr, sizeof(addr)) == 0) {
|
||||||
if (ble_instance_cb[i].cb) {
|
if (ble_instance_cb[i].cb) {
|
||||||
@ -335,7 +335,7 @@ ble_multi_adv_gap_event(struct ble_gap_event *event, void *arg)
|
|||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
switch (event->type) {
|
switch (event->type) {
|
||||||
case BLE_GAP_EVENT_CONNECT:
|
case BLE_GAP_EVENT_LINK_ESTAB:
|
||||||
/* A new connection was established or a connection attempt failed. */
|
/* A new connection was established or a connection attempt failed. */
|
||||||
MODLOG_DFLT(INFO, "connection %s; status=%d ",
|
MODLOG_DFLT(INFO, "connection %s; status=%d ",
|
||||||
event->connect.status == 0 ? "established" : "failed",
|
event->connect.status == 0 ? "established" : "failed",
|
||||||
|
@ -347,7 +347,7 @@ blecent_gap_event(struct ble_gap_event *event, void *arg)
|
|||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
switch (event->type) {
|
switch (event->type) {
|
||||||
case BLE_GAP_EVENT_CONNECT:
|
case BLE_GAP_EVENT_LINK_ESTAB:
|
||||||
/* A new connection was established or a connection attempt failed. */
|
/* A new connection was established or a connection attempt failed. */
|
||||||
if (event->connect.status == 0) {
|
if (event->connect.status == 0) {
|
||||||
/* Connection successfully established. */
|
/* Connection successfully established. */
|
||||||
|
@ -183,7 +183,7 @@ bleprph_gap_event(struct ble_gap_event *event, void *arg)
|
|||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
switch (event->type) {
|
switch (event->type) {
|
||||||
case BLE_GAP_EVENT_CONNECT:
|
case BLE_GAP_EVENT_LINK_ESTAB:
|
||||||
/* A new connection was established or a connection attempt failed. */
|
/* A new connection was established or a connection attempt failed. */
|
||||||
MODLOG_DFLT(INFO, "connection %s; status=%d ",
|
MODLOG_DFLT(INFO, "connection %s; status=%d ",
|
||||||
event->connect.status == 0 ? "established" : "failed",
|
event->connect.status == 0 ? "established" : "failed",
|
||||||
|
@ -230,7 +230,7 @@ ble_spp_client_gap_event(struct ble_gap_event *event, void *arg)
|
|||||||
ble_spp_client_connect_if_interesting(&event->disc);
|
ble_spp_client_connect_if_interesting(&event->disc);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
case BLE_GAP_EVENT_CONNECT:
|
case BLE_GAP_EVENT_LINK_ESTAB:
|
||||||
/* A new connection was established or a connection attempt failed. */
|
/* A new connection was established or a connection attempt failed. */
|
||||||
if (event->connect.status == 0) {
|
if (event->connect.status == 0) {
|
||||||
/* Connection successfully established. */
|
/* Connection successfully established. */
|
||||||
|
@ -141,7 +141,7 @@ ble_spp_server_gap_event(struct ble_gap_event *event, void *arg)
|
|||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
switch (event->type) {
|
switch (event->type) {
|
||||||
case BLE_GAP_EVENT_CONNECT:
|
case BLE_GAP_EVENT_LINK_ESTAB:
|
||||||
/* A new connection was established or a connection attempt failed. */
|
/* A new connection was established or a connection attempt failed. */
|
||||||
MODLOG_DFLT(INFO, "connection %s; status=%d ",
|
MODLOG_DFLT(INFO, "connection %s; status=%d ",
|
||||||
event->connect.status == 0 ? "established" : "failed",
|
event->connect.status == 0 ? "established" : "failed",
|
||||||
|
@ -691,7 +691,7 @@ blecent_gap_event(struct ble_gap_event *event, void *arg)
|
|||||||
blecent_connect_if_interesting(&event->disc);
|
blecent_connect_if_interesting(&event->disc);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
case BLE_GAP_EVENT_CONNECT:
|
case BLE_GAP_EVENT_LINK_ESTAB:
|
||||||
/* A new connection was established or a connection attempt failed. */
|
/* A new connection was established or a connection attempt failed. */
|
||||||
if (event->connect.status == 0) {
|
if (event->connect.status == 0) {
|
||||||
/* Connection successfully established. */
|
/* Connection successfully established. */
|
||||||
|
@ -184,7 +184,7 @@ static int
|
|||||||
blehr_gap_event(struct ble_gap_event *event, void *arg)
|
blehr_gap_event(struct ble_gap_event *event, void *arg)
|
||||||
{
|
{
|
||||||
switch (event->type) {
|
switch (event->type) {
|
||||||
case BLE_GAP_EVENT_CONNECT:
|
case BLE_GAP_EVENT_LINK_ESTAB:
|
||||||
/* A new connection was established or a connection attempt failed */
|
/* A new connection was established or a connection attempt failed */
|
||||||
MODLOG_DFLT(INFO, "connection %s; status=%d\n",
|
MODLOG_DFLT(INFO, "connection %s; status=%d\n",
|
||||||
event->connect.status == 0 ? "established" : "failed",
|
event->connect.status == 0 ? "established" : "failed",
|
||||||
|
@ -237,7 +237,7 @@ bleprph_gap_event(struct ble_gap_event *event, void *arg)
|
|||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
switch (event->type) {
|
switch (event->type) {
|
||||||
case BLE_GAP_EVENT_CONNECT:
|
case BLE_GAP_EVENT_LINK_ESTAB:
|
||||||
/* A new connection was established or a connection attempt failed. */
|
/* A new connection was established or a connection attempt failed. */
|
||||||
MODLOG_DFLT(INFO, "connection %s; status=%d ",
|
MODLOG_DFLT(INFO, "connection %s; status=%d ",
|
||||||
event->connect.status == 0 ? "established" : "failed",
|
event->connect.status == 0 ? "established" : "failed",
|
||||||
|
@ -119,7 +119,7 @@ void wifi_init_sta(void)
|
|||||||
.ssid = EXAMPLE_ESP_WIFI_SSID,
|
.ssid = EXAMPLE_ESP_WIFI_SSID,
|
||||||
.password = EXAMPLE_ESP_WIFI_PASS,
|
.password = EXAMPLE_ESP_WIFI_PASS,
|
||||||
/* Setting a password implies station will connect to all security modes including WEP/WPA.
|
/* Setting a password implies station will connect to all security modes including WEP/WPA.
|
||||||
* However these modes are deprecated and not advisable to be used. Incase your Access point
|
* However these modes are deprecated and not advisable to be used. In case your Access point
|
||||||
* doesn't support WPA2, these mode can be enabled by commenting below line */
|
* doesn't support WPA2, these mode can be enabled by commenting below line */
|
||||||
.threshold.authmode = WIFI_AUTH_WPA2_PSK,
|
.threshold.authmode = WIFI_AUTH_WPA2_PSK,
|
||||||
},
|
},
|
||||||
@ -389,7 +389,7 @@ bleprph_gap_event(struct ble_gap_event *event, void *arg)
|
|||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
switch (event->type) {
|
switch (event->type) {
|
||||||
case BLE_GAP_EVENT_CONNECT:
|
case BLE_GAP_EVENT_LINK_ESTAB:
|
||||||
/* A new connection was established or a connection attempt failed. */
|
/* A new connection was established or a connection attempt failed. */
|
||||||
ESP_LOGI(TAG, "connection %s; status=%d ",
|
ESP_LOGI(TAG, "connection %s; status=%d ",
|
||||||
event->connect.status == 0 ? "established" : "failed",
|
event->connect.status == 0 ? "established" : "failed",
|
||||||
|
@ -282,7 +282,7 @@ bleprph_gap_event(struct ble_gap_event *event, void *arg)
|
|||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
switch (event->type) {
|
switch (event->type) {
|
||||||
case BLE_GAP_EVENT_CONNECT:
|
case BLE_GAP_EVENT_LINK_ESTAB:
|
||||||
/* A new connection was established or a connection attempt failed. */
|
/* A new connection was established or a connection attempt failed. */
|
||||||
MODLOG_DFLT(INFO, "connection %s; status=%d ",
|
MODLOG_DFLT(INFO, "connection %s; status=%d ",
|
||||||
event->connect.status == 0 ? "established" : "failed",
|
event->connect.status == 0 ? "established" : "failed",
|
||||||
|
@ -538,7 +538,7 @@ blecent_gap_event(struct ble_gap_event *event, void *arg)
|
|||||||
blecent_connect_if_interesting(&event->disc);
|
blecent_connect_if_interesting(&event->disc);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
case BLE_GAP_EVENT_CONNECT:
|
case BLE_GAP_EVENT_LINK_ESTAB:
|
||||||
/* A new connection was established or a connection attempt failed. */
|
/* A new connection was established or a connection attempt failed. */
|
||||||
if (event->connect.status == 0) {
|
if (event->connect.status == 0) {
|
||||||
/* Connection successfully established. */
|
/* Connection successfully established. */
|
||||||
|
@ -238,7 +238,7 @@ gatts_gap_event(struct ble_gap_event *event, void *arg)
|
|||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
switch (event->type) {
|
switch (event->type) {
|
||||||
case BLE_GAP_EVENT_CONNECT:
|
case BLE_GAP_EVENT_LINK_ESTAB:
|
||||||
/* A new connection was established or a connection attempt failed */
|
/* A new connection was established or a connection attempt failed */
|
||||||
ESP_LOGI(tag, "connection %s; status = %d ",
|
ESP_LOGI(tag, "connection %s; status = %d ",
|
||||||
event->connect.status == 0 ? "established" : "failed",
|
event->connect.status == 0 ? "established" : "failed",
|
||||||
|
@ -1500,6 +1500,7 @@ examples/bluetooth/nimble/blecent/main/blecent.h
|
|||||||
examples/bluetooth/nimble/blecent/main/main.c
|
examples/bluetooth/nimble/blecent/main/main.c
|
||||||
examples/bluetooth/nimble/blecent/main/misc.c
|
examples/bluetooth/nimble/blecent/main/misc.c
|
||||||
examples/bluetooth/nimble/blecent/main/peer.c
|
examples/bluetooth/nimble/blecent/main/peer.c
|
||||||
|
examples/bluetooth/nimble/blecsc/main/main.c
|
||||||
examples/bluetooth/nimble/blehr/blehr_test.py
|
examples/bluetooth/nimble/blehr/blehr_test.py
|
||||||
examples/bluetooth/nimble/blehr/main/blehr_sens.h
|
examples/bluetooth/nimble/blehr/main/blehr_sens.h
|
||||||
examples/bluetooth/nimble/blehr/main/gatt_svr.c
|
examples/bluetooth/nimble/blehr/main/gatt_svr.c
|
||||||
|
Loading…
Reference in New Issue
Block a user