Zephyr API Documentation  3.5.0
A Scalable Open Source RTOS
3.5.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
aics.h File Reference

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.