Zephyr API Documentation  3.7.0-rc1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
aics.h File Reference
#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
 

Macros

#define BT_AICS_STATE_UNMUTED   0x00
 Audio Input Control Service mute states.
 
#define BT_AICS_STATE_MUTED   0x01
 
#define BT_AICS_STATE_MUTE_DISABLED   0x02
 
#define BT_AICS_MODE_MANUAL_ONLY   0x00
 Audio Input Control Service input modes.
 
#define BT_AICS_MODE_AUTO_ONLY   0x01
 
#define BT_AICS_MODE_MANUAL   0x02
 
#define BT_AICS_MODE_AUTO   0x03
 
#define BT_AICS_INPUT_TYPE_UNSPECIFIED   0x00
 Audio Input Control Service input types.
 
#define BT_AICS_INPUT_TYPE_BLUETOOTH   0x01
 
#define BT_AICS_INPUT_TYPE_MICROPHONE   0x02
 
#define BT_AICS_INPUT_TYPE_ANALOG   0x03
 
#define BT_AICS_INPUT_TYPE_DIGITAL   0x04
 
#define BT_AICS_INPUT_TYPE_RADIO   0x05
 
#define BT_AICS_INPUT_TYPE_STREAMING   0x06
 
#define BT_AICS_ERR_INVALID_COUNTER   0x80
 Audio Input Control Service Error codes.
 
#define BT_AICS_ERR_OP_NOT_SUPPORTED   0x81
 
#define BT_AICS_ERR_MUTE_DISABLED   0x82
 
#define BT_AICS_ERR_OUT_OF_RANGE   0x83
 
#define BT_AICS_ERR_GAIN_MODE_NOT_ALLOWED   0x84
 

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.