Zephyr Project API  3.4.0
A Scalable Open Source RTOS
micp.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2020-2022 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_BLUETOOTH_MICP_H_
8#define ZEPHYR_INCLUDE_BLUETOOTH_MICP_H_
9
22#include <stdint.h>
23
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
30#if defined(CONFIG_BT_MICP_MIC_DEV)
31#define BT_MICP_MIC_DEV_AICS_CNT CONFIG_BT_MICP_MIC_DEV_AICS_INSTANCE_COUNT
32#else
33#define BT_MICP_MIC_DEV_AICS_CNT 0
34#endif /* CONFIG_BT_MICP_MIC_DEV */
35
37#define BT_MICP_ERR_MUTE_DISABLED 0x80
38#define BT_MICP_ERR_VAL_OUT_OF_RANGE 0x81
39
41#define BT_MICP_MUTE_UNMUTED 0x00
42#define BT_MICP_MUTE_MUTED 0x01
43#define BT_MICP_MUTE_DISABLED 0x02
44
46struct bt_micp_mic_ctlr;
47
50#if defined(CONFIG_BT_MICP_MIC_DEV_AICS)
53#endif /* CONFIG_BT_MICP_MIC_DEV_AICS */
54
57};
58
71 struct bt_aics **aics;
72};
73
85
99
110 void (*mute)(uint8_t mute);
111};
112
119
126
135
142
156 void (*mute)(struct bt_micp_mic_ctlr *mic_ctlr, int err, uint8_t mute);
157
166 void (*discover)(struct bt_micp_mic_ctlr *mic_ctlr, int err,
167 uint8_t aics_count);
168
175 void (*mute_written)(struct bt_micp_mic_ctlr *mic_ctlr, int err);
176
183 void (*unmute_written)(struct bt_micp_mic_ctlr *mic_ctlr, int err);
184
185#if defined(CONFIG_BT_MICP_MIC_CTLR_AICS)
187 struct bt_aics_cb aics_cb;
188#endif /* CONFIG_BT_MICP_MIC_CTLR_AICS */
189};
190
205int bt_micp_mic_ctlr_included_get(struct bt_micp_mic_ctlr *mic_ctlr,
206 struct bt_micp_included *included);
207
218int bt_micp_mic_ctlr_conn_get(const struct bt_micp_mic_ctlr *mic_ctlr,
219 struct bt_conn **conn);
220
234int bt_micp_mic_ctlr_discover(struct bt_conn *conn,
235 struct bt_micp_mic_ctlr **mic_ctlr);
236
244int bt_micp_mic_ctlr_unmute(struct bt_micp_mic_ctlr *mic_ctlr);
245
253int bt_micp_mic_ctlr_mute(struct bt_micp_mic_ctlr *mic_ctlr);
254
262int bt_micp_mic_ctlr_mute_get(struct bt_micp_mic_ctlr *mic_ctlr);
263
274#ifdef __cplusplus
275}
276#endif
277
282#endif /* ZEPHYR_INCLUDE_BLUETOOTH_MICP_H_ */
int bt_micp_mic_dev_included_get(struct bt_micp_included *included)
Get Microphone Device included services.
int bt_micp_mic_ctlr_cb_register(struct bt_micp_mic_ctlr_cb *cb)
Registers the callbacks used by Microphone Controller.
int bt_micp_mic_dev_unmute(void)
Unmute the Microphone Device.
int bt_micp_mic_ctlr_included_get(struct bt_micp_mic_ctlr *mic_ctlr, struct bt_micp_included *included)
Get Microphone Control Profile included services.
int bt_micp_mic_ctlr_discover(struct bt_conn *conn, struct bt_micp_mic_ctlr **mic_ctlr)
Discover Microphone Control Service.
int bt_micp_mic_dev_mute_get(void)
Read the mute state on the Microphone Device.
int bt_micp_mic_ctlr_mute(struct bt_micp_mic_ctlr *mic_ctlr)
Mute a remote Microphone Device.
#define BT_MICP_MIC_DEV_AICS_CNT
Definition: micp.h:33
int bt_micp_mic_dev_mute(void)
Mute the Microphone Device.
int bt_micp_mic_ctlr_conn_get(const struct bt_micp_mic_ctlr *mic_ctlr, struct bt_conn **conn)
Get the connection pointer of a Microphone Controller instance.
int bt_micp_mic_ctlr_mute_get(struct bt_micp_mic_ctlr *mic_ctlr)
Read the mute state of a remote Microphone Device.
int bt_micp_mic_dev_mute_disable(void)
Disable the mute functionality on the Microphone Device.
int bt_micp_mic_dev_register(struct bt_micp_mic_dev_register_param *param)
Initialize the Microphone Control Profile Microphone Device.
int bt_micp_mic_ctlr_unmute(struct bt_micp_mic_ctlr *mic_ctlr)
Unmute a remote Microphone Device.
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
Definition: aics.h:254
Structure for initializing a Audio Input Control Service instance.
Definition: aics.h:66
Microphone Control Profile included services.
Definition: micp.h:67
struct bt_aics ** aics
Definition: micp.h:71
uint8_t aics_cnt
Definition: micp.h:69
Definition: micp.h:143
void(* unmute_written)(struct bt_micp_mic_ctlr *mic_ctlr, int err)
Callback function for Microphone Control Profile mute/unmute.
Definition: micp.h:183
void(* mute)(struct bt_micp_mic_ctlr *mic_ctlr, int err, uint8_t mute)
Callback function for Microphone Control Profile mute.
Definition: micp.h:156
void(* discover)(struct bt_micp_mic_ctlr *mic_ctlr, int err, uint8_t aics_count)
Callback function for bt_micp_mic_ctlr_discover().
Definition: micp.h:166
void(* mute_written)(struct bt_micp_mic_ctlr *mic_ctlr, int err)
Callback function for Microphone Control Profile mute/unmute.
Definition: micp.h:175
Definition: micp.h:100
void(* mute)(uint8_t mute)
Callback function for Microphone Device mute.
Definition: micp.h:110
Register parameters structure for Microphone Control Service.
Definition: micp.h:49
struct bt_micp_mic_dev_cb * cb
Definition: micp.h:56