Skip to content
This repository was archived by the owner on Aug 5, 2022. It is now read-only.

Commit 13063ef

Browse files
Jimmy Huanggrgustaf
authored andcommitted
[ble] Remove hard-coded Bluetooth MAC address (#748)
Instead of a hard-coded fake Bluetooth MAC address, retrieve the MAC address reported in Zephyr when client connects or disconnects. Signed-off-by: Jimmy Huang <[email protected]>
1 parent df5920d commit 13063ef

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

src/zjs_ble.c

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -492,11 +492,11 @@ static void zjs_ble_blvl_ccc_cfg_changed(const struct bt_gatt_attr *attr, uint16
492492

493493
static void zjs_ble_connected_c_callback(void *handle, void* argv)
494494
{
495-
// FIXME: get real bluetooth address
496-
jerry_value_t arg = jerry_create_string((jerry_char_t *)"AB:CD:DF:AB:CD:EF");
495+
char* addr = (char*)argv;
496+
jerry_value_t arg = jerry_create_string((jerry_char_t *)addr);
497497
zjs_trigger_event(ble_conn.ble_obj, "accept", &arg, 1, NULL, NULL);
498498
jerry_release_value(arg);
499-
DBG_PRINT("BLE event: accept\n");
499+
DBG_PRINT("BLE event: connected, addr %s\n", addr);
500500
}
501501

502502
static void zjs_ble_connected(struct bt_conn *conn, uint8_t err)
@@ -505,27 +505,31 @@ static void zjs_ble_connected(struct bt_conn *conn, uint8_t err)
505505
DBG_PRINT("Connection failed (err %u)\n", err);
506506
} else {
507507
DBG_PRINT("========== connected ==========\n");
508+
char addr[BT_ADDR_LE_STR_LEN];
509+
bt_addr_le_to_str(bt_conn_get_dst(conn), addr, sizeof(addr));
508510
ble_conn.default_conn = bt_conn_ref(conn);
509-
zjs_signal_callback(ble_conn.connected_cb_id, NULL, 0);
511+
zjs_signal_callback(ble_conn.connected_cb_id, &addr, sizeof(addr));
510512
}
511513
}
512514

513515
static void zjs_ble_disconnected_c_callback(void *handle, void* argv)
514516
{
515-
// FIXME: get real bluetooth address
516-
jerry_value_t arg = jerry_create_string((jerry_char_t *)"AB:CD:DF:AB:CD:EF");
517+
char* addr = (char*)argv;
518+
jerry_value_t arg = jerry_create_string((jerry_char_t *)addr);
517519
zjs_trigger_event(ble_conn.ble_obj, "disconnect", &arg, 1, NULL, NULL);
518520
jerry_release_value(arg);
519-
DBG_PRINT("BLE event: disconnect\n");
521+
DBG_PRINT("BLE event: disconnected, addr %s\n", addr);
520522
}
521523

522524
static void zjs_ble_disconnected(struct bt_conn *conn, uint8_t reason)
523525
{
524526
DBG_PRINT("========== Disconnected (reason %u) ==========\n", reason);
525527
if (ble_conn.default_conn) {
528+
char addr[BT_ADDR_LE_STR_LEN];
529+
bt_addr_le_to_str(bt_conn_get_dst(conn), addr, sizeof(addr));
526530
bt_conn_unref(ble_conn.default_conn);
527531
ble_conn.default_conn = NULL;
528-
zjs_signal_callback(ble_conn.disconnected_cb_id, NULL, 0);
532+
zjs_signal_callback(ble_conn.disconnected_cb_id, &addr, sizeof(addr));
529533
}
530534
}
531535

0 commit comments

Comments
 (0)