# Increased stack due to settings API usage
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048

# Needed for devices with many PAC records
CONFIG_BT_RX_STACK_SIZE=4096

CONFIG_TEST=y
CONFIG_TEST_LOGGING_DEFAULTS=n
CONFIG_BT=y
CONFIG_BT_DEBUG_LOG=y
CONFIG_BT_TESTING=y
CONFIG_BT_CENTRAL=y
CONFIG_BT_PERIPHERAL=y
CONFIG_BT_PRIVACY=y
CONFIG_BT_SIGNING=y
CONFIG_BT_FIXED_PASSKEY=y
CONFIG_BT_ATT_PREPARE_COUNT=2
CONFIG_BT_SHELL=y
CONFIG_BT_DEVICE_NAME="audio test shell"
CONFIG_BT_DEVICE_NAME_DYNAMIC=y
# MCS requires additional buffers
CONFIG_BT_L2CAP_TX_BUF_COUNT=10
CONFIG_BT_ID_MAX=2
CONFIG_BT_HRS=y
CONFIG_BT_FILTER_ACCEPT_LIST=y
CONFIG_BT_REMOTE_INFO=y
CONFIG_BT_REMOTE_VERSION=y

CONFIG_BT_SETTINGS=y
CONFIG_FLASH=y
CONFIG_FLASH_MAP=y
CONFIG_NVS=y
CONFIG_SETTINGS=y

CONFIG_BT_USER_DATA_LEN_UPDATE=y
CONFIG_BT_AUTO_DATA_LEN_UPDATE=y

CONFIG_BT_USER_PHY_UPDATE=y
CONFIG_BT_AUTO_PHY_UPDATE=y

CONFIG_BT_PER_ADV_SYNC_TRANSFER_RECEIVER=y
CONFIG_BT_PER_ADV_SYNC_TRANSFER_SENDER=y

CONFIG_BT_AUDIO=y
CONFIG_BT_AUDIO_UNICAST_SERVER=y
CONFIG_BT_ASCS_ASE_SNK_COUNT=2
CONFIG_BT_ASCS_ASE_SRC_COUNT=2
# Support an ISO channel per ASE
CONFIG_BT_ISO_MAX_CHAN=8
CONFIG_BT_ISO_TX_BUF_COUNT=10
CONFIG_BT_ISO_RX_BUF_COUNT=10
CONFIG_BT_AUDIO_UNICAST_CLIENT_ASE_SNK_COUNT=2
CONFIG_BT_AUDIO_UNICAST_CLIENT_ASE_SRC_COUNT=2
CONFIG_BT_ASCS_ASE_SNK_COUNT=2
CONFIG_BT_ASCS_ASE_SRC_COUNT=2
CONFIG_BT_CODEC_MAX_METADATA_COUNT=10
CONFIG_BT_CODEC_MAX_DATA_LEN=40
CONFIG_BT_AUDIO_UNICAST_CLIENT_PAC_COUNT=20
CONFIG_BT_CODEC_MAX_DATA_COUNT=10
CONFIG_BT_CODEC_MAX_DATA_LEN=40
CONFIG_BT_AUDIO_UNICAST_CLIENT=y
CONFIG_BT_AUDIO_BROADCAST_SOURCE=y
CONFIG_BT_AUDIO_BROADCAST_SRC_STREAM_COUNT=4
CONFIG_BT_AUDIO_BROADCAST_SINK=y
CONFIG_BT_AUDIO_BROADCAST_SNK_STREAM_COUNT=4
CONFIG_BT_ISO_TX_BUF_COUNT=5
CONFIG_BT_VOCS_MAX_INSTANCE_COUNT=1
CONFIG_BT_VOCS_CLIENT_MAX_INSTANCE_COUNT=1

CONFIG_BT_AICS_MAX_INSTANCE_COUNT=2
CONFIG_BT_AICS_CLIENT_MAX_INSTANCE_COUNT=2

CONFIG_BT_VCS=y
CONFIG_BT_VCS_VOCS_INSTANCE_COUNT=1
CONFIG_BT_VCS_AICS_INSTANCE_COUNT=1
CONFIG_BT_VCS_CLIENT=y
CONFIG_BT_VCS_CLIENT_MAX_VOCS_INST=1
CONFIG_BT_VCS_CLIENT_MAX_AICS_INST=1

