MCUXpresso_LPC55S69/boards/lpcxpresso55s69/audio_examples/maestro_usb_speaker/cm33_core0
Yilin Sun 6e8d03ec0a Updated to SDK v2.15.000
Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-04-12 21:21:49 +08:00
..
armgcc Updated to SDK v2.15.000 2024-04-12 21:21:49 +08:00
FreeRTOSConfig.h Stock SDK v2.11.0 2022-04-08 22:42:47 +08:00
app_definitions.h Updated to SDK v2.15.000 2024-04-12 21:21:49 +08:00
app_streamer.c Updated to SDK v2.15.000 2024-04-12 21:21:49 +08:00
app_streamer.h Release v2.12.0 2022-08-23 23:05:58 +08:00
audio_speaker.c Updated to SDK v2.15.000 2024-04-12 21:21:49 +08:00
audio_speaker.h Updated to SDK v2.15.000 2024-04-12 21:21:49 +08:00
board.c Stock SDK v2.11.0 2022-04-08 22:42:47 +08:00
board.h Stock SDK v2.11.0 2022-04-08 22:42:47 +08:00
clock_config.c Stock SDK v2.11.0 2022-04-08 22:42:47 +08:00
clock_config.h Stock SDK v2.11.0 2022-04-08 22:42:47 +08:00
cmd.c Updated to SDK v2.15.000 2024-04-12 21:21:49 +08:00
cmd.h Release v2.12.0 2022-08-23 23:05:58 +08:00
ffconf.h Updated to SDK v2.15.000 2024-04-12 21:21:49 +08:00
maestro_usb_speaker_v3_14.xml Updated to SDK v2.15.000 2024-04-12 21:21:49 +08:00
main.c Updated SDK v2.13.0 2023-01-26 10:53:53 +08:00
main.h Stock SDK v2.11.0 2022-04-08 22:42:47 +08:00
pin_mux.c Updated to SDK v2.15.000 2024-04-12 21:21:49 +08:00
pin_mux.h Updated to SDK v2.15.000 2024-04-12 21:21:49 +08:00
readme.md Updated to SDK v2.15.000 2024-04-12 21:21:49 +08:00
streamer_pcm.c Updated to SDK v2.15.000 2024-04-12 21:21:49 +08:00
streamer_pcm.h Updated to SDK v2.15.000 2024-04-12 21:21:49 +08:00
usb_device_audio.c Release v2.12.0 2022-08-23 23:05:58 +08:00
usb_device_audio.h Release v2.12.0 2022-08-23 23:05:58 +08:00
usb_device_ch9.c Updated to SDK v2.15.000 2024-04-12 21:21:49 +08:00
usb_device_ch9.h Stock SDK v2.11.0 2022-04-08 22:42:47 +08:00
usb_device_class.c Updated to SDK v2.15.000 2024-04-12 21:21:49 +08:00
usb_device_class.h Stock SDK v2.11.0 2022-04-08 22:42:47 +08:00
usb_device_config.h Stock SDK v2.11.0 2022-04-08 22:42:47 +08:00
usb_device_descriptor.c Updated to SDK v2.15.000 2024-04-12 21:21:49 +08:00
usb_device_descriptor.h Stock SDK v2.11.0 2022-04-08 22:42:47 +08:00

readme.md

Overview

The maestro_usb_speaker application demonstrates audio processing on the ARM cortex core utilizing the Maestro Audio Solutions library.

The application is controlled by commands from a shell interface using serial console.

Type "help" to see the command list. Similar description will be displayed on serial console:

    >> help

    "help": List all the registered commands

    "exit": Exit program

    "version": Display component versions

    "usb_speaker": Play data from the USB port as an audio 2.0
                   speaker device.
       USAGE:     usb_speaker <seconds>
       <seconds>  Time in seconds how long the application should run.
                   When you enter a negative number the application will
                   run until the board restarts.
       EXAMPLE:   The application will run for 20 seconds: usb_speaker 20

After running the "usb_speaker" command, the USB device will be enumerated on your host. User will see the volume levels obtained from the USB host as in the example below. This is just an example application. To leverage the values, the demo has to be modified.

Notes

  1. If the USB device audio speaker example uses an ISO IN feedback endpoint, please attach the device to a host like PC which supports feedback function. Otherwise, there might be attachment issue or other problems.
  2. This example supports UAC 5.1 and UAC 5.1 is disabled by default, this feature can be enabled by set macro USB_AUDIO_CHANNEL5_1 as 1U.
    • When playing an 5.1 audio file, the example sends only the front-left and front-right channels to the Audio Line Out port (the other channels are ignored), since this example only supports on-board codecs with stereo audio output.
  3. When device functionality is changed, such as UAC 5.1, please uninstall the previous PC driver to make sure the device with changed functionality can run normally.

SDK version

  • Version: 2.15.000

Toolchain supported

  • IAR embedded Workbench 9.40.1
  • GCC ARM Embedded 12.2
  • MCUXpresso 11.8.0

Hardware requirements

  • 2x Micro USB cable
  • JTAG/SWD debugger
  • LPCXpresso55s69 board
  • Personal Computer
  • Headphones with 3.5 mm stereo jack

Board settings

  1. Set the hardware jumpers (Tower system/base module) to default settings.

Prepare the Demo

  1. Change the value of the USB_DEVICE_WORKAROUND_AUDIO_20_WINDOWS macro from (0U) to (1U) in the usb_device_descriptor.h file.
  2. Connect the first micro USB cable between the PC host and the debug USB port on the board.
  3. Open a serial terminal with the following settings:
    • 115200 baud rate
    • 8 data bits
    • No parity
    • One stop bit
    • No flow control
  4. Download the program to the target board.
  5. Connect the second micro USB cable between the PC host and the USB (full speed) port on the board.
  6. Connect the earphone/headphone at Audio Line Out port of target board.
  7. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

When the example runs successfully, you should see similar output on the serial terminal as below:

    **********************************************
    Maestro audio USB speaker solutions demo start
    **********************************************

    Copyright  2022  NXP
    [APP_Shell_Task] start

    >> usb_speaker -1

    Starting maestro usb speaker application
    The application will run until the board restarts
    [STREAMER] Message Task started
    Starting playing
    [STREAMER] start usb speaker
    Set Cur Volume : fbd5