Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

applications: nrf5340_audio: updated manifest and removed group filter #8673

Merged
merged 2 commits into from
Sep 8, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 1 addition & 18 deletions applications/nrf5340_audio/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -73,28 +73,11 @@ add_subdirectory(src/events)
add_subdirectory(src/modules)
add_subdirectory(src/utils)

## LC3
if (CONFIG_SW_CODEC_LC3_T2_SOFTWARE)
if (ZEPHYR_SDK_LC3_MODULE_DIR)
add_subdirectory(${ZEPHYR_SDK_LC3_MODULE_DIR} sdk_lc3_bin_dir)
else()
message(FATAL_ERROR "LC3 repository not found\n"
"Path: ${ZEPHYR_SDK_LC3_MODULE_DIR}/CMakeLists.txt\n"
"Run 'west config manifest.group-filter +nrf5340_audio' "
"and then 'west update'.\n"
"If access is denied, contact local Nordic Semiconductor "
"support")
endif()
endif()

## Cirrus Logic
if (CONFIG_HW_CODEC_CIRRUS_LOGIC)
if (ZEPHYR_CIRRUS_LOGIC_MODULE_DIR)
add_subdirectory(${ZEPHYR_CIRRUS_LOGIC_MODULE_DIR} cirrus_logic_bin_dir)
else()
message(FATAL_ERROR "Cirrus Logic/sdk-mcu-drivers repository not found\n"
"Path: ${ZEPHYR_CIRRUS_LOGIC_MODULE_DIR}/CMakeLists.txt\n"
"Run 'west config manifest.group-filter +nrf5340_audio' "
"and then 'west update'.\n")
message(FATAL_ERROR "Cirrus Logic/sdk-mcu-drivers repository not found\n")
endif()
endif()
53 changes: 4 additions & 49 deletions applications/nrf5340_audio/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ nRF5340 Audio
The nRF5340 Audio application demonstrates audio playback over isochronous channels (ISO) using LC3 codec compression and decompression, as per `Bluetooth® LE Audio specifications`_.
It is developed for use with the :ref:`nrf53_audio_app_dk`.

In its default configuration, the application requires access to the external repository containing the LC3 software codec.
In its default configuration, the application requires the :ref:`LC3 software codec <nrfxlib:lc3>`.
The application also comes with various tools, including the :file:`buildprog.py` Python script that simplifies building and programming the firmware.

.. _nrf53_audio_app_overview:
Expand Down Expand Up @@ -121,6 +121,7 @@ These modules include the following major ones:
* TWI/I2C
* UART (debug)
* Timer
* LC3 encoder/decoder

* Application-specific Bluetooth modules for handling the Bluetooth connection:

Expand All @@ -137,10 +138,6 @@ These modules include the following major ones:
* FIFO buffers
* Synchronization module (part of `I2S-based firmware for gateway and headsets`_) - See `Synchronization module overview`_ for more information.

* Application-specific modules from external sources:

* LC3 encoder/decoder (default)

Since the application architecture is uniform and the firmware code is shared, the set of audio modules in use depends on the chosen stream mode (BIS or CIS), the chosen audio inputs and outputs (USB or analog jack), and if the gateway or the headset configuration is selected.

.. note::
Expand Down Expand Up @@ -296,11 +293,7 @@ For CIS with TWS in mind, three kits are required.
Software codec requirements
===========================

The nRF5340 Audio application only supports the LC3 software codec, developed specifically for use with LE Audio.
The codec is not open-source and you need to obtain access to its repository.
To do so, `contact the sales department <Contact Us_>`_.

Once you obtain the access, the codec requires :ref:`adding its own repository before building and running <nrf53_audio_app_configuration_repos>`.
The nRF5340 Audio application only supports the :ref:`LC3 software codec <nrfxlib:lc3>`, developed specifically for use with LE Audio.

.. _nrf53_audio_app_dk:

Expand Down Expand Up @@ -764,37 +757,6 @@ Configuration

|config|

