Skip to content

Releases: xmos/lib_xua

v5.0.0

20 Nov 17:49
3c24564
Compare
Choose a tag to compare
  • ADDED: Support for DFU 1.1 DFU_DETACH with bitWillDetach set to 1
  • ADDED: Enumerate with the DFU interface as WINUSB compatible. This is done by updating the bcdUSB version to 2.01 and providing the BOS and MSOS2.0 descriptors listing WINUSB compatibility at enumeration
  • ADDED: Support for XMOS_DFU_REVERTFACTORY arriving as a USB_BMREQ_H2D_VENDOR_INT request to work with the latest Thesycon DFU driver on Windows
  • ADDED: Support for building the xmosdfu application on MacOS arm64
  • ADDED: MIDI support with UAC1.0
  • ADDED: DFU support with UAC1.0
  • CHANGED: By default, enumerate with iSerialNumber set to None(0) in the device descriptor
  • CHANGED: xmosdfu app to use DFU_DETACH
  • CHANGED: xmosdfu app to send XMOS_DFU_REVERTFACTORY as bmRequestType.Type = Vendor
  • CHANGED: xmosdfu app command line for specifying runtime and DFU mode PIDs
  • CHANGED: Limit HS_STREAM_FORMAT_OUTPUT_1/2/3_MAXPACKETSIZE to 1024 bytes to fix bcdUSB version 2.01 USB device supporting a sampling rate of 192KHz not enumerating on Windows
  • CHANGED: Added default value (1) for XUA_QUAD_SPI_FLASH
  • CHANGED: Default value of FLASH_MAX_UPGRADE_SIZE to 512 KB
  • CHANGED: Build examples using XCommon CMake instead of XCommon
  • CHANGED: AN00248 now targets XK-EVK-XU316 and uses mic_array version 5 (new API)
  • CHANGED: Examples use lib_board_support for XK-AUDIO-316-MC-AB support code
  • CHANGED: Master clock port no longer used if not required, for example when using I2S slave with USB disabled
  • FIXED: Build issue when XUA_NUM_PDM_MICS > 0
  • FIXED: baInterfaceNr field in MIDI Class-specific AC Interface Descriptor to specify the correct MIDI streaming interface number
  • REMOVED: Support for PDM mics for xcore-200 targets
  • Changes to dependencies:
    • lib_adat: 1.2.0 -> 2.0.1
    • lib_dsp: Removed dependency
    • lib_locks: 2.2.0 -> 2.3.1
    • lib_logging: 3.2.0 -> 3.3.1
    • lib_mic_array: 4.6.0 -> 5.5.0
    • lib_spdif: 6.1.1 -> 6.2.1
    • lib_sw_pll: 2.2.0 -> 2.3.1
    • lib_xassert: 4.2.0 -> 4.3.1
    • lib_xcore_math: Added dependency 2.4.0
    • lib_xud: 2.3.2 -> 2.4.0

v4.2.0

30 Jul 09:40
Compare
Choose a tag to compare
  • CHANGED: lsats instruction used for saturation in the mixer
  • CHANGED: Mixer task communication scheme simplified, aiding code reuse &
    performance
  • CHANGED: Audio Class Control Interface no longer presented in descriptors
    if NUM_USB_CHAN_IN and NUM_USB_CHAN_OUT are both zero
  • CHANGED: Buffering sub-system no longer spawns if NUM_USB_CHAN_IN and
    NUM_USB_CHAN_OUT are both zero
  • CHANGED: Communication of commands between tasks now uniformly uses
    control tokens. Potentially making mix & match of components more tractable
    in the future
  • Changes to dependencies:
    • lib_spdif: 6.1.0 -> 6.1.1
    • lib_xud: 2.3.1 -> 2.3.2

v4.1.0

30 May 14:46
Compare
Choose a tag to compare
  • ADDED: MIDI unit and sub-system tests
  • CHANGED: Only the minimum number of ADAT input formats are enabled based
    on the supported sample rates
  • CHANGED: Enabling ADAT tx enables different channel count interface alts,
    based on sample rate
  • CHANGED: Input audio buffer size and the exit condition underflow modified
    to to fix buffer underflow in some configurations
  • CHANGED: CT_END token based handshake in MIDI channels transactions,
    reducing opportuninity for deadlock
  • FIXED: Device fails to enumerate when ADAT and S/PDIF transmit are
    enabled
  • FIXED: Update software PLL at the correct rate for ADAT S/MUX
  • FIXED: Incorrect internal input EP count for input only devices
  • FIXED: Samples transferred to ADAT tx too frequently in TDM mode
  • FIXED: S/MUX not initialised to a value based on DEFAULT_FREQ in
    clockgen
  • FIXED: Trap when moving to DSD mode on XS3A based devices
  • Changes to dependencies:
    • lib_adat: 1.0.1 -> 1.2.0
    • lib_locks: 2.1.0 -> 2.2.0
    • lib_logging: 3.1.1 -> 3.2.0
    • lib_sw_pll: 2.1.0 -> 2.2.0
    • lib_xassert: 4.1.0 -> 4.2.0

v4.0.0

