Bluetooth: Audio: Remove the bt_vcp_aics API
The AICS functionality can be exercised using the bt_aics API instead. These functions did very little besides cluttering up the bt_vcp API. Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
This commit is contained in:
parent
ce2b8f9fe1
commit
bfbb704c8e
8 changed files with 46 additions and 482 deletions
|
@ -44,23 +44,6 @@ static bool valid_vocs_inst(struct bt_vcp *vcp, struct bt_vocs *vocs)
|
|||
return false;
|
||||
}
|
||||
|
||||
static bool valid_aics_inst(struct bt_vcp *vcp, struct bt_aics *aics)
|
||||
{
|
||||
if (aics == NULL) {
|
||||
return false;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_BT_VCP)
|
||||
for (int i = 0; i < ARRAY_SIZE(vcp->srv.aics_insts); i++) {
|
||||
if (vcp->srv.aics_insts[i] == aics) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
#endif /* CONFIG_BT_VCP */
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_BT_VCP)
|
||||
|
||||
#define VOLUME_DOWN(current_vol) \
|
||||
|
@ -417,45 +400,6 @@ int bt_vcp_register(struct bt_vcp_register_param *param, struct bt_vcp **vcp)
|
|||
|
||||
return err;
|
||||
}
|
||||
|
||||
int bt_vcp_aics_deactivate(struct bt_vcp *vcp, struct bt_aics *inst)
|
||||
{
|
||||
CHECKIF(vcp == NULL) {
|
||||
LOG_DBG("NULL vcp instance");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
CHECKIF(inst == NULL) {
|
||||
LOG_DBG("NULL aics instance");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!valid_aics_inst(vcp, inst)) {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return bt_aics_deactivate(inst);
|
||||
}
|
||||
|
||||
int bt_vcp_aics_activate(struct bt_vcp *vcp, struct bt_aics *inst)
|
||||
{
|
||||
CHECKIF(vcp == NULL) {
|
||||
LOG_DBG("NULL vcp instance");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
CHECKIF(inst == NULL) {
|
||||
LOG_DBG("NULL aics instance");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!valid_aics_inst(vcp, inst)) {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return bt_aics_activate(inst);
|
||||
}
|
||||
|
||||
#endif /* CONFIG_BT_VCP */
|
||||
|
||||
int bt_vcp_included_get(struct bt_vcp *vcp, struct bt_vcp_included *included)
|
||||
|
@ -833,214 +777,3 @@ int bt_vcp_vocs_description_set(struct bt_vcp *vcp, struct bt_vocs *inst,
|
|||
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
int bt_vcp_aics_state_get(struct bt_vcp *vcp, struct bt_aics *inst)
|
||||
{
|
||||
CHECKIF(vcp == NULL) {
|
||||
LOG_DBG("NULL vcp instance");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_VCP_CLIENT_AICS) &&
|
||||
bt_vcp_client_valid_aics_inst(vcp, inst)) {
|
||||
return bt_aics_state_get(inst);
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_VCP_AICS) && valid_aics_inst(vcp, inst)) {
|
||||
return bt_aics_state_get(inst);
|
||||
}
|
||||
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
int bt_vcp_aics_gain_setting_get(struct bt_vcp *vcp, struct bt_aics *inst)
|
||||
{
|
||||
CHECKIF(vcp == NULL) {
|
||||
LOG_DBG("NULL vcp instance");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_VCP_CLIENT_AICS) &&
|
||||
bt_vcp_client_valid_aics_inst(vcp, inst)) {
|
||||
return bt_aics_gain_setting_get(inst);
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_VCP_AICS) && valid_aics_inst(vcp, inst)) {
|
||||
return bt_aics_gain_setting_get(inst);
|
||||
}
|
||||
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
int bt_vcp_aics_type_get(struct bt_vcp *vcp, struct bt_aics *inst)
|
||||
{
|
||||
CHECKIF(vcp == NULL) {
|
||||
LOG_DBG("NULL vcp instance");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_VCP_CLIENT_AICS) &&
|
||||
bt_vcp_client_valid_aics_inst(vcp, inst)) {
|
||||
return bt_aics_type_get(inst);
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_VCP_AICS) && valid_aics_inst(vcp, inst)) {
|
||||
return bt_aics_type_get(inst);
|
||||
}
|
||||
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
int bt_vcp_aics_status_get(struct bt_vcp *vcp, struct bt_aics *inst)
|
||||
{
|
||||
CHECKIF(vcp == NULL) {
|
||||
LOG_DBG("NULL vcp instance");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_VCP_CLIENT_AICS) &&
|
||||
bt_vcp_client_valid_aics_inst(vcp, inst)) {
|
||||
return bt_aics_status_get(inst);
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_VCP_AICS) && valid_aics_inst(vcp, inst)) {
|
||||
return bt_aics_status_get(inst);
|
||||
}
|
||||
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
int bt_vcp_aics_unmute(struct bt_vcp *vcp, struct bt_aics *inst)
|
||||
{
|
||||
CHECKIF(vcp == NULL) {
|
||||
LOG_DBG("NULL vcp instance");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_VCP_CLIENT_AICS) &&
|
||||
bt_vcp_client_valid_aics_inst(vcp, inst)) {
|
||||
return bt_aics_unmute(inst);
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_VCP_AICS) && valid_aics_inst(vcp, inst)) {
|
||||
return bt_aics_unmute(inst);
|
||||
}
|
||||
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
int bt_vcp_aics_mute(struct bt_vcp *vcp, struct bt_aics *inst)
|
||||
{
|
||||
CHECKIF(vcp == NULL) {
|
||||
LOG_DBG("NULL vcp instance");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_VCP_CLIENT_AICS) &&
|
||||
bt_vcp_client_valid_aics_inst(vcp, inst)) {
|
||||
return bt_aics_mute(inst);
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_VCP_AICS) && valid_aics_inst(vcp, inst)) {
|
||||
return bt_aics_mute(inst);
|
||||
}
|
||||
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
int bt_vcp_aics_manual_gain_set(struct bt_vcp *vcp, struct bt_aics *inst)
|
||||
{
|
||||
CHECKIF(vcp == NULL) {
|
||||
LOG_DBG("NULL vcp instance");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_VCP_CLIENT_AICS) &&
|
||||
bt_vcp_client_valid_aics_inst(vcp, inst)) {
|
||||
return bt_aics_manual_gain_set(inst);
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_VCP_AICS) && valid_aics_inst(vcp, inst)) {
|
||||
return bt_aics_manual_gain_set(inst);
|
||||
}
|
||||
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
int bt_vcp_aics_automatic_gain_set(struct bt_vcp *vcp, struct bt_aics *inst)
|
||||
{
|
||||
CHECKIF(vcp == NULL) {
|
||||
LOG_DBG("NULL vcp instance");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_VCP_CLIENT_AICS) &&
|
||||
bt_vcp_client_valid_aics_inst(vcp, inst)) {
|
||||
return bt_aics_automatic_gain_set(inst);
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_VCP_AICS) && valid_aics_inst(vcp, inst)) {
|
||||
return bt_aics_automatic_gain_set(inst);
|
||||
}
|
||||
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
int bt_vcp_aics_gain_set(struct bt_vcp *vcp, struct bt_aics *inst,
|
||||
int8_t gain)
|
||||
{
|
||||
CHECKIF(vcp == NULL) {
|
||||
LOG_DBG("NULL vcp instance");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_VCP_CLIENT_AICS) &&
|
||||
bt_vcp_client_valid_aics_inst(vcp, inst)) {
|
||||
return bt_aics_gain_set(inst, gain);
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_VCP_AICS) && valid_aics_inst(vcp, inst)) {
|
||||
return bt_aics_gain_set(inst, gain);
|
||||
}
|
||||
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
int bt_vcp_aics_description_get(struct bt_vcp *vcp, struct bt_aics *inst)
|
||||
{
|
||||
CHECKIF(vcp == NULL) {
|
||||
LOG_DBG("NULL vcp instance");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_VCP_CLIENT_AICS) &&
|
||||
bt_vcp_client_valid_aics_inst(vcp, inst)) {
|
||||
return bt_aics_description_get(inst);
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_VCP_AICS) && valid_aics_inst(vcp, inst)) {
|
||||
return bt_aics_description_get(inst);
|
||||
}
|
||||
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
int bt_vcp_aics_description_set(struct bt_vcp *vcp, struct bt_aics *inst,
|
||||
const char *description)
|
||||
{
|
||||
CHECKIF(vcp == NULL) {
|
||||
LOG_DBG("NULL vcp instance");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_VCP_CLIENT_AICS) &&
|
||||
bt_vcp_client_valid_aics_inst(vcp, inst)) {
|
||||
return bt_aics_description_set(inst, description);
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_VCP_AICS) && valid_aics_inst(vcp, inst)) {
|
||||
return bt_aics_description_set(inst, description);
|
||||
}
|
||||
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
|
|
@ -61,33 +61,6 @@ bool bt_vcp_client_valid_vocs_inst(struct bt_vcp *vcp, struct bt_vocs *vocs)
|
|||
return false;
|
||||
}
|
||||
|
||||
bool bt_vcp_client_valid_aics_inst(struct bt_vcp *vcp, struct bt_aics *aics)
|
||||
{
|
||||
if (vcp == NULL) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!vcp->client_instance) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (vcp->cli.conn == NULL) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (aics == NULL) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (int i = 0; i < ARRAY_SIZE(vcp->cli.aics); i++) {
|
||||
if (vcp->cli.aics[i] == aics) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
static uint8_t vcp_client_notify_handler(struct bt_conn *conn,
|
||||
struct bt_gatt_subscribe_params *params,
|
||||
const void *data, uint16_t length)
|
||||
|
|
|
@ -106,5 +106,4 @@ int bt_vcp_client_unmute(struct bt_vcp *vcp);
|
|||
int bt_vcp_client_mute(struct bt_vcp *vcp);
|
||||
|
||||
bool bt_vcp_client_valid_vocs_inst(struct bt_vcp *vcp, struct bt_vocs *vocs);
|
||||
bool bt_vcp_client_valid_aics_inst(struct bt_vcp *vcp, struct bt_aics *aics);
|
||||
#endif /* ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_VCP_INTERNAL_*/
|
||||
|
|
|
@ -529,7 +529,7 @@ static int cmd_vcs_aics_input_state_get(const struct shell *sh, size_t argc,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
result = bt_vcp_aics_state_get(NULL, vcp_included.aics[index]);
|
||||
result = bt_aics_state_get(vcp_included.aics[index]);
|
||||
if (result) {
|
||||
shell_print(sh, "Fail: %d", result);
|
||||
}
|
||||
|
@ -549,7 +549,7 @@ static int cmd_vcs_aics_gain_setting_get(const struct shell *sh, size_t argc,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
result = bt_vcp_aics_gain_setting_get(NULL, vcp_included.aics[index]);
|
||||
result = bt_aics_gain_setting_get(vcp_included.aics[index]);
|
||||
if (result) {
|
||||
shell_print(sh, "Fail: %d", result);
|
||||
}
|
||||
|
@ -569,7 +569,7 @@ static int cmd_vcs_aics_input_type_get(const struct shell *sh, size_t argc,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
result = bt_vcp_aics_type_get(NULL, vcp_included.aics[index]);
|
||||
result = bt_aics_type_get(vcp_included.aics[index]);
|
||||
if (result) {
|
||||
shell_print(sh, "Fail: %d", result);
|
||||
}
|
||||
|
@ -589,7 +589,7 @@ static int cmd_vcs_aics_input_status_get(const struct shell *sh, size_t argc,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
result = bt_vcp_aics_status_get(NULL, vcp_included.aics[index]);
|
||||
result = bt_aics_status_get(vcp_included.aics[index]);
|
||||
if (result) {
|
||||
shell_print(sh, "Fail: %d", result);
|
||||
}
|
||||
|
@ -609,7 +609,7 @@ static int cmd_vcs_aics_input_unmute(const struct shell *sh, size_t argc,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
result = bt_vcp_aics_unmute(NULL, vcp_included.aics[index]);
|
||||
result = bt_aics_unmute(vcp_included.aics[index]);
|
||||
if (result) {
|
||||
shell_print(sh, "Fail: %d", result);
|
||||
}
|
||||
|
@ -629,7 +629,7 @@ static int cmd_vcs_aics_input_mute(const struct shell *sh, size_t argc,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
result = bt_vcp_aics_mute(NULL, vcp_included.aics[index]);
|
||||
result = bt_aics_mute(vcp_included.aics[index]);
|
||||
if (result) {
|
||||
shell_print(sh, "Fail: %d", result);
|
||||
}
|
||||
|
@ -649,7 +649,7 @@ static int cmd_vcs_aics_manual_input_gain_set(const struct shell *sh,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
result = bt_vcp_aics_manual_gain_set(NULL, vcp_included.aics[index]);
|
||||
result = bt_aics_manual_gain_set(vcp_included.aics[index]);
|
||||
if (result) {
|
||||
shell_print(sh, "Fail: %d", result);
|
||||
}
|
||||
|
@ -669,7 +669,7 @@ static int cmd_vcs_aics_automatic_input_gain_set(const struct shell *sh,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
result = bt_vcp_aics_automatic_gain_set(NULL, vcp_included.aics[index]);
|
||||
result = bt_aics_automatic_gain_set(vcp_included.aics[index]);
|
||||
if (result) {
|
||||
shell_print(sh, "Fail: %d", result);
|
||||
}
|
||||
|
@ -696,7 +696,7 @@ static int cmd_vcs_aics_gain_set(const struct shell *sh, size_t argc,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
result = bt_vcp_aics_gain_set(NULL, vcp_included.aics[index], gain);
|
||||
result = bt_aics_gain_set(vcp_included.aics[index], gain);
|
||||
if (result) {
|
||||
shell_print(sh, "Fail: %d", result);
|
||||
}
|
||||
|
@ -716,7 +716,7 @@ static int cmd_vcs_aics_input_description_get(const struct shell *sh,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
result = bt_vcp_aics_description_get(NULL, vcp_included.aics[index]);
|
||||
result = bt_aics_description_get(vcp_included.aics[index]);
|
||||
if (result) {
|
||||
shell_print(sh, "Fail: %d", result);
|
||||
}
|
||||
|
@ -737,7 +737,7 @@ static int cmd_vcs_aics_input_description_set(const struct shell *sh,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
result = bt_vcp_aics_description_set(NULL, vcp_included.aics[index],
|
||||
result = bt_aics_description_set(vcp_included.aics[index],
|
||||
description);
|
||||
if (result) {
|
||||
shell_print(sh, "Fail: %d", result);
|
||||
|
|
|
@ -706,7 +706,7 @@ static int cmd_vcp_client_aics_input_state_get(const struct shell *sh,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
result = bt_vcp_aics_state_get(vcp, vcp_included.aics[index]);
|
||||
result = bt_aics_state_get(vcp_included.aics[index]);
|
||||
if (result != 0) {
|
||||
shell_print(sh, "Fail: %d", result);
|
||||
}
|
||||
|
@ -731,7 +731,7 @@ static int cmd_vcp_client_aics_gain_setting_get(const struct shell *sh,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
result = bt_vcp_aics_gain_setting_get(vcp, vcp_included.aics[index]);
|
||||
result = bt_aics_gain_setting_get(vcp_included.aics[index]);
|
||||
if (result != 0) {
|
||||
shell_print(sh, "Fail: %d", result);
|
||||
}
|
||||
|
@ -756,7 +756,7 @@ static int cmd_vcp_client_aics_input_type_get(const struct shell *sh,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
result = bt_vcp_aics_type_get(vcp, vcp_included.aics[index]);
|
||||
result = bt_aics_type_get(vcp_included.aics[index]);
|
||||
if (result != 0) {
|
||||
shell_print(sh, "Fail: %d", result);
|
||||
}
|
||||
|
@ -781,7 +781,7 @@ static int cmd_vcp_client_aics_input_status_get(const struct shell *sh,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
result = bt_vcp_aics_status_get(vcp, vcp_included.aics[index]);
|
||||
result = bt_aics_status_get(vcp_included.aics[index]);
|
||||
if (result != 0) {
|
||||
shell_print(sh, "Fail: %d", result);
|
||||
}
|
||||
|
@ -806,7 +806,7 @@ static int cmd_vcp_client_aics_input_unmute(const struct shell *sh,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
result = bt_vcp_aics_unmute(vcp, vcp_included.aics[index]);
|
||||
result = bt_aics_unmute(vcp_included.aics[index]);
|
||||
if (result != 0) {
|
||||
shell_print(sh, "Fail: %d", result);
|
||||
}
|
||||
|
@ -831,7 +831,7 @@ static int cmd_vcp_client_aics_input_mute(const struct shell *sh,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
result = bt_vcp_aics_mute(vcp, vcp_included.aics[index]);
|
||||
result = bt_aics_mute(vcp_included.aics[index]);
|
||||
if (result != 0) {
|
||||
shell_print(sh, "Fail: %d", result);
|
||||
}
|
||||
|
@ -856,7 +856,7 @@ static int cmd_vcp_client_aics_manual_input_gain_set(const struct shell *sh,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
result = bt_vcp_aics_manual_gain_set(vcp, vcp_included.aics[index]);
|
||||
result = bt_aics_manual_gain_set(vcp_included.aics[index]);
|
||||
if (result != 0) {
|
||||
shell_print(sh, "Fail: %d", result);
|
||||
}
|
||||
|
@ -881,7 +881,7 @@ static int cmd_vcp_client_aics_auto_input_gain_set(const struct shell *sh,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
result = bt_vcp_aics_automatic_gain_set(vcp, vcp_included.aics[index]);
|
||||
result = bt_aics_automatic_gain_set(vcp_included.aics[index]);
|
||||
if (result != 0) {
|
||||
shell_print(sh, "Fail: %d", result);
|
||||
}
|
||||
|
@ -913,7 +913,7 @@ static int cmd_vcp_client_aics_gain_set(const struct shell *sh, size_t argc,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
result = bt_vcp_aics_gain_set(vcp, vcp_included.aics[index], gain);
|
||||
result = bt_aics_gain_set(vcp_included.aics[index], gain);
|
||||
if (result != 0) {
|
||||
shell_print(sh, "Fail: %d", result);
|
||||
}
|
||||
|
@ -938,7 +938,7 @@ static int cmd_vcp_client_aics_input_description_get(const struct shell *sh,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
result = bt_vcp_aics_description_get(vcp, vcp_included.aics[index]);
|
||||
result = bt_aics_description_get(vcp_included.aics[index]);
|
||||
if (result != 0) {
|
||||
shell_print(sh, "Fail: %d", result);
|
||||
}
|
||||
|
@ -964,7 +964,7 @@ static int cmd_vcp_client_aics_input_description_set(const struct shell *sh,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
result = bt_vcp_aics_description_set(vcp, vcp_included.aics[index],
|
||||
result = bt_aics_description_set(vcp_included.aics[index],
|
||||
description);
|
||||
if (result != 0) {
|
||||
shell_print(sh, "Fail: %d", result);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue