From e9586b59d3f50782ef028e24026329fa87f6dc99 Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Wed, 17 May 2023 13:48:36 +0100 Subject: [PATCH 1/4] Move check for XUA_USB_EN after include of xua.h --- lib_xua/src/core/audiohub/audiohub_dsd.h | 2 +- lib_xua/src/core/xuduser/xuduser.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lib_xua/src/core/audiohub/audiohub_dsd.h b/lib_xua/src/core/audiohub/audiohub_dsd.h index 4cfa8126..3986fec6 100644 --- a/lib_xua/src/core/audiohub/audiohub_dsd.h +++ b/lib_xua/src/core/audiohub/audiohub_dsd.h @@ -52,7 +52,7 @@ static inline void DoDsdDop(int &everyOther, unsigned samplesOut[], unsigned &ds /* When DSD is enabled and streaming is standard PCM, this function checks for a series of DoP markers in the upper byte. If found it will exit deliver() with the command to restart in DoP mode. When in DoP mode, this function will check for a single absence of the DoP marker and exit deliver() with the command - to restart in I2S mode. */ + to restart in I2S/PCM mode. */ static inline int DoDsdDopCheck(unsigned &dsdMode, int &dsdCount, unsigned curSamFreq, unsigned samplesOut[], unsigned &dsdMarker) { /* Check for DSD - note we only move into DoP mode if valid DoP Freq */ diff --git a/lib_xua/src/core/xuduser/xuduser.c b/lib_xua/src/core/xuduser/xuduser.c index 207906e7..c962e701 100644 --- a/lib_xua/src/core/xuduser/xuduser.c +++ b/lib_xua/src/core/xuduser/xuduser.c @@ -1,10 +1,12 @@ -// Copyright 2013-2021 XMOS LIMITED. +// Copyright 2013-2023 XMOS LIMITED. // This Software is subject to the terms of the XMOS Public Licence: Version 1. -#if XUA_USB_EN #include "xua.h" +#if XUA_USB_EN #include "hostactive.h" #include "audiostream.h" +/* Implementations over-riding empty versions in lib_xud/sec/core/XUD_User.c */ + void XUD_UserSuspend(void) __attribute__ ((weak)); void XUD_UserSuspend(void) { From b238196f7446cc3412cfeae045f2aac382f482d0 Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Wed, 17 May 2023 13:55:41 +0100 Subject: [PATCH 2/4] Copyright comment only --- lib_xua/src/core/audiohub/audiohub_dsd.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_xua/src/core/audiohub/audiohub_dsd.h b/lib_xua/src/core/audiohub/audiohub_dsd.h index 3986fec6..80af207b 100644 --- a/lib_xua/src/core/audiohub/audiohub_dsd.h +++ b/lib_xua/src/core/audiohub/audiohub_dsd.h @@ -1,4 +1,4 @@ -// Copyright 2018-2022 XMOS LIMITED. +// Copyright 2018-2023 XMOS LIMITED. // This Software is subject to the terms of the XMOS Public Licence: Version 1. #if (DSD_CHANS_DAC != 0) From c469dd6cde650295cd3bbc76a539e6baff43bb70 Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Wed, 17 May 2023 13:58:56 +0100 Subject: [PATCH 3/4] Changelog update --- CHANGELOG.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 91828aac..65b61c40 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -5,6 +5,8 @@ UNRELEASED ---------- * FIXED: Memory corruption during initialisation of mixer weights + * FIXED: UserHostActive() not being called as expected (#326) + * FIXED; Exception when entering DSD mode 3.4.0 ----- From 4528bed740456a50ee3d9fc2f9816602c849d6b1 Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Wed, 14 Jun 2023 12:58:51 +0100 Subject: [PATCH 4/4] Readme, changelog and version update --- CHANGELOG.rst | 18 ++++++++++++++---- README.rst | 10 +++++----- lib_xua/module_build_info | 2 +- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 65af1b55..e219cbc4 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,14 +1,24 @@ lib_xua Change Log ================== -UNRELEASED ----------- +3.5.0 +----- - * ADDED: Configurable word-length for I2S/TDM via XUA_I2S_N_BITS - * FIXED: Memory corruption due to erroneous initialisation of mixer weights when not in use (#152) + * 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 + * 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 + 3.4.0 ----- diff --git a/README.rst b/README.rst index 075a55c8..00ce34c3 100644 --- a/README.rst +++ b/README.rst @@ -1,10 +1,8 @@ lib_xua ####### -:Version: 3.4.0 +:Version: 3.5.0 :Vendor: XMOS - - :Scope: General Use Summary @@ -41,9 +39,9 @@ Key features of the various components in this repository are as follows - Synchronisation to external digital streams i.e. S/PDIF or ADAT (when in asynchronous mode) -- I2S slave & master modes +- I2S (slave/master modes with configurable word-length) -- TDM slave & master modes +- TDM (slave/master modes with configurable word-length) - MIDI input/output (Compliant to USB Class Specification for MIDI devices) @@ -53,6 +51,8 @@ Key features of the various components in this repository are as follows - Simple playback controls via USB Human Interface Device (HID) Class +- Support for adding custom HID interfaces + Note, not all features may be supported at all sample frequencies, simultaneously or on all devices. Some features may also require specific host driver support. diff --git a/lib_xua/module_build_info b/lib_xua/module_build_info index 49856b21..3e24d952 100644 --- a/lib_xua/module_build_info +++ b/lib_xua/module_build_info @@ -1,4 +1,4 @@ -VERSION = 3.4.0 +VERSION = 3.5.0 DEBUG ?= 0