parse fields doesnt need to completely fail

This commit is contained in:
morgan 2026-08-15 23:18:14 -07:00
parent 8d172d5784
commit 7fb2040173

View file

@ -238,7 +238,13 @@ static int ble_gap_event(struct ble_gap_event *event, void *arg) {
case BLE_GAP_EVENT_DISC: { case BLE_GAP_EVENT_DISC: {
struct ble_hs_adv_fields fields; struct ble_hs_adv_fields fields;
ESP_ERROR_CHECK(ble_hs_adv_parse_fields(&fields, event->disc.data, event->disc.length_data)); esp_err_t err = ble_hs_adv_parse_fields(&fields, event->disc.data, event->disc.length_data);
if(err != 0) {
ESP_LOGE(TAG, "error parsing discovery fields: 0x%02x", err);
return err;
}
if( if(
fields.svc_data_uuid16_len == 3 && fields.svc_data_uuid16_len == 3 &&
@ -294,6 +300,7 @@ static int ble_gap_event(struct ble_gap_event *event, void *arg) {
case BLE_GAP_EVENT_DISCONNECT: case BLE_GAP_EVENT_DISCONNECT:
ESP_LOGI(TAG, "disconnect; reason=%d\n", event->disconnect.reason); ESP_LOGI(TAG, "disconnect; reason=%d\n", event->disconnect.reason);
//esp_event_post(EVENT_BAROS_BLE, BAROS_BLE_DISC, discovery, sizeof(baros_ble_discovery_t), portMAX_DELAY);
/* Connection terminated; resume advertising */ /* Connection terminated; resume advertising */
ble_advertise(); ble_advertise();