forked from PAWPAW-Mirror/lib_xua
cd5f7272c8f42777a3e64508a538faa257b9d19a
DFU will send the AUDIO_STOP_FOR_DFU from endpoint0 to audio core in order to trigger the audio core running dummy_deliver instead of the deliver. The current code didn't distinguish the read SET_SAMPLE_FREQ or "fake" SET_SAMPLE_FREQ (not a real sampFreq, but is AUDIO_STOP_FOR_DFU), so when it is AUDIO_STOP_FOR_DFU, the current decouple code will reset the buffer just as it is sample rate switch, but this will cause the USB hub incorrectly reboot when there is a USB hub connected between XMOS device and the host. The MSFT XUF208 project, using a USB2.0 hub connected to Linux xhci, the error from xhci is "buffer overrun event on the endpoint, followed by a hub re-enabling from khubd. Modified like this commit will solve the problem. So update decouple for DFU "fake" SET_SAMPLE_FREQ special processing just like what did in the ep_buffer.
lib_xua
=======
Summary
-------
USB Audio Shared Components for use in the XMOS USB Audio Refererence Designs.
This library enables the development of USB Audio devices on the XMOS xCORE architecture.
Features
........
Key features of the various applications in this repository are as follows
- USB Audio Class 1.0/2.0 Compliant
- Fully Asynchronous operation
- Support for the following sample frequencies: 8, 11.025, 12, 16, 32, 44.1, 48, 88.2, 96, 176.4, 192, 352.8, 384kHz
- Input/output channel and individual volume/mute controls supported
- Support for dynamically selectable output audio formats (e.g. resolution)
- Field firmware upgrade compliant to the USB Device Firmware Upgrade (DFU) Class Specification
- S/PDIF output
- S/PDIF input
- ADAT output
- ADAT input
- MIDI input/output (Compliant to USB Class Specification for MIDI devices)
- DSD output (Native and DoP mode) at DSD64 and DSD128 rates
- Mixer with flexible routing
- Simple playback controls via Human Interface Device (HID)
- Support for operation with Apple devices (requires software module sc_mfi for MFI licensees only - please contact XMOS)
Note, not all features may be supported at all sample frequencies, simultaneously or on all devices. Some features also require specific host driver support.
Software version and dependencies
.................................
.. libdeps::
Related Application Notes
.........................
The following application notes use this library:
* AN000246 - Simple USB Audio Device using lib_xua
* AN000247 - Using lib_xua with lib_spdif (transmit)
* AN000248 - Using lib_xua with lib_mic_array
Description
Languages
C
63.7%
XC
27%
C++
5%
Python
3.1%
CMake
0.4%
Other
0.7%