nxp-mcuxpresso / mcux-sdk-examples

MCUXpresso SDK Examples
Other
57 stars 28 forks source link

USB audio examples lpc54114 and RT600 #15

Closed albhm closed 2 years ago

albhm commented 2 years ago

Hi, the usb stack middleware release notes say:

The current version of USB stack is 2.8.1.

  • 2.8.1
    • Improvement:
      • update USB audio demos to use audio component (components\audio).
      • Add the checking of function call return value.
      • Add audio multiple channels demo (usb_device_composite_audio_multi_ch_unified) on RT600 audio board.
      • Fix audio noise on sync mode and improve overflow/underflow checking method.
      • Support UAC 3.1, 5.1 and 7.1 on audio speaker demo.
      • Set USB device CDC demo not to depend on DTR setting from host.
      • Support MCUX toolchain on some RTxxxx platforms.
  • 2.8.0
    • Improvement:
      • Fix the USB device stack vulnerability issues.
      • Update the audio PLL and FRO adjustment codes for audio examples in RTxxx, LPC54xxx and LPC55xxx.

The usb audio examples for lpc54114 are missing completely and the mentioned usb_device_composite_audio_multi_ch_unified example for RT600 is missing as well. That makes me wonder if the other improvements (like "Fix audio noise on sync mode and improve overflow/underflow checking method") were actually applied to the current (sdk 2.11) RT600 usb audio examples? I would appreciate it if that could be confirmed as it is hard to track for myself because there is only one commit (at least for evkmimxrt685/usb_examples/usb_device_composite_hid_audio_unified/freertos/audio_unified.c).

For the lpc54628 usb audio examples a few things are missing from the projects (eg. component/audio), so they only build if the missing files are copied from other examples.

mcuxsusan commented 2 years ago

Hello @albhm, it would be very helpful if you would like to share more details on your work. Are you trying to integrate USB stack and examples across NXP platforms? The fact is USB 2.8.1 release update is together with MCUX_2.11.0 release, which means we just start the USB stack and examples delivery on github since MCUX_2.11.0 release, you could check the release notes for MCUX_2.11.0 at https://github.com/NXPmicro/mcux-sdk-examples/releases/tag/MCUX_2.11.0. For the lpcxpresso54114 has no USB examples issue is because the board is in MCUX_2.9.0 scope and we do not have USB examples released on github at that time.

For the usb_device_composite_audio_multi_ch_unified example for RT600, I will check with developer and provide you feedback later, same for the lpc54628 usb audio examples. I guess one of the reason could be the needed middleware is not available on github, in that case the related examples will not be delivered because there are missing dependencies. We will try to enable more content from MCUXpresso SDK to GitHub SDK.

mcuxsusan commented 2 years ago

Hi @albhm, please check below feedback from developer as below: The usb_device_composite_audio_multi_ch_unified example exist for RT600 on mimxrt685audevk board, check the example mimxrt685audevk.

And for the lpc54628 usb example issue, do you mean that you cannot make the project pass build? Did you follow the README guide in https://github.com/NXPmicro/mcux-sdk-examples? Only with this repository itself the projects cannot pass build and run because in github sdk we split the MCUXpresso SDK content and putting sources in different delivery, you need to go to https://github.com/NXPmicro/mcux-sdk/ to get the full delivery of MCUXpresso SDK.

albhm commented 2 years ago

Hi Susan, thanks for your answers. Regarding the multi-channel example: turns out github search is not working as I expected it to. When I enter usb_device_composite_audio_multi_ch_unified in search field (left top of page) and select 'In this repository' I get no results. Also tried the advanced search (with filename: or path: ) and that did not work either, but that is of course not NXP's problem.

For the build issues: I did follow the readme, but it turned out I had run west init one day before the sdk 2.11 commit. And I was confused how west update works. Now I know that have to use normal git procedures in the west manifest repo (=the mcux-sdk repo) to update that and run west update afterwards to update the other repos. A hint in the readme, indicating that the mcux-sdk repo is never updated by west after west init, would be helpful.

mcuxsusan commented 2 years ago

Hi @albhm, thanks for pointing this out. I will update documentation to guide user how to update west check-out SDK overall delivery.