Skip to content

Commit 58d409c

Browse files
committed
Minor fixes
1 parent e2c45be commit 58d409c

File tree

4 files changed

+15
-9
lines changed

4 files changed

+15
-9
lines changed

include/esp32/esp32_bt_gap.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
extern "C" {
2626
#endif
2727

28-
#define MGOS_BT_GAP_DEFAULT_SCAN_WINDOW_MS 50
29-
#define MGOS_BT_GAP_DEFAULT_SCAN_INTERVAL_MS 100
28+
#define MGOS_BT_GAP_DEFAULT_SCAN_WINDOW_MS 123
29+
#define MGOS_BT_GAP_DEFAULT_SCAN_INTERVAL_MS 154
3030
#define MGOS_BT_GAP_DEFAULT_SCAN_DURATION_MS 5000
3131

3232
#define MGOS_BT_GAP_MAX_SCAN_RSP_DATA_LEN 31

include/mgos_bt.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ int mgos_bt_uuid_cmp(const struct mgos_bt_uuid *a,
7474
void mgos_bt_uuid128_from_bytes(const uint8_t *bytes, bool reverse,
7575
struct mgos_bt_uuid *uuid);
7676

77-
void mgos_event_trigger_schedule(int ev, const void *ev_data, size_t data_len);
77+
void mgos_event_trigger_schedule(int ev, void *ev_data, size_t data_len);
7878

7979
#ifdef __cplusplus
8080
}

src/esp32/esp32_bt_gap.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,7 @@ static int mgos_bt_scan_event_fn(struct ble_gap_event *ev, void *arg) {
212212
ev->disc.length_data));
213213
if (!ctx->active) {
214214
if (ev->disc.event_type == BLE_HCI_ADV_RPT_EVTYPE_ADV_IND) {
215+
//mg_strfree(&arg.adv_data);
215216
mgos_event_trigger_schedule(MGOS_BT_GAP_EVENT_SCAN_RESULT, &arg, sizeof(arg));
216217
}
217218
break;

src/mgos_bt.c

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include <stdio.h>
2121
#include <string.h>
2222

23+
#include "mgos.h"
2324
#include "mgos_bt_gap.h"
2425
#include "mgos_bt_gattc.h"
2526
#include "mgos_system.h"
@@ -164,10 +165,7 @@ struct mgos_event_info {
164165
int ev;
165166
};
166167

167-
static void trigger_cb(void *arg) {
168-
struct mgos_event_info *ei = arg;
169-
void *ev_data = ei + 1;
170-
mgos_event_trigger(ei->ev, ev_data);
168+
static void free_evt(struct mgos_event_info *ei, void *ev_data) {
171169
if (ei->ev == MGOS_BT_GATTC_EV_READ_RESULT) {
172170
struct mgos_bt_gattc_read_result *p = ev_data;
173171
mg_strfree(&p->data);
@@ -182,11 +180,18 @@ static void trigger_cb(void *arg) {
182180
free(ei);
183181
}
184182

185-
void mgos_event_trigger_schedule(int ev, const void *ev_data, size_t data_len) {
183+
static void trigger_cb(void *arg) {
184+
struct mgos_event_info *ei = arg;
185+
void *ev_data = ei + 1;
186+
mgos_event_trigger(ei->ev, ev_data);
187+
free_evt(ei, ev_data);
188+
}
189+
190+
void mgos_event_trigger_schedule(int ev, void *ev_data, size_t data_len) {
186191
struct mgos_event_info *ei = malloc(sizeof(*ei) + data_len);
187192
ei->ev = ev;
188193
memcpy(ei + 1, ev_data, data_len);
189194
if (!mgos_invoke_cb(trigger_cb, ei, false /* from_isr */)) {
190-
free(ei);
195+
free_evt(ei, ev_data);
191196
}
192197
}

0 commit comments

Comments
 (0)