# 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_TESTING=y
CONFIG_BT_CENTRAL=y
CONFIG_BT_PERIPHERAL=y
CONFIG_BT_PRIVACY=y
CONFIG_BT_L2CAP_ECRED=y
CONFIG_BT_EATT=y
CONFIG_BT_SIGNING=y
CONFIG_BT_FIXED_PASSKEY=y
CONFIG_BT_ATT_PREPARE_COUNT=5
CONFIG_BT_SHELL=y
CONFIG_BT_DEVICE_NAME="audio test shell"
CONFIG_BT_DEVICE_NAME_DYNAMIC=y
# TBS Client may require up to 12 buffers
CONFIG_BT_L2CAP_TX_BUF_COUNT=12
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_MAX_CONN=3
CONFIG_BT_MAX_PAIRED=3
CONFIG_BT_KEYS_OVERWRITE_OLDEST=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_BAP_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_BAP_UNICAST_CLIENT_GROUP_STREAM_COUNT=8
CONFIG_BT_BAP_UNICAST_CLIENT_ASE_SNK_COUNT=2
CONFIG_BT_BAP_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_CODEC_MAX_DATA_COUNT=10
CONFIG_BT_CODEC_MAX_DATA_LEN=40
CONFIG_BT_BAP_UNICAST_CLIENT=y
CONFIG_BT_BAP_BROADCAST_SOURCE=y
CONFIG_BT_BAP_BROADCAST_SRC_STREAM_COUNT=4
CONFIG_BT_BAP_BROADCAST_SINK=y
CONFIG_BT_BAP_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_VCP_VOL_REND=y
CONFIG_BT_VCP_VOL_REND_VOCS_INSTANCE_COUNT=1
CONFIG_BT_VCP_VOL_REND_AICS_INSTANCE_COUNT=1
CONFIG_BT_VCP_VOL_CTLR=y
CONFIG_BT_VCP_VOL_CTLR_MAX_VOCS_INST=1
CONFIG_BT_VCP_VOL_CTLR_MAX_AICS_INST=1
CONFIG_BT_VCP_VOL_REND_VOL_FLAGS_NOTIFIABLE=y

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_SET_MEMBER=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_SUPPORTED_FEATURES=3
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_PRESET_NAME_DYNAMIC=y
CONFIG_BT_HAS_PRESET_COUNT=4
CONFIG_BT_HAS_CLIENT=y
CONFIG_BT_HAS_FEATURES_NOTIFIABLE=y
CONFIG_BT_HAS_PRESET_CONTROL_POINT_NOTIFIABLE=y

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

# DEBUGGING
CONFIG_LOG=y
CONFIG_BT_MPL_LOG_LEVEL_DBG=y
CONFIG_BT_MCS_LOG_LEVEL_DBG=y
CONFIG_BT_MCC_LOG_LEVEL_DBG=y
CONFIG_BT_OTS_LOG_LEVEL_DBG=y
CONFIG_BT_OTS_CLIENT_LOG_LEVEL_DBG=y
CONFIG_MCTL_LOG_LEVEL_DBG=y
CONFIG_BT_ASCS_LOG_LEVEL_DBG=y
CONFIG_BT_PACS_LOG_LEVEL_DBG=y
CONFIG_BT_BAP_UNICAST_SERVER_LOG_LEVEL_DBG=y
CONFIG_BT_BAP_UNICAST_CLIENT_LOG_LEVEL_DBG=y
CONFIG_BT_BAP_BROADCAST_SOURCE_LOG_LEVEL_DBG=y
CONFIG_BT_BAP_BROADCAST_SINK_LOG_LEVEL_DBG=y
CONFIG_BT_HAS_LOG_LEVEL_DBG=y
CONFIG_BT_HAS_CLIENT_LOG_LEVEL_DBG=y
CONFIG_BT_TBS_LOG_LEVEL_DBG=y
CONFIG_BT_TBS_CLIENT_LOG_LEVEL_DBG=y
CONFIG_BT_VCP_VOL_CTLR_LOG_LEVEL_DBG=y
CONFIG_BT_VCP_VOL_REND_LOG_LEVEL_DBG=y
CONFIG_BT_MICP_MIC_CTLR_LOG_LEVEL_DBG=y
CONFIG_BT_MICP_MIC_DEV_LOG_LEVEL_DBG=y
CONFIG_BT_AICS_CLIENT_LOG_LEVEL_DBG=y
CONFIG_BT_VOCS_CLIENT_LOG_LEVEL_DBG=y
CONFIG_BT_AICS_LOG_LEVEL_DBG=y
CONFIG_BT_VOCS_LOG_LEVEL_DBG=y
CONFIG_BT_BAP_STREAM_LOG_LEVEL_DBG=y
CONFIG_BT_BAP_ISO_LOG_LEVEL_DBG=y
CONFIG_BT_AUDIO_CODEC_LOG_LEVEL_DBG=y
CONFIG_BT_CSIP_SET_COORDINATOR_LOG_LEVEL_DBG=y
CONFIG_BT_CSIP_SET_MEMBER_LOG_LEVEL_DBG=y
