diff --git a/Kconfig.nrf b/Kconfig.nrf index 3b3dea7b299d..eb8b5e73dc6b 100644 --- a/Kconfig.nrf +++ b/Kconfig.nrf @@ -118,6 +118,7 @@ config NRF_SECURITY_ENABLER imply NRF_SECURITY if BT_CRYPTO || BT_HOST_CRYPTO || BT_MESH_USES_MBEDTLS_PSA || BT_FAST_PAIR_CRYPTO_PSA imply ENTROPY_GENERATOR if BOARD_NATIVE_SIM imply PSA_WANT_GENERATE_RANDOM if BT_HOST_CRYPTO_PRNG + depends on !SOC_NRF5340_CPUNET rsource "samples/Kconfig" rsource "subsys/Kconfig" diff --git a/applications/nrf5340_audio/Kconfig b/applications/nrf5340_audio/Kconfig index ba8552c498e5..6997b4fb3806 100644 --- a/applications/nrf5340_audio/Kconfig +++ b/applications/nrf5340_audio/Kconfig @@ -39,24 +39,6 @@ config TRANSPORT_CIS endchoice #----------------------------------------------------------------------------# -if (TRANSPORT_BIS && AUDIO_DEV = 1) -rsource "broadcast_sink/Kconfig.defaults" -endif # TRANSPORT_BIS && AUDIO_DEV = 1 - -if (TRANSPORT_BIS && AUDIO_DEV = 2) -rsource "broadcast_source/Kconfig.defaults" -endif # TRANSPORT_BIS && AUDIO_DEV = 2 - -if (TRANSPORT_CIS && AUDIO_DEV = 1) -rsource "unicast_server/Kconfig.defaults" -endif # TRANSPORT_CIS && AUDIO_DEV = 1 - -if (TRANSPORT_CIS && AUDIO_DEV = 2) -rsource "unicast_client/Kconfig.defaults" -endif # TRANSPORT_CIS && AUDIO_DEV = 2 - - - rsource "Kconfig.defaults" rsource "src/audio/Kconfig" rsource "src/bluetooth/Kconfig" diff --git a/applications/nrf5340_audio/broadcast_sink/Kconfig.defaults b/applications/nrf5340_audio/broadcast_sink/Kconfig.defaults deleted file mode 100644 index 3dcf65b596b3..000000000000 --- a/applications/nrf5340_audio/broadcast_sink/Kconfig.defaults +++ /dev/null @@ -1,109 +0,0 @@ -# -# Copyright (c) 2023 Nordic Semiconductor ASA -# -# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause -# - -## ACL related configs ## -config BT_OBSERVER - default y - -config BT_PERIPHERAL - default y - -config BT_BUF_ACL_TX_COUNT - default 18 - -config BT_CAP_ACCEPTOR - default y if BT_AUDIO_SCAN_DELEGATOR - select BT_CSIP_SET_MEMBER - select BT_CAP_ACCEPTOR_SET_MEMBER - select BT_GAP_PERIPHERAL_PREF_PARAMS - select BT_VCP_VOL_REND - -config BT_PERIPHERAL_PREF_MIN_INT - default 64 - -config BT_PERIPHERAL_PREF_MAX_INT - default 69 - -config BT_PERIPHERAL_PREF_LATENCY - default 0 - -config BT_PERIPHERAL_PREF_TIMEOUT - default 200 - -# Generic Audio Sink - 0x0840 -config BT_DEVICE_APPEARANCE - default 2112 - -config BT_PER_ADV_SYNC_MAX - default 2 - -config BT_SMP - default y - - -## ISO related configs ## -config BT_ISO_SYNC_RECEIVER - default y - -config BT_BAP_BROADCAST_SINK - default y - -config BT_BAP_SCAN_DELEGATOR - default y - -config BT_BAP_BROADCAST_SNK_STREAM_COUNT - default 2 - -config BT_BAP_BROADCAST_SNK_COUNT - default 2 - -config BT_ISO_MAX_CHAN - default 2 - -config BT_ISO_MAX_BIG - default 2 - -config BT_AUDIO_RX - default y - -config BT_PER_ADV_SYNC_TRANSFER_RECEIVER - default y if BT_AUDIO_SCAN_DELEGATOR - select SETTINGS - select BT_SETTINGS - select FLASH - select FLASH_MAP - select NVS - -config NVS_LOG_LEVEL - default 2 - -config BT_DEVICE_NAME - default "NRF5340_BIS_HEADSET" - -## PACS related configs ## -config BT_PAC_SNK_NOTIFIABLE - default y - -config BT_PAC_SNK - default y - -config BT_PAC_SRC_NOTIFIABLE - default y - -config BT_PAC_SRC - default y - -## Audio related configs ## -config AUDIO_MUTE - default n - -config AUDIO_TEST_TONE - default n - - -## LC3 related configs ## -config LC3_DEC_CHAN_MAX - default 1 diff --git a/applications/nrf5340_audio/broadcast_sink/overlay-broadcast_sink.conf b/applications/nrf5340_audio/broadcast_sink/overlay-broadcast_sink.conf new file mode 100644 index 000000000000..e18101ba7865 --- /dev/null +++ b/applications/nrf5340_audio/broadcast_sink/overlay-broadcast_sink.conf @@ -0,0 +1,66 @@ +# +# Copyright (c) 2025 Nordic Semiconductor ASA +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +CONFIG_TRANSPORT_BIS=y + +## ACL related configs ## +CONFIG_BT_OBSERVER=y +CONFIG_BT_PERIPHERAL=y +CONFIG_BT_SMP=y +CONFIG_BT_AUDIO=y +CONFIG_BT_GATT_DYNAMIC_DB=y +CONFIG_BT_GATT_CACHING=n + +CONFIG_SETTINGS=y +CONFIG_BT_SETTINGS=y +CONFIG_FLASH=y +CONFIG_FLASH_MAP=y +CONFIG_NVS=y + +CONFIG_BT_BUF_ACL_TX_COUNT=18 + +CONFIG_BT_CAP_ACCEPTOR=y +CONFIG_BT_CSIP_SET_MEMBER=y +CONFIG_BT_CAP_ACCEPTOR_SET_MEMBER=y +CONFIG_BT_GAP_PERIPHERAL_PREF_PARAMS=y +CONFIG_BT_VCP_VOL_REND=y + +CONFIG_BT_PERIPHERAL_PREF_MIN_INT=64 +CONFIG_BT_PERIPHERAL_PREF_MAX_INT=69 +CONFIG_BT_PERIPHERAL_PREF_LATENCY=0 +CONFIG_BT_PERIPHERAL_PREF_TIMEOUT=200 + +# Generic Audio Sink - 0x0840 +CONFIG_BT_DEVICE_APPEARANCE=2112 +CONFIG_BT_PER_ADV_SYNC_MAX=2 + +## ISO related configs ## +CONFIG_BT_BAP_BROADCAST_SNK_STREAM_COUNT=2 +CONFIG_BT_BAP_BROADCAST_SNK_COUNT=2 +CONFIG_BT_ISO_MAX_CHAN=2 +CONFIG_BT_ISO_MAX_BIG=2 + +CONFIG_BT_PER_ADV_SYNC_TRANSFER_RECEIVER=y + +## PACS related configs ## +CONFIG_BT_PAC_SNK_NOTIFIABLE=y +CONFIG_BT_PAC_SNK=y +CONFIG_BT_PAC_SRC_NOTIFIABLE=y +CONFIG_BT_PAC_SRC=y + +## Audio related configs ## +CONFIG_AUDIO_MUTE=n +CONFIG_AUDIO_TEST_TONE=n + +CONFIG_BT_ISO_SYNC_RECEIVER=y +CONFIG_BT_BAP_SCAN_DELEGATOR=y +CONFIG_BT_BAP_BROADCAST_SINK=y + +## LC3 related configs ## +CONFIG_LC3_DEC_CHAN_MAX=1 + + + diff --git a/applications/nrf5340_audio/broadcast_source/overlay-broadcast_source.conf b/applications/nrf5340_audio/broadcast_source/overlay-broadcast_source.conf new file mode 100644 index 000000000000..814436987c20 --- /dev/null +++ b/applications/nrf5340_audio/broadcast_source/overlay-broadcast_source.conf @@ -0,0 +1,27 @@ +# +# Copyright (c) 2025 Nordic Semiconductor ASA +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +CONFIG_TRANSPORT_BIS=y + +CONFIG_BT_CAP_INITIATOR=y +CONFIG_BT_AUDIO=y + +CONFIG_BT_DEVICE_APPEARANCE=2181 + +CONFIG_BT_ISO_BROADCASTER=y + +CONFIG_BT_BAP_BROADCAST_SOURCE=y + +CONFIG_BT_ISO_TX_BUF_COUNT=2 + +CONFIG_BT_BAP_BROADCAST_SRC_STREAM_COUNT=2 + +CONFIG_BT_ISO_MAX_CHAN=2 + +CONFIG_BT_ISO_MAX_BIG=2 + +CONFIG_LC3_ENC_CHAN_MAX=2 +CONFIG_ENTROPY_GENERATOR=y diff --git a/applications/nrf5340_audio/prj.conf b/applications/nrf5340_audio/prj.conf index b1dc911a59a3..0b3b57fce736 100644 --- a/applications/nrf5340_audio/prj.conf +++ b/applications/nrf5340_audio/prj.conf @@ -17,6 +17,7 @@ CONFIG_STACK_USAGE=y CONFIG_THREAD_RUNTIME_STATS=y CONFIG_STACK_SENTINEL=y CONFIG_INIT_STACKS=y +CONFIG_BT=y # Uart driver CONFIG_SERIAL=y diff --git a/applications/nrf5340_audio/src/bluetooth/bt_management/scanning/bt_mgmt_scan_for_broadcast.c b/applications/nrf5340_audio/src/bluetooth/bt_management/scanning/bt_mgmt_scan_for_broadcast.c index 351162269e57..cce523a97eba 100644 --- a/applications/nrf5340_audio/src/bluetooth/bt_management/scanning/bt_mgmt_scan_for_broadcast.c +++ b/applications/nrf5340_audio/src/bluetooth/bt_management/scanning/bt_mgmt_scan_for_broadcast.c @@ -425,7 +425,7 @@ void bt_mgmt_broadcast_code_ptr_get(uint8_t **broadcast_code_ptr) void bt_mgmt_scan_delegator_init(void) { if (!scan_dlg_cb_registered) { - bt_bap_scan_delegator_register_cb(&scan_delegator_cbs); + bt_bap_scan_delegator_register(&scan_delegator_cbs); scan_dlg_cb_registered = true; } diff --git a/applications/nrf5340_audio/src/bluetooth/bt_stream/broadcast/broadcast_source.c b/applications/nrf5340_audio/src/bluetooth/bt_stream/broadcast/broadcast_source.c index 1dd9d7d50594..4d3134032c4b 100644 --- a/applications/nrf5340_audio/src/bluetooth/bt_stream/broadcast/broadcast_source.c +++ b/applications/nrf5340_audio/src/bluetooth/bt_stream/broadcast/broadcast_source.c @@ -51,6 +51,7 @@ static struct bt_bap_lc3_preset lc3_preset = BT_BAP_LC3_BROADCAST_PRESET_NRF5340 static bool initialized; static bool delete_broadcast_src[CONFIG_BT_ISO_MAX_BIG]; +static uint32_t stored_broadcast_id; static int metadata_u8_add(uint8_t buffer[], uint8_t *index, uint8_t type, uint8_t value) { @@ -263,14 +264,15 @@ int broadcast_source_ext_adv_populate(uint8_t big_index, bool fixed_id, uint32_t if (!fixed_id) { /* Use a random broadcast ID */ - ret = bt_cap_initiator_broadcast_get_id(broadcast_sources[big_index], - &broadcast_id); + ret = bt_rand(&broadcast_id, BT_AUDIO_BROADCAST_ID_SIZE); if (ret) { - LOG_ERR("Unable to get broadcast ID: %d", ret); + LOG_WRN("Unable to generate broadcast ID: %d\n", ret); return ret; } } + stored_broadcast_id = broadcast_id; + sys_put_le16(BT_UUID_BROADCAST_AUDIO_VAL, ext_adv_data->brdcst_id_buf); sys_put_le24(broadcast_id, &ext_adv_data->brdcst_id_buf[BROADCAST_SOURCE_ADV_ID_START]); @@ -596,8 +598,6 @@ static uint8_t audio_map_location_get(struct bt_bap_stream *bap_stream) int broadcast_source_id_get(uint8_t big_index, uint32_t *broadcast_id) { - int ret; - if (big_index >= CONFIG_BT_ISO_MAX_BIG) { LOG_ERR("Failed to get broadcast ID for BIG %d out of %d", big_index, CONFIG_BT_ISO_MAX_BIG); @@ -614,11 +614,7 @@ int broadcast_source_id_get(uint8_t big_index, uint32_t *broadcast_id) return -EINVAL; } - ret = bt_cap_initiator_broadcast_get_id(broadcast_sources[big_index], broadcast_id); - if (ret) { - LOG_ERR("Unable to get broadcast ID: %d", ret); - return ret; - } + *broadcast_id = stored_broadcast_id; return 0; } diff --git a/applications/nrf5340_audio/src/bluetooth/bt_stream/le_audio.h b/applications/nrf5340_audio/src/bluetooth/bt_stream/le_audio.h index 658a947aa0b1..d578d5bca598 100644 --- a/applications/nrf5340_audio/src/bluetooth/bt_stream/le_audio.h +++ b/applications/nrf5340_audio/src/bluetooth/bt_stream/le_audio.h @@ -36,10 +36,10 @@ BT_AUDIO_CODEC_CFG_DURATION_10, _loc, \ LE_AUDIO_SDU_SIZE_OCTETS(_bitrate), 1, \ _stream_context), \ - BT_AUDIO_CODEC_QOS_UNFRAMED(10000u, LE_AUDIO_SDU_SIZE_OCTETS(_bitrate), \ - CONFIG_BT_AUDIO_RETRANSMITS, \ - CONFIG_BT_AUDIO_MAX_TRANSPORT_LATENCY_MS, \ - CONFIG_BT_AUDIO_PRESENTATION_DELAY_US)) + BT_BAP_QOS_CFG_UNFRAMED(10000u, LE_AUDIO_SDU_SIZE_OCTETS(_bitrate), \ + CONFIG_BT_AUDIO_RETRANSMITS, \ + CONFIG_BT_AUDIO_MAX_TRANSPORT_LATENCY_MS, \ + CONFIG_BT_AUDIO_PRESENTATION_DELAY_US)) /** * @brief Callback for receiving Bluetooth LE Audio data. diff --git a/applications/nrf5340_audio/src/bluetooth/bt_stream/unicast/Kconfig.defaults b/applications/nrf5340_audio/src/bluetooth/bt_stream/unicast/Kconfig.defaults index cbeaf9b90bf9..fd607265d15d 100644 --- a/applications/nrf5340_audio/src/bluetooth/bt_stream/unicast/Kconfig.defaults +++ b/applications/nrf5340_audio/src/bluetooth/bt_stream/unicast/Kconfig.defaults @@ -55,6 +55,3 @@ config NVS config NVS_LOG_LEVEL default 2 - -config BT_ASCS_MAX_ASE_SRC_COUNT - default 1 diff --git a/applications/nrf5340_audio/src/bluetooth/bt_stream/unicast/unicast_client.c b/applications/nrf5340_audio/src/bluetooth/bt_stream/unicast/unicast_client.c index 26aabe4b25fb..e98330a844fc 100644 --- a/applications/nrf5340_audio/src/bluetooth/bt_stream/unicast/unicast_client.c +++ b/applications/nrf5340_audio/src/bluetooth/bt_stream/unicast/unicast_client.c @@ -1112,7 +1112,7 @@ static void check_and_update_pd_in_group(struct stream_index idx, uint32_t new_p } static void stream_configured_cb(struct bt_bap_stream *stream, - const struct bt_audio_codec_qos_pref *pref) + const struct bt_bap_qos_cfg_pref *pref) { int ret; uint32_t new_pres_dly_us; diff --git a/applications/nrf5340_audio/src/bluetooth/bt_stream/unicast/unicast_server.c b/applications/nrf5340_audio/src/bluetooth/bt_stream/unicast/unicast_server.c index 01323fa6b67d..2b90e87d7f9b 100644 --- a/applications/nrf5340_audio/src/bluetooth/bt_stream/unicast/unicast_server.c +++ b/applications/nrf5340_audio/src/bluetooth/bt_stream/unicast/unicast_server.c @@ -138,7 +138,7 @@ static enum bt_audio_dir caps_dirs[] = { #endif /* (CONFIG_BT_AUDIO_TX) */ }; -static const struct bt_audio_codec_qos_pref qos_pref = BT_AUDIO_CODEC_QOS_PREF( +static const struct bt_bap_qos_cfg_pref qos_pref = BT_BAP_QOS_CFG_PREF( true, BT_GAP_LE_PHY_2M, CONFIG_BT_AUDIO_RETRANSMITS, BLE_ISO_LATENCY_MS, CONFIG_AUDIO_MIN_PRES_DLY_US, CONFIG_AUDIO_MAX_PRES_DLY_US, CONFIG_BT_AUDIO_PREFERRED_MIN_PRES_DLY_US, CONFIG_BT_AUDIO_PREFERRED_MAX_PRES_DLY_US); @@ -168,7 +168,7 @@ BUILD_ASSERT(CONFIG_BT_ASCS_MAX_ASE_SRC_COUNT <= 1, static int lc3_config_cb(struct bt_conn *conn, const struct bt_bap_ep *ep, enum bt_audio_dir dir, const struct bt_audio_codec_cfg *codec, struct bt_bap_stream **stream, - struct bt_audio_codec_qos_pref *const pref, struct bt_bap_ascs_rsp *rsp) + struct bt_bap_qos_cfg_pref *const pref, struct bt_bap_ascs_rsp *rsp) { int ret; LOG_DBG("LC3 config callback"); @@ -224,14 +224,14 @@ static int lc3_config_cb(struct bt_conn *conn, const struct bt_bap_ep *ep, enum static int lc3_reconfig_cb(struct bt_bap_stream *stream, enum bt_audio_dir dir, const struct bt_audio_codec_cfg *codec, - struct bt_audio_codec_qos_pref *const pref, struct bt_bap_ascs_rsp *rsp) + struct bt_bap_qos_cfg_pref *const pref, struct bt_bap_ascs_rsp *rsp) { LOG_DBG("ASE Codec Reconfig: stream %p", (void *)stream); return 0; } -static int lc3_qos_cb(struct bt_bap_stream *stream, const struct bt_audio_codec_qos *qos, +static int lc3_qos_cb(struct bt_bap_stream *stream, const struct bt_bap_qos_cfg *qos, struct bt_bap_ascs_rsp *rsp) { enum bt_audio_dir dir; diff --git a/applications/nrf5340_audio/tools/buildprog/buildprog.py b/applications/nrf5340_audio/tools/buildprog/buildprog.py index 5b954aff1a23..ee18c2c44ce7 100644 --- a/applications/nrf5340_audio/tools/buildprog/buildprog.py +++ b/applications/nrf5340_audio/tools/buildprog/buildprog.py @@ -27,6 +27,7 @@ AudioDevice, SelectFlags, Core, + Transport, ) from program import program_threads_run @@ -45,6 +46,11 @@ TARGET_DEV_HEADSET_FOLDER = NRF5340_AUDIO_FOLDER / "build/dev_headset" TARGET_DEV_GATEWAY_FOLDER = NRF5340_AUDIO_FOLDER / "build/dev_gateway" +UNICAST_SERVER_OVERLAY = NRF5340_AUDIO_FOLDER / "unicast_server/overlay-unicast_server.conf" +UNICAST_CLIENT_OVERLAY = NRF5340_AUDIO_FOLDER / "unicast_client/overlay-unicast_client.conf" +BROADCAST_SINK_OVERLAY = NRF5340_AUDIO_FOLDER / "broadcast_sink/overlay-broadcast_sink.conf" +BROADCAST_SOURCE_OVERLAY = NRF5340_AUDIO_FOLDER / "broadcast_source/overlay-broadcast_source.conf" + TARGET_RELEASE_FOLDER = "build_release" TARGET_DEBUG_FOLDER = "build_debug" @@ -130,16 +136,26 @@ def __build_cmd_get(cores: Core, device: AudioDevice, build: BuildType, user_specific_bt_name = ( "AUDIO_DEV_" + getpass.getuser())[:MAX_USER_NAME_LEN].upper() device_flag += " -DCONFIG_BT_DEVICE_NAME=\\\"" + user_specific_bt_name + "\\\"" + if options.transport == Transport.broadcast.name: + if device == AudioDevice.headset: + overlay_flag = (f" -DEXTRA_CONF_FILE={BROADCAST_SINK_OVERLAY}") + elif device == AudioDevice.gateway: + overlay_flag = (f" -DEXTRA_CONF_FILE={BROADCAST_SOURCE_OVERLAY}") + elif options.transport == Transport.unicast.name: + if device == AudioDevice.headset: + overlay_flag = (f" -DEXTRA_CONF_FILE={UNICAST_SERVER_OVERLAY}") + elif device == AudioDevice.gateway: + overlay_flag = (f" -DEXTRA_CONF_FILE={UNICAST_CLIENT_OVERLAY}") if os.name == 'nt': release_flag = release_flag.replace('\\', '/') if pristine: build_cmd += " -p" - return build_cmd, dest_folder, device_flag, release_flag + return build_cmd, dest_folder, device_flag, release_flag, overlay_flag def __build_module(build_config, options): - build_cmd, dest_folder, device_flag, release_flag = __build_cmd_get( + build_cmd, dest_folder, device_flag, release_flag, overlay_flag = __build_cmd_get( build_config.core, build_config.device, build_config.build, @@ -153,7 +169,7 @@ def __build_module(build_config, options): # Only add compiler flags if folder doesn't exist already if not dest_folder.exists(): - west_str = west_str + device_flag + release_flag + west_str = west_str + device_flag + release_flag + overlay_flag print("Run: " + west_str) @@ -180,7 +196,7 @@ def __find_snr(): def __populate_hex_paths(dev, options): """Poplulate hex paths where relevant""" - _, temp_dest_folder, _, _ = __build_cmd_get( + _, temp_dest_folder, _, _, _ = __build_cmd_get( Core.app, dev.nrf5340_audio_dk_dev, options.build, options.pristine, options ) @@ -293,6 +309,14 @@ def __main(): help="Set to generate a user specific Bluetooth device name.\ Note that this will put the computer user name on air in clear text", ) + parser.add_argument( + "-t", + "--transport", + type=str, + choices=[i.name for i in Transport], + default=Transport.unicast.name, + help="Select the transport type", + ) options = parser.parse_args(args=sys.argv[1:]) diff --git a/applications/nrf5340_audio/tools/buildprog/nrf5340_audio_dk_devices.py b/applications/nrf5340_audio/tools/buildprog/nrf5340_audio_dk_devices.py index d550292c3ab7..638e5c28fd39 100644 --- a/applications/nrf5340_audio/tools/buildprog/nrf5340_audio_dk_devices.py +++ b/applications/nrf5340_audio/tools/buildprog/nrf5340_audio_dk_devices.py @@ -47,6 +47,11 @@ class Channel(Enum): right = 1 NA = auto() +class Transport(str, Enum): + """Transport type""" + broadcast = "broadcast" + unicast = "unicast" + @dataclass class DeviceConf: diff --git a/applications/nrf5340_audio/unicast_client/Kconfig.defaults b/applications/nrf5340_audio/unicast_client/Kconfig.defaults deleted file mode 100644 index 99f22f3f64e6..000000000000 --- a/applications/nrf5340_audio/unicast_client/Kconfig.defaults +++ /dev/null @@ -1,80 +0,0 @@ -# -# Copyright (c) 2023 Nordic Semiconductor ASA -# -# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause -# - -config UTF8 - default y - -## ACL related configs ## -config BT_MAX_CONN - default 2 - -# Generic Audio Source - 0x0880 -config BT_DEVICE_APPEARANCE - default 2176 - -config BT_MAX_PAIRED - default 2 - -config BT_GATT_DYNAMIC_DB - default y - - -## ISO related configs ## -config BT_ISO_MAX_CHAN - default 4 - -config BT_BAP_UNICAST - default y - -config BT_BAP_UNICAST_CLIENT - default y - -config BT_CAP_INITIATOR - default y - -config BT_CSIP_SET_COORDINATOR - default y - -config BT_ISO_TX_BUF_COUNT - default 2 - -config BT_BAP_UNICAST_CLIENT_GROUP_STREAM_COUNT - default 4 - -config BT_BAP_UNICAST_CLIENT_ASE_SNK_COUNT - default 2 - -config BT_BAP_UNICAST_CLIENT_ASE_SRC_COUNT - default 2 - -config BT_VCP_VOL_CTLR - default y - -config BT_MCS - default y - -config BT_MPL - default y - -config MCTL - default y - -config MCTL_LOCAL_PLAYER_CONTROL - default y - -config MCTL_LOCAL_PLAYER_REMOTE_CONTROL - default y - - -## LC3 related configs ## -config LC3_BITRATE - default BT_AUDIO_BITRATE_UNICAST_SINK - -config LC3_ENC_CHAN_MAX - default 2 - -config LC3_DEC_CHAN_MAX - default 1 diff --git a/applications/nrf5340_audio/unicast_client/overlay-unicast_client.conf b/applications/nrf5340_audio/unicast_client/overlay-unicast_client.conf new file mode 100644 index 000000000000..36c6c85696d2 --- /dev/null +++ b/applications/nrf5340_audio/unicast_client/overlay-unicast_client.conf @@ -0,0 +1,42 @@ +# +# Copyright (c) 2025 Nordic Semiconductor ASA +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +CONFIG_BT_CENTRAL=y + +CONFIG_BT_GATT_DYNAMIC_DB=y +CONFIG_BT_GATT_CLIENT=y +CONFIG_BT_GATT_AUTO_DISCOVER_CCC=y +CONFIG_BT_GATT_AUTO_UPDATE_MTU=y +CONFIG_BT_GATT_CACHING=n +CONFIG_BT_MAX_CONN=2 +CONFIG_BT_MAX_PAIRED=2 +CONFIG_BT_EXT_ADV=y + +CONFIG_BT_AUDIO=y +CONFIG_BT_ISO_CENTRAL=y +CONFIG_BT_BAP_UNICAST_CLIENT=y +CONFIG_BT_CAP_INITIATOR=y +CONFIG_BT_CSIP_SET_COORDINATOR=y +CONFIG_BT_DEVICE_APPEARANCE=2176 + +CONFIG_BT_ISO_TX_BUF_COUNT=4 +# Support an ISO channel per ASE +CONFIG_BT_ISO_MAX_CHAN=4 +CONFIG_BT_VCP_VOL_CTLR=y +CONFIG_BT_BAP_UNICAST_CLIENT_GROUP_STREAM_COUNT=4 +CONFIG_BT_BAP_UNICAST_CLIENT_ASE_SNK_COUNT=2 +CONFIG_BT_BAP_UNICAST_CLIENT_ASE_SRC_COUNT=2 +CONFIG_BT_MCS=y +CONFIG_BT_MPL=y +CONFIG_UTF8=y +CONFIG_MCTL=y +CONFIG_MCTL_LOCAL_PLAYER_CONTROL=y +CONFIG_MCTL_LOCAL_PLAYER_REMOTE_CONTROL=y + +CONFIG_LC3_ENC_CHAN_MAX=2 +CONFIG_LC3_DEC_CHAN_MAX=1 +CONFIG_MBEDTLS_ENABLE_HEAP=y +CONFIG_MBEDTLS_HEAP_SIZE=2048 diff --git a/applications/nrf5340_audio/unicast_server/Kconfig.defaults b/applications/nrf5340_audio/unicast_server/Kconfig.defaults deleted file mode 100644 index a8e785adda32..000000000000 --- a/applications/nrf5340_audio/unicast_server/Kconfig.defaults +++ /dev/null @@ -1,100 +0,0 @@ -# -# Copyright (c) 2023 Nordic Semiconductor ASA -# -# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause -# - -## ACL related configs ## -config BT_MAX_CONN - default 4 - -config BT_MAX_PAIRED - default 4 - -config BT_PERIPHERAL - default y - -config BT_GATT_AUTO_RESUBSCRIBE - default n - -config BT_GATT_AUTO_SEC_REQ - default n - - -## ISO related configs ## -config BT_ISO_PERIPHERAL - default y - -config BT_BAP_UNICAST - default y - -config BT_BAP_UNICAST_SERVER - default y - -config BT_ISO_MAX_CHAN - default 2 - -# Earbud - 0x0941 -config BT_DEVICE_APPEARANCE - default 2369 - -config BT_GAP_PERIPHERAL_PREF_PARAMS - default n - -config BT_ASCS - default y - -config BT_ASCS_MAX_ASE_SNK_COUNT - default 1 - -config BT_ASCS_MAX_ASE_SRC_COUNT - default 1 if STREAM_BIDIRECTIONAL - default 0 if !STREAM_BIDIRECTIONAL - -config BT_VCP_VOL_REND - default y - -config BT_MCC - default y - -config BT_MCC_READ_MEDIA_STATE - default y - -config BT_MCC_SET_MEDIA_CONTROL_POINT - default y - -# For fixing compatibility issue with Android 14 -config BT_PAC_SNK - default y - -config BT_PAC_SNK_NOTIFIABLE - default y - -config BT_PAC_SRC - default y - -config BT_PAC_SRC_NOTIFIABLE - default y - -config BT_CSIP_SET_MEMBER - default y - -config BT_CAP_ACCEPTOR - default y - -config BT_CAP_ACCEPTOR_SET_MEMBER - default y - -config BT_AUDIO_CODEC_CFG_MAX_METADATA_SIZE - default 25 - - -## LC3 related configs ## -config LC3_BITRATE - default BT_AUDIO_BITRATE_UNICAST_SRC - -config LC3_ENC_CHAN_MAX - default 1 - -config LC3_DEC_CHAN_MAX - default 1 diff --git a/applications/nrf5340_audio/unicast_server/overlay-unicast_server.conf b/applications/nrf5340_audio/unicast_server/overlay-unicast_server.conf new file mode 100644 index 000000000000..795f6113fec7 --- /dev/null +++ b/applications/nrf5340_audio/unicast_server/overlay-unicast_server.conf @@ -0,0 +1,48 @@ +# +# Copyright (c) 2025 Nordic Semiconductor ASA +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + + +CONFIG_BT_GATT_AUTO_DISCOVER_CCC=y +CONFIG_BT_GATT_AUTO_RESUBSCRIBE=n +CONFIG_BT_GATT_AUTO_SEC_REQ=n +CONFIG_BT_GATT_AUTO_UPDATE_MTU=y +CONFIG_BT_GATT_CACHING=n +CONFIG_BT_GATT_CLIENT=y +CONFIG_BT_GATT_DYNAMIC_DB=y + +CONFIG_BT_MAX_CONN=4 +CONFIG_BT_MAX_PAIRED=4 +CONFIG_BT_EXT_ADV=y + +CONFIG_BT_AUDIO=y + +CONFIG_BT_PERIPHERAL=y +CONFIG_BT_ISO_PERIPHERAL=y +CONFIG_BT_BAP_UNICAST_SERVER=y +CONFIG_BT_CAP_ACCEPTOR=y +CONFIG_BT_CAP_ACCEPTOR_SET_MEMBER=y +CONFIG_BT_PAC_SNK=y +CONFIG_BT_PAC_SNK_NOTIFIABLE=y +CONFIG_BT_PAC_SRC=y +CONFIG_BT_PAC_SRC_NOTIFIABLE=y +CONFIG_BT_CSIP_SET_MEMBER=y +CONFIG_BT_DEVICE_APPEARANCE=2369 + +CONFIG_BT_ISO_MAX_CHAN=2 +CONFIG_BT_ASCS=y +CONFIG_BT_ASCS_MAX_ASE_SNK_COUNT=1 +CONFIG_BT_ASCS_MAX_ASE_SRC_COUNT=1 +CONFIG_BT_VCP_VOL_REND=y +CONFIG_BT_MCC=y +CONFIG_BT_MCC_READ_MEDIA_STATE=y +CONFIG_BT_MCC_SET_MEDIA_CONTROL_POINT=y +CONFIG_BT_GAP_PERIPHERAL_PREF_PARAMS=n +CONFIG_BT_AUDIO_CODEC_CFG_MAX_METADATA_SIZE=25 + +CONFIG_LC3_ENC_CHAN_MAX=1 +CONFIG_LC3_DEC_CHAN_MAX=1 +CONFIG_MBEDTLS_ENABLE_HEAP=y +CONFIG_MBEDTLS_HEAP_SIZE=2048