From 0b4522bf7e0fbf03b349df4b50d942575c901ad1 Mon Sep 17 00:00:00 2001 From: morgan Date: Mon, 10 Aug 2026 09:22:09 -0700 Subject: [PATCH] moving toward ESPIDF events for BLE actions --- src/baros_ble.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/baros_ble.c b/src/baros_ble.c index 03a7df2..e6b453d 100644 --- a/src/baros_ble.c +++ b/src/baros_ble.c @@ -226,19 +226,24 @@ static int ble_gap_event(struct ble_gap_event *event, void *arg) { ESP_ERROR_CHECK(ble_hs_adv_parse_fields(&fields, event->disc.data, event->disc.length_data)); if(fields.name != NULL) { - char *name = (char*)malloc(fields.name_len); - memcpy(name, (uint8_t*)fields.name, fields.name_len); - name[fields.name_len] = '\0'; + char *name = (char*)malloc(fields.name_len + 1); + snprintf(name, fields.name_len + 1, "%s", fields.name); ESP_LOGI(TAG, "DISCOVERY: %s", name); // we'll party at any bar if(strstr(name, "BAR") >= 0) { ESP_LOGI(TAG, "Let's Party!"); + /* + * No longer want to automatically connect + * Actions can be taken based on discovery uint8_t addr_type; ble_gap_disc_cancel(); ESP_ERROR_CHECK(ble_hs_id_infer_auto(0, &addr_type)); ESP_ERROR_CHECK(ble_gap_connect(addr_type, &event->disc.addr, 30000, NULL, ble_gap_event, NULL)); + */ + + esp_event_post(EVENT_BAROS_BLE, BAROS_BLE_DISC, name, fields.name_len + 1, portMAX_DELAY); } }