Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
Bluetooth Audio Input Control Service APIs. More...
#include <stdint.h>
#include <stdbool.h>
#include <zephyr/autoconf.h>
#include <zephyr/bluetooth/bluetooth.h>
Go to the source code of this file.
Data Structures | |
struct | bt_aics_register_param |
Structure for initializing a Audio Input Control Service instance. More... | |
struct | bt_aics_discover_param |
Structure for discovering a Audio Input Control Service instance. More... | |
struct | bt_aics_cb |
Struct to hold callbacks for the Audio Input Control Service. More... | |
Macros | |
Audio Input Control Service mute states | |
#define | BT_AICS_STATE_UNMUTED 0x00 |
The mute state is unmuted. | |
#define | BT_AICS_STATE_MUTED 0x01 |
The mute state is muted. | |
#define | BT_AICS_STATE_MUTE_DISABLED 0x02 |
The mute state is disabled. | |
Audio Input Control Service input modes | |
#define | BT_AICS_MODE_MANUAL_ONLY 0x00 |
The gain mode is manual only and cannot be changed to automatic. | |
#define | BT_AICS_MODE_AUTO_ONLY 0x01 |
The gain mode is automatic only and cannot be changed to manual. | |
#define | BT_AICS_MODE_MANUAL 0x02 |
The gain mode is manual. | |
#define | BT_AICS_MODE_AUTO 0x03 |
The gain mode is automatic. | |
Audio Input Control Service input types | |
#define | BT_AICS_INPUT_TYPE_UNSPECIFIED 0x00 |
The input is unspecified. | |
#define | BT_AICS_INPUT_TYPE_BLUETOOTH 0x01 |
The input is a Bluetooth Audio Stream. | |
#define | BT_AICS_INPUT_TYPE_MICROPHONE 0x02 |
The input is a microphone. | |
#define | BT_AICS_INPUT_TYPE_ANALOG 0x03 |
The input is analog. | |
#define | BT_AICS_INPUT_TYPE_DIGITAL 0x04 |
The input is digital. | |
#define | BT_AICS_INPUT_TYPE_RADIO 0x05 |
The input is a radio (AM/FM/XM/etc.) | |
#define | BT_AICS_INPUT_TYPE_STREAMING 0x06 |
The input is a Streaming Audio Source. | |
#define | BT_AICS_INPUT_TYPE_AMBIENT 0x07 |
The input is transparent / pass-through. | |
Audio Input Control Service Error codes | |
#define | BT_AICS_ERR_INVALID_COUNTER 0x80 |
The Change_Counter operand value does not match the Change_Counter field value of the Audio Input State characteristic. | |
#define | BT_AICS_ERR_OP_NOT_SUPPORTED 0x81 |
An invalid opcode has been used in a control point procedure. | |
#define | BT_AICS_ERR_MUTE_DISABLED 0x82 |
Mute/unmute commands are disabled. | |
#define | BT_AICS_ERR_OUT_OF_RANGE 0x83 |
An operand value used in a control point procedure is outside the permissible range. | |
#define | BT_AICS_ERR_GAIN_MODE_NOT_ALLOWED 0x84 |
A requested gain mode change is not allowed. | |
Typedefs | |
typedef void(* | bt_aics_write_cb) (struct bt_aics *inst, int err) |
Callback function for writes. | |
typedef void(* | bt_aics_state_cb) (struct bt_aics *inst, int err, int8_t gain, uint8_t mute, uint8_t mode) |
Callback function for the input state. | |
typedef void(* | bt_aics_gain_setting_cb) (struct bt_aics *inst, int err, uint8_t units, int8_t minimum, int8_t maximum) |
Callback function for the gain settings. | |
typedef void(* | bt_aics_type_cb) (struct bt_aics *inst, int err, uint8_t type) |
Callback function for the input type. | |
typedef void(* | bt_aics_status_cb) (struct bt_aics *inst, int err, bool active) |
Callback function for the input status. | |
typedef void(* | bt_aics_description_cb) (struct bt_aics *inst, int err, char *description) |
Callback function for the description. | |
typedef void(* | bt_aics_discover_cb) (struct bt_aics *inst, int err) |
Callback function for bt_aics_discover. | |
Functions | |
struct bt_aics * | bt_aics_free_instance_get (void) |
Get a free instance of Audio Input Control Service from the pool. | |
void * | bt_aics_svc_decl_get (struct bt_aics *aics) |
Get the service declaration attribute. | |
int | bt_aics_client_conn_get (const struct bt_aics *aics, struct bt_conn **conn) |
Get the connection pointer of a client instance. | |
int | bt_aics_register (struct bt_aics *aics, struct bt_aics_register_param *param) |
Initialize the Audio Input Control Service instance. | |
int | bt_aics_discover (struct bt_conn *conn, struct bt_aics *inst, const struct bt_aics_discover_param *param) |
Discover a Audio Input Control Service. | |
int | bt_aics_deactivate (struct bt_aics *inst) |
Deactivates a Audio Input Control Service instance. | |
int | bt_aics_activate (struct bt_aics *inst) |
Activates a Audio Input Control Service instance. | |
int | bt_aics_state_get (struct bt_aics *inst) |
Read the Audio Input Control Service input state. | |
int | bt_aics_gain_setting_get (struct bt_aics *inst) |
Read the Audio Input Control Service gain settings. | |
int | bt_aics_type_get (struct bt_aics *inst) |
Read the Audio Input Control Service input type. | |
int | bt_aics_status_get (struct bt_aics *inst) |
Read the Audio Input Control Service input status. | |
int | bt_aics_disable_mute (struct bt_aics *inst) |
Disable mute in the Audio Input Control Service. | |
int | bt_aics_unmute (struct bt_aics *inst) |
Unmute the Audio Input Control Service input. | |
int | bt_aics_mute (struct bt_aics *inst) |
Mute the Audio Input Control Service input. | |
int | bt_aics_gain_set_manual_only (struct bt_aics *inst) |
Set manual only gain mode in Audio Input Control Service. | |
int | bt_aics_gain_set_auto_only (struct bt_aics *inst) |
Set automatic only gain mode in Audio Input Control Service. | |
int | bt_aics_manual_gain_set (struct bt_aics *inst) |
Set input gain to manual. | |
int | bt_aics_automatic_gain_set (struct bt_aics *inst) |
Set the input gain to automatic. | |
int | bt_aics_gain_set (struct bt_aics *inst, int8_t gain) |
Set the input gain. | |
int | bt_aics_description_get (struct bt_aics *inst) |
Read the Audio Input Control Service description. | |
int | bt_aics_description_set (struct bt_aics *inst, const char *description) |
Set the Audio Input Control Service description. | |
struct bt_aics * | bt_aics_client_free_instance_get (void) |
Get a new Audio Input Control Service client instance. | |
void | bt_aics_client_cb_register (struct bt_aics *inst, struct bt_aics_cb *cb) |
Registers the callbacks for the Audio Input Control Service client. | |
Bluetooth Audio Input Control Service APIs.