Skip to content

Commit

Permalink
Minor fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
rojer committed Nov 12, 2021
1 parent e2c45be commit 58d409c
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 9 deletions.
4 changes: 2 additions & 2 deletions include/esp32/esp32_bt_gap.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
extern "C" {
#endif

#define MGOS_BT_GAP_DEFAULT_SCAN_WINDOW_MS 50
#define MGOS_BT_GAP_DEFAULT_SCAN_INTERVAL_MS 100
#define MGOS_BT_GAP_DEFAULT_SCAN_WINDOW_MS 123
#define MGOS_BT_GAP_DEFAULT_SCAN_INTERVAL_MS 154
#define MGOS_BT_GAP_DEFAULT_SCAN_DURATION_MS 5000

#define MGOS_BT_GAP_MAX_SCAN_RSP_DATA_LEN 31
Expand Down
2 changes: 1 addition & 1 deletion include/mgos_bt.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ int mgos_bt_uuid_cmp(const struct mgos_bt_uuid *a,
void mgos_bt_uuid128_from_bytes(const uint8_t *bytes, bool reverse,
struct mgos_bt_uuid *uuid);

void mgos_event_trigger_schedule(int ev, const void *ev_data, size_t data_len);
void mgos_event_trigger_schedule(int ev, void *ev_data, size_t data_len);

#ifdef __cplusplus
}
Expand Down
1 change: 1 addition & 0 deletions src/esp32/esp32_bt_gap.c
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,7 @@ static int mgos_bt_scan_event_fn(struct ble_gap_event *ev, void *arg) {
ev->disc.length_data));
if (!ctx->active) {
if (ev->disc.event_type == BLE_HCI_ADV_RPT_EVTYPE_ADV_IND) {
//mg_strfree(&arg.adv_data);
mgos_event_trigger_schedule(MGOS_BT_GAP_EVENT_SCAN_RESULT, &arg, sizeof(arg));
}
break;
Expand Down
17 changes: 11 additions & 6 deletions src/mgos_bt.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include <stdio.h>
#include <string.h>

#include "mgos.h"
#include "mgos_bt_gap.h"
#include "mgos_bt_gattc.h"
#include "mgos_system.h"
Expand Down Expand Up @@ -164,10 +165,7 @@ struct mgos_event_info {
int ev;
};

static void trigger_cb(void *arg) {
struct mgos_event_info *ei = arg;
void *ev_data = ei + 1;
mgos_event_trigger(ei->ev, ev_data);
static void free_evt(struct mgos_event_info *ei, void *ev_data) {
if (ei->ev == MGOS_BT_GATTC_EV_READ_RESULT) {
struct mgos_bt_gattc_read_result *p = ev_data;
mg_strfree(&p->data);
Expand All @@ -182,11 +180,18 @@ static void trigger_cb(void *arg) {
free(ei);
}

void mgos_event_trigger_schedule(int ev, const void *ev_data, size_t data_len) {
static void trigger_cb(void *arg) {
struct mgos_event_info *ei = arg;
void *ev_data = ei + 1;
mgos_event_trigger(ei->ev, ev_data);
free_evt(ei, ev_data);
}

void mgos_event_trigger_schedule(int ev, void *ev_data, size_t data_len) {
struct mgos_event_info *ei = malloc(sizeof(*ei) + data_len);
ei->ev = ev;
memcpy(ei + 1, ev_data, data_len);
if (!mgos_invoke_cb(trigger_cb, ei, false /* from_isr */)) {
free(ei);
free_evt(ei, ev_data);
}
}

0 comments on commit 58d409c

Please sign in to comment.