Skip to content

Releases: xmos/sw_usb_audio

v9.0.0

12 Dec 14:47
Compare
Choose a tag to compare
  • ADDED: app_usb_aud_xk_316_mc: 2AMi16o16xxxaax_tdm8 build config (ADAT
    Rx/Tx, TDM master)

  • CHANGED: Extracted the board setup code from audiohw.xc to a new library:
    lib_board_support

  • CHANGED: DFU_PID defined in the xua_conf of the example applications

  • CHANGED: User Guide to have xcommon_cmake as the documented build flow

  • Changes to dependencies:

    • lib_adat: 1.2.0 -> 2.0.1

      • CHANGED: Documentation updated
      • ADDED: "adat.h" header file provided access to both transmit and
        receive API
      • CHANGED: Receive API now uses streaming chanend (breaking change)
      • CHANGED: Documentation updates
      • CHANGED: Examples now build using XCommon Cmake build system
    • lib_board_support: Added dependency 1.1.1

      • CHANGED: Documentation improvements
      • REMOVED: Dependency of examples on lib_i2s
    • lib_dsp: Removed dependency

    • lib_i2s: 5.1.0 -> 6.0.1

      • CHANGED: Documentation updated
      • REMOVED: Support for XS1 - Please design with xcore.ai for new projects
      • REMOVED: I²S non "frame" API (superseded by more efficient frame
        versions)
      • CHANGED: Use XCommon-CMake and use in examples/tests
      • CHANGED: Examples ported to XK-AUDIO-316-MC board (was XK-AUDIO-216-MC)
      • CHANGED: Examples use lib_board_support instead of custom hardware setup
    • lib_locks: 2.2.0 -> 2.3.1

      • CHANGED: Documentation updates
      • CHANGED: Build using XCommon CMake instead of xcommon
    • lib_logging: 3.2.0 -> 3.3.1

      • CHANGED: Documentation updates
      • CHANGED: Build applications using XCommon CMake instead of XCommon
    • lib_mic_array: 4.6.0 -> 5.4.0

      • CHANGED: All examples now build under XCommon CMake build system
      • ADDED: Will build without errors for XS2 targets but no API available
      • DEPRECATED: Previously used custom CMake build support. This will be
        removed in future versions. Please use XCommon CMake build system as
        provided in XTC 15.3.0 onwards for new projects.
      • FIXED: Vanilla configuration now compiles correctly under XTC 15.3.0
      • ADDED: Support for XCommon CMake build system
      • Added 48 kHz decimator design script
      • Added documentation to cover 32 kHz and 48 kHz deciamtors
      • Added 16ch de-interleave to support 16 DDR mics on a single 8b port
      • Added parallel decimation use example
      • Fixed documentation generation issues
      • Improved default audio filter. Reduces noise floor and improves alias
        attentuation
      • Changed DCOE filter to increase attenuation below 20 Hz
      • Documentation improvements.
      • Updates lib_mic_array to use lib_xcore_math (formerly lib_xs3_math)
        version 2.0.2
      • Updates CMake project to use CPM to obtain dependencies (when top level
        project)
      • [issue #171] Changes behavior when mic array consumer gets backed up
        from a quiet deadlock to an ECALL exception
      • Also adds a way to allow blocks of PDM to be quietly dropped instead
        (see AssertOnDroppedBlock())
      • Mic Array library redesigned from scratch to make efficient use of XMOS
        XS3 architecture
      • Many unused features from previous versions have been dropped
      • Initial v5.0 features:
      • Supports 1-, 4-, and 8-bit ports
      • Supports both SDR and DDR microphone configurations
      • Use 1-16 PDM microphones
      • Configurable PDM clock frequency
      • Configurable two-stage decimating FIR
      • Reference filter with total decimation factor of 192 provided
      • Optional DC offset elimination filter
      • Configurable frame size (down to single sample)
      • Extensible C++ design
    • lib_spdif: 6.1.0 -> 6.2.1

      • CHANGED: Documentation updated
      • CHANGED: Use XCommon CMake for examples and tests
      • CHANGED: Use lib_sw_pll for configuring the application PLL in
        examples
      • FIXED: Supressed warnings regarding taking the address of a resource
        handle
    • lib_sw_pll: 2.2.0 -> 2.3.1

      • CHANGED: Documentation updates
      • FIXED: Added missing <xs1.h> include
      • CHANGED: Updated pll_calc script to separate out integer and fractional
        divider values for easier user interpretation
      • CHANGED: Improved PLL solution selection in app_pll_model to ensure
        sufficient positive and negative range from nominal frequency
      • CHANGED: Uses Xcommon Cmake instead of custom Cmake
      • FIXED: Python models and test type error on later numpy versions
    • lib_xassert: 4.2.0 -> 4.3.1

      • CHANGED: Documentation updates
      • CHANGED: Build examples and tests using XCommon CMake instead of XCommon
      • CHANGED: Run tests using pytest
    • lib_xcore_math: Added dependency 2.3.0

      • Changes examples and tests to build using XCommon CMake
    • lib_xua: 4.1.0 -> 5.0.0

      • 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
      • 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
    • lib_xud: 2.3.1 -> 2.4.0

      • CHANGE: Documentation updates
      • CHANGE: Examples now build using xcommon-cmake build system (was
        xcommon)
      • CHANGE: AN00129 is now the main library usage example - renamed
        app_hid_mouse
      • REMOVED: AN00124 - now maintained as a separate application note
      • REMOVED: AN00125 - now maintained as a separate application note
      • REMOVED: AN00126 - now maintained as a separate application note
      • REMOVED: AN00127 - now maintained as a separate application note
      • REMOVED: AN00131 - now maintained as a separate application note
      • REMOVED: AN00132 - now maintained as a separate application note
      • REMOVED: AN00135 - now maintained as a separate application note
      • REMOVED: AN00136 - now maintained as a separate application note
      • CHANGE: RX_RISE_DELAY for XS2A based devices to resolve intermittent
        transmit timing issues

v8.1.0

01 Jun 16:45
Compare
Choose a tag to compare
  • ADDED: 2AMi18o18mssaax build config (MIDI, SPDIF Rx/Tx & ADAT Rx/Tx)
  • ADDED: 2AMi16o16xxxaax build config (ADAT Rx/Tx)
  • ADDED: 2AMi8o8mxxxxx build config (MIDI)
  • CHANGED: Use lib_sw_pll code for configuring the application PLL
  • FIXED: Use correct number of flash pages for XK-AUDIO-316-MC
  • FIXED: Links to usb.org in documentation
  • Changes to dependencies:
    • lib_adat: 1.1.0 -> 1.2.0
      • CHANGED: example applications now run on xcore.ai hardware
      • CHANGED: example applications build using XCommon CMake
    • lib_sw_pll: 2.1.0 -> 2.2.0
      • FIXED: Enable PLL output after delay to allow it to settle
      • FIXED: Fixed frequency settings for 11,289,600Hz
    • lib_xua: 4.0.0 -> 4.1.0
      • 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

v8.0.0

26 Mar 12:16
Compare
Choose a tag to compare
  • ADDED: Support for XCommon CMake build system
  • CHANGED: Windows control app now take GUID via a -g option, accommodating
    latest Thesycon driver packages
  • CHANGED: app_usb_aud_xk_316_mc defaults to using xcore.ai AppPLL for
    master clock generation when syncing to digital streams or in USB sync mode,
    rather than the external CS2100 device
  • CHANGED: UserBufferManagmentInit() implementations updated to match API
    change in lib_xua (now takes a sample rate value)
  • CHANGED: app_usb_aud_xk_316_mc: Improvements in interaction with on-board
    power control circuitry
  • Changes to dependencies:
    • lib_adat: 1.0.1 -> 1.1.0
      • ADDED: Support for XCommon CMake build system
    • lib_dsp: 6.2.1 -> 6.3.0
      • ADDED: Support for XCommon CMake build system
    • lib_i2c: 6.1.1 -> 6.2.0
      • ADDED: Support for XCommon CMake build system
      • REMOVED: Unused dependency lib_logging
    • lib_i2s: 5.0.0 -> 5.1.0
      • ADDED: Support for XCommon CMake build system
      • RESOLVED: Added missing shutdown feature to i2s_frame_slave
      • FIXED: Allow input and output ports in the 4-bit port implementation to
        be nullable
      • FIXED: Behaviour of the restart_check() callback function in the example
        applications
      • REMOVED: Unused dependency lib_logging
      • ADDED: Frame synch error field in i2s_config_t for I2S slave
    • lib_locks: 2.1.0 -> 2.2.0
      • ADDED: Tests now run on xcore.ai as well as xcore-200
      • ADDED: Support for XCommon CMake build system
    • lib_logging: 3.1.1 -> 3.2.0
      • ADDED: Support for XCommon CMake build system
    • lib_mic_array: 4.5.0 -> 4.6.0
      • ADDED: Support for XCommon CMake build system
    • lib_spdif: 5.0.1 -> 6.1.0
      • ADDED: Support for XCommon CMake build system
      • ADDED: Support for transmit at 32kHz
      • RESOLVED: Coding optimisations not properly enabled in receiver
      • RESOLVED: Receiver timing issues for sample rates greater than 96kHz
      • RESOLVED: Failure to select correct receive sample rate when the sample
        rate of the incoming stream changes
      • ADDED: Shutdown function for S/PDIF transmitter
      • CHANGED: Receiver rearchitected for improved performance and jitter
        tolerance
      • CHANGED: API function names updated for uniformity between rx and tx
    • lib_sw_pll: Added dependency 2.1.0
      • ADDED: Support for XCommon CMake build system
      • ADDED: Reset PI controller state API
      • ADDED: Fixed frequency (non phase-locked) clock PLL API
      • FIXED: Init resets PI controller state
      • FIXED: Now compiles from XC using XCommon
      • ADDED: Guard source code with XS3A to allow library inclusion in
        non- xcore-ai projects
      • CHANGED: Reduce PLL initialisation stabilisation delay from 10 ms to 500
        us
      • ADDED: Split SDM init function to allow separation across tiles
      • FIXED: Use non-ACK write to PLL in Sigma Delta Modulator
    • lib_xassert: 4.1.0 -> 4.2.0
      • ADDED: Support for XCommon CMake build system
    • lib_xua: 3.5.1 -> 4.0.0
      • 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
    • lib_xud: 2.2.3 -> 2.3.1
      • FIXED: XS3A based devices not responding to IN packets in SE0_NAK
        test mode
      • ADDED: XMOS proprietary test mode XMOS_IN_ADDR1
      • ADDED: Support for XCommon CMake build system
      • CHANGE: Removed definition and use of REF_CLK_FREQ in favour of
        PLATFORM_REFERENCE_MHZ from platform.h
      • FIXED: Do not include implementations of inline functions when
        XUD_WEAK_API is set

v7.3.1

21 Jun 13:01
Compare
Choose a tag to compare
  • Changes to dependencies:
    • lib_xua: 3.5.0 -> 3.5.1
      • FIXED: Respect I2S_CHANS_PER_FRAME when calculating bit-clock rates

v7.3.0

19 Jun 18:13
Compare
Choose a tag to compare
  • ADDED: Support for 12.288MHz 11.2896MHz to xcore.ai AppPLL master clock
    options
  • CHANGED: app_usb_aud_xk_316_mc: Respect XUA_I2S_N_BITS when configuring
    external audio hardware
  • FIXED: app_usb_aud_xk_316_mc: DAC settings not configured when sample
    rate is lower than 48kHz
  • Changes to dependencies:
    • lib_spdif: 4.2.1 -> 5.0.1
      • FIXED: Reinstated graceful handling of bad sample-rate/master-clock
        pair
      • CHANGED: Updated examples for new XK-AUDIO-316-MC board
      • CHANGED: Updated transmit to simplified implementation (note, no
        longer supports XS1 based devices)
      • CHANGED: Removed headers SpdifReceive.h and SpdifTransmit.h. Users
        should include spdif.h
    • lib_xua: 3.4.0 -> 3.5.0
      • 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)
    • lib_xud: 2.2.2 -> 2.2.3
      • FIXED: XUD_UserSuspend() and XUD_UserResume now properly marked as
        weak symbols (#374)
      • FIXED: Incorrect time reference used during device attach process
        (#367)

v7.2.0

16 Mar 17:23
Compare
Choose a tag to compare
  • ADDED: Driver information section to documentation
  • CHANGED: AppPLL settings updated to reduce jitter (#112)
  • CHANGED: app_usb_aud_316_mc: Improved DAC configuration sequencing
    following datasheet recommendations
  • CHANGED: app_usb_aud_316_mc: Manual DAC setup rather than using
    auto-config to improve output quality (internal PLL no longer used)
  • FIXED: app_usb_aud_316_mc: Intermittent output from DACs due to DAC
    auto-standby (#110)
  • FIXED: app_usb_aud_216_mc: Define app defaults ahead of lib_xua defaults
  • Changes to dependencies:
    • lib_xua: 3.3.1 -> 3.4.0
      • 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
    • lib_xud: 2.2.1 -> 2.2.2
      • FIXED: Syntax error when including xud.h from C
      • CHANGE: Various API functions optionally marked as a weak symbol
        based on XUD_WEAK_API

v7.2.0rc0

16 Mar 10:55
Compare
Choose a tag to compare
v7.2.0rc0 Pre-release
Pre-release
  • ADDED: Driver information section to documentation
  • CHANGED: AppPLL settings updated to reduce jitter (#112)
  • CHANGED: app_usb_aud_316_mc: Improved DAC configuration sequencing
    following datasheet recommendations
  • CHANGED: app_usb_aud_316_mc: Manual DAC setup rather than using
    auto-config to improve output quality (internal PLL no longer used)
  • FIXED: app_usb_aud_316_mc: Intermittent output from DACs due to DAC
    auto-standby (#110)
  • FIXED: app_usb_aud_216_mc: Define app defaults ahead of lib_xua defaults
  • Changes to dependencies:
    • lib_xua: 3.3.1 -> 3.4.0
      • 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
    • lib_xud: 2.2.1 -> 2.2.2
      • FIXED: Syntax error when including xud.h from C
      • CHANGE: Various API functions optionally marked as a weak symbol
        based on XUD_WEAK_API

v7.1.0alpha0

22 Nov 12:21
Compare
Choose a tag to compare
v7.1.0alpha0 Pre-release
Pre-release
  • ADDED: Build configs for synchronous mode (uses external CS2100 device)
  • ADDED: app_usb_aud_xk_316_mc: Build configs for xCORE as I2S slave
  • CHANGED: app_usb_aud_xk_316_mc: Core voltage reduced to 0.9v (was 0.922v)
  • CHANGED: Seperated build configs into build-tested, partially-test and
    fully-tested
  • CHANGED: Documentation updates (note, "Design Guide" now "User Guide")
  • Changes to dependencies:
    • lib_adat: 1.0.0 -> 1.0.1
      • Removed duplicate header file
    • lib_i2s: 4.3.0 -> 5.0.0
      • ADDED: Support for I2S data lengths less than 32 bit.
      • ADDED: Implementation allowing use of a 4-bit port for up to 4
        simultaneous streaming inputs or outputs.
    • lib_spdif: 4.1.0 -> 4.2.1
      • CHANGED: Documentation updates
      • ADDED: Added shutdown function for S/PDIF Receiver
      • CHANGED: spdif_tx_example updated to use XK-AUDIO-216-MC
    • lib_xua: 3.2.0 -> 3.3.1
      • CHANGED: Documentation updates
      • 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
    • lib_xud: 2.1.0 -> 2.2.1
      • FIXED: Control endpoint ready flag not properly cleared on receipt
        of SETUP transaction (#356)
      • CHANGE: Further API functions re-authored in C (were Assembly)
      • CHANGE: Endpoints marked as Disabled now reply with STALL if the host
        attempts to access them, previously they would NAK (#342)
      • FIXED: Exception if host accesses an endpoint that XUD believes to
        be not in use
      • FIXED: Timeout event properly cleaned up after tx handshake received
        (#312)
      • FIXED: A control endpoint will respect the halt condition for OUT
        transactions when marked ready to accept SETUP transactions (#339)
      • FIXED: USB Disconnect on self-powered devices intermittently causing
        Iso EP's to be set to not-ready indefinitely (#351)

v7.0.0alpha0

14 Jun 11:46
Compare
Choose a tag to compare
v7.0.0alpha0 Pre-release
Pre-release
  • ADDED: Application for XK-AUDIO-316-MC hardware
  • ADDED: Support for XTC Tools 15
  • CHANGED: Removed apps for deprecated hardware
  • CHANGED: HID implementation for MC audio board buttons
  • CHANGED: Moved from using sc_ repos to lib_ repos (see dependency changes
    below)
  • FIXED: Need to drive VBUS_OUT low on xCORE-200 MC AUDIO board (#17697)
  • Changes to dependencies:
    • lib_adat: Added dependency 1.0.0
      • Initial release
    • lib_device_control: Removed dependency
    • lib_dsp: Added dependency 6.2.1
      • CHANGED: Jenkinsfile used for CI
    • lib_i2c: Added dependency 6.1.1
      • RESOLVED: Fixed timing for repeated START condition
    • lib_i2s: Added dependency 4.3.0
      • CHANGED: Use XMOS Public Licence Version 1
    • lib_locks: Added dependency 2.1.0
      • CHANGED: Use XMOS Public Licence Version 1
    • lib_logging: 2.0.1 -> 3.1.1
      • CHANGED: Jenkinsfile used for CI
      • CHANGED: Use XMOS Public Licence Version 1
      • REMOVED: not necessary cpanfile
      • CHANGED: Pin Python package versions
      • CHANGED: Build files updated to support new "xcommon" behaviour in xwaf.
      • CHANGE: Test runner script now terminates correctly on Windows
      • ADDED: Now supports the %p format specifier
      • CHANGE: Ignore the case of the format specifiers
      • CHANGE: Ignore padding and alignment characters
    • lib_mic_array: 2.0.1 -> 4.5.0
      • REMOVED: Use of Brew for CI
      • CHANGED: XMOS Jenkins Shared Library version used in CI
      • CHANGED: XN files to support 15.x.x tools
      • CHANGED: Use XMOS Public Licence Version 1
      • FIXED: Compiler warnings when MIC_DUAL_ENABLED is not defined
      • CHANGED: Pin Python package versions
      • REMOVED: not necessary cpanfile
      • CHANGED: Jenkinsfile pinned to Jenkins shared library 0.10.0
      • CHANGED: Updated the minimum version of libraries this library depends
        upon.
      • ADDED support for global define to set single/dual output buffer for
        mic_dual
      • Added mic_dual, an optimised single core, 16kHz, two channel version
        (not compatible with async interface)
      • ADDED: Support for arbitrary frame sizes
      • ADDED: #defines for mic muting
      • ADDED: Non-blocking interface to decimators for 2 mic setup
      • CHANGED: Build files updated to support new "xcommon" behaviour in xwaf.
      • Added xwaf build system support
      • Cleaned up some of the code in the FIR designer.
      • Removed fixed gain in examples
      • Update VU meter example
      • Fix port types in examples
      • Set and inherit XCC_FLAGS rather than XCC_XC_FLAGS when building library
      • Updated lib_dsp dependancy from 3.0.0 to 4.0.0
      • Modified the FIR designer to increase the first stage stopband
        attenuation.
      • Cleaned up some of the code in the FIR designer.
      • Updated docs to reflect the above.
      • Update DAC settings to work for mic array base board as well.
      • Filter design script update for usability.
      • Documentation improvement.
      • Changed DEBUG_UNIT to XASSERT_UNIT to work with lib_xassert.
      • Added upgrade advisory.
      • Added dynamic range subsection to documentation.
      • Added ability to route internal channels of the output rate of the
        mic_array to the mic_array so that they can benefit from the post
        processing of the mic_array.
      • Enabled the metadata which delivers the frame counter.
      • Small fix to the filter generator to allow the use of fewer taps in the
        final stage FIR.
      • Added significant bits collection to the metadata.
      • Added fixed gain control through define MIC_ARRAY_FIXED_GAIN.
      • Tested and enabled the debug mode for detecting frame dropping. Enabled
        by adding DEBUG_MIC_ARRAY to the Makefile.
      • Moved to using types from lib_dsp.
      • Bug fix in python FIR generator script resulting in excessive output
        ripple.
      • Default FIR coefficients now optimised for 16kHz output sample rate.
      • Added ability to remap port pins to channels.
      • MIC_ARRAY_NUM_MICS is now forced to a multiple of 4 with a warning if it
        changed.
      • Corrected MIC_ARRAY_DC_OFFSET_LOG2 default value reporting in
        documentation.
    • lib_spdif: Added dependency 4.1.0
      • CHANGED: Use XMOS Public Licence Version 1
      • CHANGED: Rearrange documentation files
    • lib_voice: Removed dependency
    • lib_xassert: 2.0.1 -> 4.1.0
      • CHANGED: Use XMOS Public Licence Version 1
      • REMOVED: not necessary cpanfile
      • CHANGED: Pin Python package versions
      • CHANGED: Build files updated to support new "xcommon" behaviour in xwaf.
      • CHANGE: Correct dates in LICENSE.txt files
      • CHANGE: Renamed DEBUG_UNIT to XASSERT_UNIT to prevent conflict with
        lib_logging
    • lib_xua: Added dependency 3.2.0
      • 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)
    • lib_xud: Added dependency 2.1.0
      • CHANGE: Various optimisations to aid corner-case timings on XS3 based
        devices
      • CHANGE: Some API functions re-authored in C (from Assembly)
      • CHANGE: Testbench now more accurately models XS3 based devices
    • sc_adat: Removed dependency
    • sc_i2c: Removed dependency
    • sc_spdif: Removed dependency
    • sc_usb: Removed dependency
    • sc_usb_audio: Removed dependency
    • sc_usb_device: Removed dependency
    • sc_util: Removed dependency
    • sc_xud: Removed dependency