mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-04-17 20:42:47 +00:00
le_data_channel_server: init streamer on le connection complete
This commit is contained in:
parent
ff1bec9511
commit
4d3334c0a1
@ -177,6 +177,8 @@ static void test_track_data(le_data_channel_connection_t * context, int bytes_tr
|
|||||||
/* LISTING_START(streamer): Streaming code */
|
/* LISTING_START(streamer): Streaming code */
|
||||||
static void streamer(void){
|
static void streamer(void){
|
||||||
|
|
||||||
|
if (le_data_channel_connection.cid == 0) return;
|
||||||
|
|
||||||
// create test data
|
// create test data
|
||||||
le_data_channel_connection.counter++;
|
le_data_channel_connection.counter++;
|
||||||
if (le_data_channel_connection.counter > 'Z') le_data_channel_connection.counter = 'A';
|
if (le_data_channel_connection.counter > 'Z') le_data_channel_connection.counter = 'A';
|
||||||
@ -230,10 +232,6 @@ static void packet_handler (uint8_t packet_type, uint16_t channel, uint8_t *pack
|
|||||||
case HCI_EVENT_LE_META:
|
case HCI_EVENT_LE_META:
|
||||||
switch (hci_event_le_meta_get_subevent_code(packet)) {
|
switch (hci_event_le_meta_get_subevent_code(packet)) {
|
||||||
case HCI_SUBEVENT_LE_CONNECTION_COMPLETE:
|
case HCI_SUBEVENT_LE_CONNECTION_COMPLETE:
|
||||||
// setup new
|
|
||||||
le_data_channel_connection.counter = 'A';
|
|
||||||
le_data_channel_connection.test_data_len = ATT_DEFAULT_MTU - 3;
|
|
||||||
le_data_channel_connection.connection_handle = hci_subevent_le_connection_complete_get_connection_handle(packet);
|
|
||||||
// print connection parameters (without using float operations)
|
// print connection parameters (without using float operations)
|
||||||
conn_interval = hci_subevent_le_connection_complete_get_conn_interval(packet);
|
conn_interval = hci_subevent_le_connection_complete_get_conn_interval(packet);
|
||||||
printf("%c: Connection Interval: %u.%02u ms\n", le_data_channel_connection.name, conn_interval * 125 / 100, 25 * (conn_interval & 3));
|
printf("%c: Connection Interval: %u.%02u ms\n", le_data_channel_connection.name, conn_interval * 125 / 100, 25 * (conn_interval & 3));
|
||||||
@ -278,6 +276,8 @@ static void packet_handler (uint8_t packet_type, uint16_t channel, uint8_t *pack
|
|||||||
if (packet[2] == 0) {
|
if (packet[2] == 0) {
|
||||||
printf("L2CAP: LE Data Channel successfully opened: %s, handle 0x%02x, psm 0x%02x, local cid 0x%02x, remote cid 0x%02x\n",
|
printf("L2CAP: LE Data Channel successfully opened: %s, handle 0x%02x, psm 0x%02x, local cid 0x%02x, remote cid 0x%02x\n",
|
||||||
bd_addr_to_str(event_address), handle, psm, cid, little_endian_read_16(packet, 15));
|
bd_addr_to_str(event_address), handle, psm, cid, little_endian_read_16(packet, 15));
|
||||||
|
// setup new
|
||||||
|
le_data_channel_connection.counter = 'A';
|
||||||
le_data_channel_connection.cid = cid;
|
le_data_channel_connection.cid = cid;
|
||||||
le_data_channel_connection.connection_handle = handle;
|
le_data_channel_connection.connection_handle = handle;
|
||||||
le_data_channel_connection.test_data_len = btstack_min(l2cap_event_le_channel_opened_get_remote_mtu(packet), sizeof(le_data_channel_connection.test_data));
|
le_data_channel_connection.test_data_len = btstack_min(l2cap_event_le_channel_opened_get_remote_mtu(packet), sizeof(le_data_channel_connection.test_data));
|
||||||
@ -292,8 +292,8 @@ static void packet_handler (uint8_t packet_type, uint16_t channel, uint8_t *pack
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case L2CAP_EVENT_LE_CHANNEL_CLOSED:
|
case L2CAP_EVENT_LE_CHANNEL_CLOSED:
|
||||||
cid = l2cap_event_le_channel_closed_get_local_cid(packet);
|
printf("L2CAP: LE Data Channel closed\n");
|
||||||
printf("L2CAP: LE Data Channel closed 0x%02x\n", cid);
|
le_data_channel_connection.cid = 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#ifdef TEST_STREAM_DATA
|
#ifdef TEST_STREAM_DATA
|
||||||
|
Loading…
x
Reference in New Issue
Block a user