diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2015-01-26 01:49:37 +0100 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2015-01-26 01:49:37 +0100 |
commit | 333fb02e6889ec13a3aa32cc3775f9c378955594 (patch) | |
tree | 25b7af1c07996e86a78541dc72f1f4b081ba52db /tools/3dsp.c | |
parent | fe29cf0f5aa2e868a8670b0bd618368f23e3fa8c (diff) | |
download | bluez-333fb02e6889ec13a3aa32cc3775f9c378955594.tar.gz |
tools: Read local clock value when receiving new CSB data
Diffstat (limited to 'tools/3dsp.c')
-rw-r--r-- | tools/3dsp.c | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/tools/3dsp.c b/tools/3dsp.c index 496928725..78ca7dc76 100644 --- a/tools/3dsp.c +++ b/tools/3dsp.c @@ -125,7 +125,7 @@ static void start_inquiry(void) inquiry_started, NULL, NULL); } -static void slave_broadcast_receive(const void *data, uint8_t size, +static void set_slave_broadcast_receive(const void *data, uint8_t size, void *user_data) { printf("Slave broadcast receiption enabled\n"); @@ -156,8 +156,8 @@ static void sync_train_received(const void *data, uint8_t size, memcpy(cmd.map, evt->map, 10); bt_hci_send(hci_dev, BT_HCI_CMD_SET_SLAVE_BROADCAST_RECEIVE, - &cmd, sizeof(cmd), - slave_broadcast_receive, NULL, NULL); + &cmd, sizeof(cmd), + set_slave_broadcast_receive, NULL, NULL); } static void brcm_sync_train_received(const void *data, uint8_t size, @@ -185,8 +185,8 @@ static void brcm_sync_train_received(const void *data, uint8_t size, memcpy(cmd.map, evt->map, 10); bt_hci_send(hci_dev, BT_HCI_CMD_SET_SLAVE_BROADCAST_RECEIVE, - &cmd, sizeof(cmd), - slave_broadcast_receive, NULL, NULL); + &cmd, sizeof(cmd), + set_slave_broadcast_receive, NULL, NULL); } static void truncated_page_complete(const void *data, uint8_t size, @@ -229,6 +229,18 @@ static void slave_broadcast_timeout(const void *data, uint8_t size, NULL, NULL, NULL); } +static void slave_broadcast_receive(const void *data, uint8_t size, + void *user_data) +{ + struct bt_hci_cmd_read_clock cmd; + + cmd.handle = cpu_to_le16(0x0000); + cmd.type = 0x00; + + bt_hci_send(hci_dev, BT_HCI_CMD_READ_CLOCK, &cmd, sizeof(cmd), + NULL, NULL, NULL); +} + static void ext_inquiry_result(const void *data, uint8_t size, void *user_data) { const struct bt_hci_evt_ext_inquiry_result *evt = data; @@ -312,6 +324,8 @@ static void start_glasses(void) truncated_page_complete, NULL, NULL); bt_hci_register(hci_dev, BT_HCI_EVT_SLAVE_BROADCAST_TIMEOUT, slave_broadcast_timeout, NULL, NULL); + bt_hci_register(hci_dev, BT_HCI_EVT_SLAVE_BROADCAST_RECEIVE, + slave_broadcast_receive, NULL, NULL); start_inquiry(); } |