22 Mar 17:55
Compare
Choose a tag to compare
  • ADDED: Support for XCommon CMake build system
  • FIXED: Output volume control not enabled by default when MIXER disabled
  • FIXED: Full 32bit result of volume processing not calculated when
    required
  • FIXED: Input stream sending an erroneous zero-length packet when exiting
    underflow state
  • FIXED Build failures when XUA_USB_EN = 0
  • FIXED: Clock configuration issues when ADAT and S/PDIF receive are
    enabled (#352)
  • FIXED: Repeated old S/PDIF and ADAT samples when entering underflow
    state
  • CHANGED: QUAD_SPI_FLASH replaced by XUA_QUAD_SPI_FLASH (default: 1)
  • CHANGED: UserBufferManagementInit() now takes a sample rate parameter
  • CHANGED: xcore.ai targets use sigma-delta software PLL for clock recovery
    of digital Rx streams and synchronous USB audio by default
  • CHANGED: Windows host mixer control application now requires driver GUID
    option
  • Changes to dependencies:
    • lib_dsp: 6.2.1 -> 6.3.0
    • lib_mic_array: 4.5.0 -> 4.6.0
    • lib_spdif: 5.0.1 -> 6.1.0
    • lib_sw_pll: Added dependency 2.1.0
    • lib_xud: 2.2.3 -> 2.3.1

v3.5.1

21 Jun 11:22
Compare
Choose a tag to compare
  • FIXED: Respect I2S_CHANS_PER_FRAME when calculating bit-clock rates
  • Changes to dependencies:
    • lib_spdif: 5.0.0 -> 5.0.1

v3.5.0

15 Jun 11:47
Compare
Choose a tag to compare
  • ADDED: Configurable word-length for I2S/TDM via XUA_I2S_N_BITS
  • ADDED: Support for statically defined custom HID descriptor
  • CHANGED: Rearranged main() such that adding custom code that uses lib_xud
    is possible
  • CHANGED: bNumConfigurations changed from 2 to 1, removing a work-around to
    stop old Windows versions loading the composite driver
  • FIXED: Memory corruption due to erroneous initialisation of mixer
    weights when not in use (#152)
  • FIXED: UserHostActive() not being called as expected (#326)
  • FIXED: Exception when entering DSD mode (#327)
  • Changes to dependencies:
    • lib_spdif: 4.2.1 -> 5.0.0
    • lib_xud: 2.2.2 -> 2.2.3

v3.4.0

15 Mar 13:05
Compare
Choose a tag to compare
  • ADDED: Unit tests for mixer functionality
  • ADDED: Host mixer control applications (for Win/macOS)
  • CHANGED: Small tidies to mixer implementation
  • CHANGED: Improved mixer control channel communication protocol to avoid
    deadlock situations
  • CHANGED: By default, output volume processing occurs in mixer task, if
    present. Previously occurred in decouple task
  • CHANGED: Some optimisations in sample transfer from decouple task
  • FIXED: Exception on startup when USB input disabled
  • FIXED: Full 32bit volume processing only applied when required
  • FIXED: Setting OUT_VOLUME_AFTER_MIX to zero now has the expected effect
  • Changes to dependencies:
    • lib_xud: 2.2.1 -> 2.2.2

v3.3.1

26 Oct 17:37
Compare
Choose a tag to compare
  • CHANGED: Documentation updates
  • Changes to dependencies:
    • lib_spdif: 4.1.0 -> 4.2.1

v3.3.0

25 Oct 19:11
Compare
Choose a tag to compare
  • CHANGED: Define ADAT_RX renamed to XUA_ADAT_RX_EN
  • CHANGED: Define ADAT_TX renamed to XUA_ADAT_TX_EN
  • CHANGED: Define SPDIF_RX renamed to XUA_SPDIF_RX_EN
  • CHANGED: Define SELF_POWERED changed to XUA_POWERMODE and associated
    defines
  • CHANGED: Drive strength of I2S clock lines upped to 8mA on xCORE.ai
  • CHANGED: ADC datalines sampled on falling edge of clock in TDM mode
  • CHANGED: Improved startup behaviour of TDM clocks
  • FIXED: Intermittent underflow at MAX_FREQ on input stream start due to
    insufficient packet buffering
  • FIXED: Decouple buffer accounting to avoid corruption of samples
  • Changes to dependencies:
    • lib_adat: Added dependency 1.0.1
    • lib_xud: 2.1.0 -> 2.2.1

v3.2.0rc1

01 Jun 16:14
Compare
Choose a tag to compare
v3.2.0rc1 Pre-release
Pre-release
  • CHANGED: Updated tests to use lib_locks (was legacy module_locks)
  • CHANGED: Exclude HID Report functions unless the HID feature is enabled
  • CHANGED: Explicit feedback EP enabled by default (see
    UAC_FORCE_FEEDBACK_EP)
  • FIXED: Incorrect conditional compilation of HID report code
  • FIXED: Input/output descriptors written when input/output not enabled.
    (Audio class 1.0 mode using XUA_USB_DESCRIPTOR_OVERWRITE_RATE_RES)
  • Changes to dependencies:
    • lib_dsp: 5.0.0 -> 6.2.1
    • lib_locks: Added dependency 2.1.0
    • lib_logging: 3.0.0 -> 3.1.1
    • lib_mic_array: 4.0.0 -> 4.5.0
    • lib_spdif: 4.0.0 -> 4.1.0
    • lib_xassert: 4.0.0 -> 4.1.0
    • lib_xud: 2.0.0 -> 2.1.0