zephyr/subsys/bluetooth/controller/ll_sw/ull_conn_iso_internal.h
Morten Priess 96a13712ad Bluetooth: controller: Initial CIS peripheral establishment
LL_CIS_IND starts a ticker for the created CIG, using the event_counter
and offset provided. Ticker generates callbacks to
lll_peripheral_iso_prepare. Event done with ISO (extra) type is demuxed
and done handled for CIG including ticker update with drift
compensation.

TODO: Handle multiple CISes as well as pause/resume and scheduling
latency.

Signed-off-by: Morten Priess <mtpr@oticon.com>
2021-03-27 08:57:03 -04:00

25 lines
996 B
C

/*
* Copyright (c) 2021 Demant
*
* SPDX-License-Identifier: Apache-2.0
*/
/* Helper functions to initialize and reset ull_conn_iso module */
int ull_conn_iso_init(void);
int ull_conn_iso_reset(void);
struct ll_conn_iso_group *ll_conn_iso_group_acquire(void);
void ll_conn_iso_group_release(struct ll_conn_iso_group *cig);
uint16_t ll_conn_iso_group_handle_get(struct ll_conn_iso_group *cig);
struct ll_conn_iso_group *ll_conn_iso_group_get(uint16_t handle);
struct ll_conn_iso_group *ll_conn_iso_group_get_by_id(uint8_t id);
struct ll_conn_iso_stream *ll_conn_iso_stream_acquire(void);
void ll_conn_iso_stream_release(struct ll_conn_iso_stream *cis);
uint16_t ll_conn_iso_stream_handle_get(struct ll_conn_iso_stream *cis);
struct ll_conn_iso_stream *ll_conn_iso_stream_get(uint16_t handle);
struct ll_conn_iso_stream *ll_iso_stream_connected_get(uint16_t handle);
void ull_conn_iso_done(struct node_rx_event_done *done);
void ull_conn_iso_cis_established(struct ll_conn_iso_stream *cis);