Zephyr API Documentation
2.7.0-rc2
A Scalable Open Source RTOS
|
ISO. More...
Data Structures | |
struct | bt_iso_chan |
ISO Channel structure. More... | |
struct | bt_iso_chan_io_qos |
ISO Channel IO QoS structure. More... | |
struct | bt_iso_chan_qos |
ISO Channel QoS structure. More... | |
struct | bt_iso_chan_path |
ISO Channel Data Path structure. More... | |
struct | bt_iso_recv_info |
ISO Meta Data structure for received ISO packets. More... | |
struct | bt_iso_cig_create_param |
struct | bt_iso_connect_param |
struct | bt_iso_big_create_param |
struct | bt_iso_big_sync_param |
struct | bt_iso_biginfo |
struct | bt_iso_chan_ops |
ISO Channel operations structure. More... | |
struct | bt_iso_server |
ISO Server structure. More... | |
Macros | |
#define | BT_ISO_CHAN_SEND_RESERVE |
Headroom needed for outgoing buffers. More... | |
#define | BT_ISO_DATA_PATH_HCI 0x00 |
#define | BT_ISO_INTERVAL_MIN 0x0000FF |
#define | BT_ISO_INTERVAL_MAX 0x0FFFFF |
#define | BT_ISO_LATENCY_MIN 0x0005 |
#define | BT_ISO_LATENCY_MAX 0x0FA0 |
#define | BT_ISO_PACKING_SEQUENTIAL 0x00 |
#define | BT_ISO_PACKING_INTERLEAVED 0x01 |
#define | BT_ISO_FRAMING_UNFRAMED 0x00 |
#define | BT_ISO_FRAMING_FRAMED 0x01 |
#define | BT_ISO_MAX_GROUP_ISO_COUNT 0x1F |
#define | BT_ISO_MAX_SDU 0x0FFF |
#define | BT_ISO_SYNC_TIMEOUT_MIN 0x000A |
#define | BT_ISO_SYNC_TIMEOUT_MAX 0x4000 |
#define | BT_ISO_SYNC_MSE_ANY 0x00 |
#define | BT_ISO_SYNC_MSE_MIN 0x01 |
#define | BT_ISO_SYNC_MSE_MAX 0x1F |
#define | BT_ISO_CONNECTED_RTN_MAX 0xFF |
#define | BT_ISO_BROADCAST_RTN_MAX 0x1E |
#define | BT_ISO_BROADCAST_CODE_SIZE 16 |
Enumerations | |
enum | { BT_ISO_DISCONNECTED , BT_ISO_CONNECT , BT_ISO_CONNECTED , BT_ISO_DISCONNECT } |
Life-span states of ISO channel. Used only by internal APIs dealing with setting channel to proper state depending on operational context. More... | |
enum | { BT_ISO_FLAGS_VALID , BT_ISO_FLAGS_ERROR , BT_ISO_FLAGS_LOST } |
Functions | |
int | bt_iso_server_register (struct bt_iso_server *server) |
Register ISO server. More... | |
int | bt_iso_cig_create (const struct bt_iso_cig_create_param *param, struct bt_iso_cig **out_cig) |
Creates a CIG as a central. More... | |
int | bt_iso_cig_terminate (struct bt_iso_cig *cig) |
Terminates a CIG as a central. More... | |
int | bt_iso_chan_connect (const struct bt_iso_connect_param *param, size_t count) |
Connect ISO channels on ACL connections. More... | |
int | bt_iso_chan_disconnect (struct bt_iso_chan *chan) |
Disconnect ISO channel. More... | |
int | bt_iso_chan_send (struct bt_iso_chan *chan, struct net_buf *buf) |
Send data to ISO channel. More... | |
int | bt_iso_big_create (struct bt_le_ext_adv *padv, struct bt_iso_big_create_param *param, struct bt_iso_big **out_big) |
Creates a BIG as a broadcaster. More... | |
int | bt_iso_big_terminate (struct bt_iso_big *big) |
Terminates a BIG as a broadcaster or receiver. More... | |
int | bt_iso_big_sync (struct bt_le_per_adv_sync *sync, struct bt_iso_big_sync_param *param, struct bt_iso_big **out_big) |
Creates a BIG as a receiver. More... | |
ISO.
#define BT_ISO_BROADCAST_CODE_SIZE 16 |
#include <include/bluetooth/iso.h>
Broadcast code size
#define BT_ISO_BROADCAST_RTN_MAX 0x1E |
#include <include/bluetooth/iso.h>
Maximum broadcast ISO retransmission value
#define BT_ISO_CHAN_SEND_RESERVE |
#include <include/bluetooth/iso.h>
Headroom needed for outgoing buffers.
#define BT_ISO_CONNECTED_RTN_MAX 0xFF |
#include <include/bluetooth/iso.h>
Maximum connected ISO retransmission value
#define BT_ISO_DATA_PATH_HCI 0x00 |
#include <include/bluetooth/iso.h>
Value to set the ISO data path over HCi.
#define BT_ISO_FRAMING_FRAMED 0x01 |
#include <include/bluetooth/iso.h>
Packets are always framed
#define BT_ISO_FRAMING_UNFRAMED 0x00 |
#include <include/bluetooth/iso.h>
Packets may be framed or unframed
#define BT_ISO_INTERVAL_MAX 0x0FFFFF |
#include <include/bluetooth/iso.h>
Maximum interval value in microseconds
#define BT_ISO_INTERVAL_MIN 0x0000FF |
#include <include/bluetooth/iso.h>
Minimum interval value in microseconds
#define BT_ISO_LATENCY_MAX 0x0FA0 |
#include <include/bluetooth/iso.h>
Maximum latency value in milliseconds
#define BT_ISO_LATENCY_MIN 0x0005 |
#include <include/bluetooth/iso.h>
Minimum latency value in milliseconds
#define BT_ISO_MAX_GROUP_ISO_COUNT 0x1F |
#include <include/bluetooth/iso.h>
Maximum number of isochronous channels in a single group
#define BT_ISO_MAX_SDU 0x0FFF |
#include <include/bluetooth/iso.h>
Maximum SDU size
#define BT_ISO_PACKING_INTERLEAVED 0x01 |
#include <include/bluetooth/iso.h>
Packets will be sent interleaved between the channels in the group
#define BT_ISO_PACKING_SEQUENTIAL 0x00 |
#include <include/bluetooth/iso.h>
Packets will be sent sequentially between the channels in the group
#define BT_ISO_SYNC_MSE_ANY 0x00 |
#include <include/bluetooth/iso.h>
Controller controlled maximum subevent count value
#define BT_ISO_SYNC_MSE_MAX 0x1F |
#include <include/bluetooth/iso.h>
Maximum BIG sync maximum subevent count value
#define BT_ISO_SYNC_MSE_MIN 0x01 |
#include <include/bluetooth/iso.h>
Minimum BIG sync maximum subevent count value
#define BT_ISO_SYNC_TIMEOUT_MAX 0x4000 |
#include <include/bluetooth/iso.h>
Maximum BIG sync timeout value (N * 10 ms)
#define BT_ISO_SYNC_TIMEOUT_MIN 0x000A |
#include <include/bluetooth/iso.h>
Minimum BIG sync timeout value (N * 10 ms)
anonymous enum |
#include <include/bluetooth/iso.h>
Life-span states of ISO channel. Used only by internal APIs dealing with setting channel to proper state depending on operational context.
anonymous enum |
#include <include/bluetooth/iso.h>
ISO packet status flags
int bt_iso_big_create | ( | struct bt_le_ext_adv * | padv, |
struct bt_iso_big_create_param * | param, | ||
struct bt_iso_big ** | out_big | ||
) |
#include <include/bluetooth/iso.h>
Creates a BIG as a broadcaster.
[in] | padv | Pointer to the periodic advertising object the BIGInfo shall be sent on. |
[in] | param | The parameters used to create and enable the BIG. The QOS parameters are determined by the QOS field of the first BIS in the BIS list of this parameter. |
[out] | out_big | Broadcast Isochronous Group object on success. |
int bt_iso_big_sync | ( | struct bt_le_per_adv_sync * | sync, |
struct bt_iso_big_sync_param * | param, | ||
struct bt_iso_big ** | out_big | ||
) |
#include <include/bluetooth/iso.h>
Creates a BIG as a receiver.
[in] | sync | Pointer to the periodic advertising sync object the BIGInfo was received on. |
[in] | param | The parameters used to create and enable the BIG sync. |
[out] | out_big | Broadcast Isochronous Group object on success. |
int bt_iso_big_terminate | ( | struct bt_iso_big * | big | ) |
#include <include/bluetooth/iso.h>
Terminates a BIG as a broadcaster or receiver.
big | Pointer to the BIG structure. |
int bt_iso_chan_connect | ( | const struct bt_iso_connect_param * | param, |
size_t | count | ||
) |
#include <include/bluetooth/iso.h>
Connect ISO channels on ACL connections.
Connect ISO channels. The ISO channels must have been initialized in a CIG first by calling bt_iso_cig_create.
Once the connection is completed the channels' connected() callback will be called. If the connection is rejected disconnected() callback is called instead.
This function will also setup the ISO data path based on the path
parameter of the bt_iso_chan_io_qos for each channel.
param | Pointer to a connect parameter array with the ISO and ACL pointers. |
count | Number of connect parameters. |
int bt_iso_chan_disconnect | ( | struct bt_iso_chan * | chan | ) |
#include <include/bluetooth/iso.h>
Disconnect ISO channel.
Disconnect ISO channel, if the connection is pending it will be canceled and as a result the channel disconnected() callback is called. Regarding to input parameter, to get details see reference description to bt_iso_chan_connect() API above.
chan | Channel object. |
int bt_iso_chan_send | ( | struct bt_iso_chan * | chan, |
struct net_buf * | buf | ||
) |
#include <include/bluetooth/iso.h>
Send data to ISO channel.
Send data from buffer to the channel. If credits are not available, buf will be queued and sent as and when credits are received from peer. Regarding to first input parameter, to get details see reference description to bt_iso_chan_connect() API above.
chan | Channel object. |
buf | Buffer containing data to be sent. |
int bt_iso_cig_create | ( | const struct bt_iso_cig_create_param * | param, |
struct bt_iso_cig ** | out_cig | ||
) |
#include <include/bluetooth/iso.h>
Creates a CIG as a central.
This can called at any time, even before connecting to a remote device. This must be called before any connected isochronous stream (CIS) channel can be connected.
Once a CIG is created, the channels supplied in the param
can be connected using bt_iso_chan_connect.
[in] | param | The parameters used to create and enable the CIG. |
[out] | out_cig | Connected Isochronous Group object on success. |
int bt_iso_cig_terminate | ( | struct bt_iso_cig * | cig | ) |
#include <include/bluetooth/iso.h>
Terminates a CIG as a central.
All the CIS in the CIG shall be disconnected first.
cig | Pointer to the CIG structure. |
int bt_iso_server_register | ( | struct bt_iso_server * | server | ) |
#include <include/bluetooth/iso.h>
Register ISO server.
Register ISO server, each new connection is authorized using the accept() callback which in case of success shall allocate the channel structure to be used by the new connection.
server | Server structure. |