diff --git a/applications/nrf5340_audio/doc/firmware_architecture.rst b/applications/nrf5340_audio/doc/firmware_architecture.rst index da52ab00e9c..b14687493dc 100644 --- a/applications/nrf5340_audio/doc/firmware_architecture.rst +++ b/applications/nrf5340_audio/doc/firmware_architecture.rst @@ -76,7 +76,7 @@ The audio quality for both modes does not change, although the processing time f Firmware architecture ********************* -The following figure illustrates the software layout for the nRF5340 Audio application: +The following figure illustrates the high-level software layout for the nRF5340 Audio application: .. figure:: /images/nrf5340_audio_structure_generic.svg :alt: nRF5340 Audio high-level design (overview) @@ -118,8 +118,17 @@ Since the application architecture is the same for all applications and the code Device Firmware Update (DFU) can only be enabled when :ref:`nrf53_audio_app_building_script`. See :ref:`nrf53_audio_app_configuration_configure_fota` for details. -Communication between modules -============================= +.. _nrf53_audio_app_overview_files: + +Source file architecture +======================== + +The following figure illustrates the software layout for the nRF5340 Audio application on the file-by-file level, regardless of the application chosen: + +.. figure:: /images/nrf5340audio_all_packages.svg + :alt: nRF5340 Audio application file-level breakdown + + nRF5340 Audio application file-level breakdown Communication between modules is primarily done through Zephyr's :ref:`zephyr:zbus` to make sure that there are as few dependencies as possible. Each of the buses used by the applications has their message structures described in :file:`zbus_common.h`. diff --git a/doc/nrf/images/nrf5340audio_all_packages.svg b/doc/nrf/images/nrf5340audio_all_packages.svg new file mode 100644 index 00000000000..5dbcb6b297a --- /dev/null +++ b/doc/nrf/images/nrf5340audio_all_packages.svg @@ -0,0 +1,619 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Page-1 + + Dynamic connector.251 + + + + Dynamic connector.223 + + + + Nordic Blue.145 + + + + Nordic Light Grey + Top-level applications + + Top-level applications + + Nordic Blue.1433 + main.c + + main.c + + Nordic Blue.1464 + le_audio_rx + + le_audio_rx + + Nordic Blue.1440 + nrf5340_audio_dk + + nrf5340_audio_dk + + Nordic Light Grey.2333 + + + + Nordic Blue.1617 + + + + Sheet.89 + Top-level applications + + Top-level applications + + Nordic Blue.1618 + + + + Sheet.91 + Audio + + Audio + + Nordic Blue.2341 + + + + Sheet.93 + Board-related + + Board-related + + Nordic Lake.1443 + le_audio + + le_audio + + Nordic Lake.1444 + bt_le_audio_tx + + bt_le_audio_tx + + Nordic Lake.1445 + bt_mgmt + + bt_mgmt + + Nordic Lake.1447 + bt_rendering_and_capture + + bt_rendering_and_capture + + Nordic Lake.1451 + bt_mgmt_ctlr_cfg_internal + + bt_mgmt_ctlr_cfg_internal + + Nordic Lake.122 + bt_content_control + + bt_content_control + + Nordic Blue.141 + + + + Sheet.142 + Bluetooth® LE + + Bluetooth® LE + + Sheet.146 + Stream control + + Stream control + + Nordic Lake.149 + bt_mgmt_adv_internal + + bt_mgmt_adv_internal + + Nordic Lake.151 + bt_mgmt_scan_for_broadcast + + bt_mgmt_scan_for_broadcast + + Nordic Lake.153 + bt_mgmt_scan_for_conn + + bt_mgmt_scan_for_conn + + Nordic Lake.155 + bt_mgmt_scan + + bt_mgmt_scan + + Nordic Lake.156 + bt_vol_rend_internal + + bt_vol_rend_internal + + Nordic Lake.158 + bt_vol_ctrl_internal + + bt_vol_ctrl_internal + + Nordic Lake.159 + bt_content_ctrl_media_internal + + bt_content_ctrl_media_internal + + Nordic Blue.161 + channel_assignment + + channel_assignment + + Nordic Blue.162 + uicr + + uicr + + Nordic Blue.163 + button_assignments + + button_assignments + + Nordic Blue.164 + button_handler + + button_handler + + Nordic Blue.165 + board_version + + board_version + + Nordic Blue.166 + audio_sync_timer + + audio_sync_timer + + Nordic Blue.167 + audio_datapath + + audio_datapath + + Nordic Blue.168 + sd_card_playback + + sd_card_playback + + Nordic Blue.169 + sw_codec_select + + sw_codec_select + + Nordic Blue.170 + audio_system + + audio_system + + Nordic Blue.171 + sw_codec_select + + sw_codec_select + + Nordic Blue.172 + streamctrl.h + + streamctrl.h + + Nordic Blue.173 + audio_usb + + audio_usb + + Nordic Blue.174 + hw_codec + + hw_codec + + Nordic Blue.175 + audio_i2s + + audio_i2s + + Nordic Blue.176 + led + + led + + Nordic Light Grey.177 + Application-specific files + + Application-specific files + + Nordic Blue.178 + unicast_client + + unicast_client + + Nordic Blue.179 + unicast_server + + unicast_server + + Nordic Blue.180 + broadcast_source + + broadcast_source + + Nordic Blue.181 + broadcast_sink + + broadcast_sink + + Nordic Blue.186 + + + + Sheet.187 + unicast_client (CIS) (gateway) + + unicast_client (CIS) (gateway) + + Nordic Blue.188 + main.c + + main.c + + Nordic Blue.189 + + + + Sheet.190 + unicast_server (CIS) (headset) + + unicast_server (CIS) (headset) + + Nordic Blue.191 + main.c + + main.c + + Nordic Blue.192 + + + + Sheet.193 + broadcast_source (BIS) (gateway) (Auracast) + + broadcast_source (BIS) (gateway) (Auracast) + + Nordic Blue.194 + main.c + + main.c + + Nordic Blue.195 + + + + Sheet.196 + broadcast_sink (BIS) (headset) (Auracast) + + broadcast_sink (BIS) (headset) (Auracast) + + Nordic Blue.197 + zbus_common.h + + zbus_common.h + + Nordic Blue.198 + fw_info_app.h + + fw_info_app.h + + Dynamic connector + + + + Dynamic connector.200 + + + + Dynamic connector.201 + + + + Dynamic connector.202 + + + + Dynamic connector.203 + + + + Dynamic connector.204 + + + + Dynamic connector.205 + + + + Dynamic connector.206 + + + + Dynamic connector.207 + + + + Dynamic connector.208 + + + + Dynamic connector.209 + + + + Nordic Blue.210 + + + + Sheet.211 + Used by all Zbus modules + + Used by all Zbus modules + + Dynamic connector.212 + + + + Dynamic connector.214 + + + + Dynamic connector.215 + + + + Dynamic connector.216 + + + + Dynamic connector.218 + + + + Dynamic connector.219 + + + + Dynamic connector.220 + + + + Dynamic connector.222 + + + + Dynamic connector.224 + + + + Dynamic connector.225 + + + + Dynamic connector.226 + + + + Dynamic connector.227 + + + + Dynamic connector.228 + + + + Dynamic connector.229 + + + + Dynamic connector.231 + + + + Dynamic connector.232 + + + + Dynamic connector.233 + + + + Dynamic connector.234 + + + + Dynamic connector.235 + + + + Dynamic connector.236 + + + + Dynamic connector.237 + + + + Dynamic connector.238 + + + + Dynamic connector.239 + + + + Dynamic connector.240 + + + + Dynamic connector.241 + + + + Dynamic connector.242 + + + + Dynamic connector.243 + + + + Dynamic connector.244 + + + + Dynamic connector.245 + + + + Dynamic connector.246 + + + + Dynamic connector.247 + + + + Dynamic connector.248 + + + + Dynamic connector.249 + + + + Dynamic connector.250 + + + + Dynamic connector.252 + + + + Dynamic connector.253 + + + + Dynamic connector.254 + + + + Dynamic connector.255 + + + + Dynamic connector.256 + + + + Dynamic connector.257 + + + + Dynamic connector.258 + + + + Dynamic connector.260 + + + + Dynamic connector.261 + + + + Dynamic connector.263 + + + + Dynamic connector.264 + + + + diff --git a/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst b/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst index 29b38f47e69..dd2e272a83f 100644 --- a/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst +++ b/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst @@ -220,6 +220,8 @@ nRF5340 Audio * The APIs :c:func:`bt_hci_err_to_str` and :c:func:`bt_security_err_to_str` that are used to allow printing error codes as strings. Each API returns string representations of the error codes when the corresponding Kconfig option, :kconfig:option:`CONFIG_BT_HCI_ERR_TO_STR` or :kconfig:option:`CONFIG_BT_SECURITY_ERR_TO_STR`, is enabled. +* Updated the :ref:`nrf53_audio_app_overview` documentation page with the :ref:`nrf53_audio_app_overview_files` section. + nRF Desktop -----------