CONFIG_BT_MICP_MIC_DEV=y
CONFIG_BT_MICP_MIC_DEV_AICS_INSTANCE_COUNT=1
CONFIG_BT_MICP_MIC_CTLR=y
CONFIG_BT_MICP_MIC_CTLR_MAX_AICS_INST=1

# Coordinated Set Identification
CONFIG_BT_CSIP=y
CONFIG_BT_CSIP_SET_COORDINATOR=y
CONFIG_BT_CSIP_SET_COORDINATOR_MAX_CSIS_INSTANCES=2

CONFIG_MCTL=y
CONFIG_MCTL_LOCAL_PLAYER_CONTROL=y
CONFIG_MCTL_LOCAL_PLAYER_LOCAL_CONTROL=y
CONFIG_MCTL_LOCAL_PLAYER_REMOTE_CONTROL=y
CONFIG_MCTL_REMOTE_PLAYER_CONTROL=y
CONFIG_MCTL_REMOTE_PLAYER_CONTROL_OBJECTS=y

CONFIG_BT_MPL=y
CONFIG_BT_MPL_OBJECTS=y
# TODO Check which value is sensible in the line below
# Must be larger than any of the object sizes - icon, track, group, segments, ...
CONFIG_BT_MPL_MAX_OBJ_SIZE=600
CONFIG_BT_MPL_ICON_BITMAP_SIZE=321
CONFIG_BT_MPL_TRACK_MAX_SIZE=50

# Telephone bearer service
CONFIG_BT_TBS=y
CONFIG_BT_TBS_CLIENT=y

CONFIG_BT_MCS=y
CONFIG_BT_MCC=y
CONFIG_BT_MCC_OTS=y
CONFIG_BT_MCC_TOTAL_OBJ_CONTENT_MEM=4096
CONFIG_UTF8=y

# Object Transfer
CONFIG_BT_OTS=y
CONFIG_BT_OTS_SECONDARY_SVC=y
CONFIG_BT_OTS_MAX_OBJ_CNT=50
CONFIG_BT_OTS_CLIENT=y

CONFIG_BT_BAP_SCAN_DELEGATOR=y
CONFIG_BT_BAP_BROADCAST_ASSISTANT=y

# IAS
CONFIG_BT_IAS=y
CONFIG_BT_IAS_CLIENT=y

CONFIG_BT_HAS=y
CONFIG_BT_HAS_HEARING_AID_MONAURAL=y
CONFIG_BT_HAS_PRESET_NAME_DYNAMIC=y
CONFIG_BT_HAS_PRESET_COUNT=4
CONFIG_BT_HAS_CLIENT=y

# Common Audio Profile
CONFIG_BT_CAP_ACCEPTOR=y
CONFIG_BT_CAP_ACCEPTOR_SET_MEMBER=y
CONFIG_BT_CAP_INITIATOR=y

# DEBUGGING
CONFIG_BT_DEBUG_LOG=y
CONFIG_BT_DEBUG_MPL=y
CONFIG_BT_DEBUG_MCS=y
CONFIG_BT_DEBUG_MCC=y
CONFIG_BT_OTS_LOG_LEVEL_DBG=y
CONFIG_BT_DEBUG_OTS_CLIENT=y
CONFIG_MCTL_DEBUG=y
CONFIG_BT_DEBUG_ASCS=y
CONFIG_BT_DEBUG_PACS=y
CONFIG_BT_AUDIO_DEBUG_UNICAST_SERVER=y
CONFIG_BT_AUDIO_DEBUG_UNICAST_CLIENT=y
CONFIG_BT_AUDIO_DEBUG_BROADCAST_SOURCE=y
CONFIG_BT_AUDIO_DEBUG_BROADCAST_SINK=y
CONFIG_BT_DEBUG_HAS=y
CONFIG_BT_DEBUG_HAS_CLIENT=y
CONFIG_BT_DEBUG_TBS=y
CONFIG_BT_DEBUG_VCS_CLIENT=y
CONFIG_BT_DEBUG_VCS=y
CONFIG_BT_DEBUG_MICP_MIC_CTLR=y
CONFIG_BT_DEBUG_MICP_MIC_DEV=y
CONFIG_BT_DEBUG_AICS_CLIENT=y
CONFIG_BT_DEBUG_VOCS_CLIENT=y
CONFIG_BT_DEBUG_AICS=y
CONFIG_BT_DEBUG_VOCS=y
CONFIG_BT_AUDIO_DEBUG_STREAM=y
CONFIG_BT_DEBUG_CSIP_SET_COORDINATOR=y
