mirror of
https://github.com/espressif/esp-nimble.git
synced 2026-08-16 15:07:53 +00:00
blehr: Fix state notifications
Use conn_handle in ble_gattc_notify_custom() instead of incorrect notify_state
This commit is contained in:
committed by
Andrzej Kaczmarek
parent
a1bfe3a6ae
commit
d5dbea9d51
+10
-1
@@ -32,6 +32,9 @@
|
||||
|
||||
static bool notify_state;
|
||||
|
||||
/* Connection handle */
|
||||
static uint16_t conn_handle;
|
||||
|
||||
static const char *device_name = "blehr_sensor";
|
||||
|
||||
static int blehr_gap_event(struct ble_gap_event *event, void *arg);
|
||||
@@ -143,7 +146,7 @@ blehr_tx_hrate(struct os_event *ev)
|
||||
|
||||
om = ble_hs_mbuf_from_flat(hrm, sizeof(hrm));
|
||||
|
||||
rc = ble_gattc_notify_custom(notify_state, hrs_hrm_handle, om);
|
||||
rc = ble_gattc_notify_custom(conn_handle, hrs_hrm_handle, om);
|
||||
|
||||
assert(rc == 0);
|
||||
blehr_tx_hrate_reset();
|
||||
@@ -162,11 +165,17 @@ blehr_gap_event(struct ble_gap_event *event, void *arg)
|
||||
if (event->connect.status != 0) {
|
||||
/* Connection failed; resume advertising */
|
||||
blehr_advertise();
|
||||
conn_handle = 0;
|
||||
}
|
||||
else {
|
||||
conn_handle = event->connect.conn_handle;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case BLE_GAP_EVENT_DISCONNECT:
|
||||
MODLOG_DFLT(INFO, "disconnect; reason=%d\n", event->disconnect.reason);
|
||||
conn_handle = BLE_HS_CONN_HANDLE_NONE; /* reset conn_handle */
|
||||
|
||||
/* Connection terminated; resume advertising */
|
||||
blehr_advertise();
|
||||
|
||||
Reference in New Issue
Block a user