.. _nrf53_audio_app_configuration_repos:

Setting up the nRF5340 Audio repositories
=========================================

The application relies on the following repositories that need to be pulled using west:

* LC3 software codec repository - The default software codec for the application, which is not open-source.
The application only supports the LC3 software codec.
* Hardware codec driver repository - One of the :ref:`external OSS repositories <dm_code_base>`.

To have these repositories managed by west, complete the following steps:

1. Obtain access to the LC3 codec repository.
To do so, `contact the sales department <Contact Us_>`_.
#. Add the group filter specific to the nRF5340 Audio application to the west manifest file of your project by running the following command:

.. code-block:: console

west config manifest.group-filter +nrf5340_audio

#. Update west to fetch the repositories in the nRF5340 Audio group:

.. code-block:: console

west update

If west can fetch the repositories correctly, you can now build the application.

For more information about west, see :ref:`Zephyr's documentation page <zephyr:west>`.

.. _nrf53_audio_app_configuration_select_bis:

Selecting the BIS mode
Expand Down Expand Up @@ -908,14 +870,7 @@ You can build and program the application in one of the following ways:
* :ref:`nrf53_audio_app_building_standard`.
Using this method requires building and programming each development kit separately.

Prerequisites
=============

Before building the application, make sure to meet the following prerequisites described in the :ref:`nrf53_audio_app_configuration` section:

* :ref:`nrf53_audio_app_configuration_repos`

You might also want to check the :ref:`nRF5340 Audio application known issues <known_issues_nrf5340audio>`.
You might want to check the :ref:`nRF5340 Audio application known issues <known_issues_nrf5340audio>` before building and programming the application.

Testing out of the box
======================
Expand Down
1 change: 1 addition & 0 deletions applications/nrf5340_audio/src/audio/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,7 @@ endchoice
config SW_CODEC_PLC_DISABLED
bool "Skip PLC on a bad frame and fill the output buffer(s) with zeros instead"
default n
select LC3_PLC_DISABLED

menu "LC3"
visible if SW_CODEC_LC3
Expand Down
3 changes: 0 additions & 3 deletions tests/nrf5340_audio/sw_codec_lc3/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@ cmake_minimum_required(VERSION 3.20.0)
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(NONE)

include(${ZEPHYR_SDK_LC3_MODULE_DIR}/CMakeLists.txt)


target_sources(app
PRIVATE
main.c
Expand Down
11 changes: 2 additions & 9 deletions west.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ manifest:
defaults:
remote: ncs

group-filter: [-homekit, -nrf-802154, -find-my, -nrf5340_audio]
group-filter: [-homekit, -nrf-802154, -find-my]

# "projects" is a list of git repositories which make up the NCS
# source code.
Expand Down Expand Up @@ -112,7 +112,7 @@ manifest:
- name: nrfxlib
repo-path: sdk-nrfxlib
path: nrfxlib
revision: ee0d1c66944f15a47d08883c4826b3b4b4cb317e
revision: 9a6637e12575807dc4f6843acc14cc78de4601d5
- name: trusted-firmware-m
repo-path: sdk-trusted-firmware-m
path: modules/tee/tf-m/trusted-firmware-m
Expand Down Expand Up @@ -154,11 +154,6 @@ manifest:
revision: 42821a3b1bf876b843dded6b28003a9031c3c3da
groups:
- find-my
- name: sdk-lc3
revision: c47d9ee21c9cd8626a903c2e2f0c80c0920a1eb8
path: modules/lib/lc3
groups:
- nrf5340_audio
- name: azure-sdk-for-c
repo-path: azure-sdk-for-c
path: modules/lib/azure-sdk-for-c
Expand All @@ -177,8 +172,6 @@ manifest:
repo-path: sdk-mcu-drivers
path: modules/hal/cirrus-logic
revision: 9f6b3812237fbb0d4157ba3584c13f1644fcbe3a
groups:
- nrf5340_audio
- name: openthread
repo-path: sdk-openthread
path: modules/lib/openthread
Expand Down