From fd5d5848a2df3c32dd4984ec0e678fb5539873a2 Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Wed, 2 Dec 2015 22:30:44 +0000 Subject: [PATCH 01/14] 'Record release: 6.14.0beta0' --- xpd.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/xpd.xml b/xpd.xml index 15b9b27c..689b7439 100644 --- a/xpd.xml +++ b/xpd.xml @@ -22,6 +22,7 @@ + master 9c4955e3ab0604e6ba4b66ad46e01b5d96d5d6fb git@github.com:xmos/lib_xassert.git @@ -99,7 +100,8 @@ - + + XM-004720-SM XMOS From ec1146b04348f4d6ae8892eb7a34f185d2442619 Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Wed, 2 Dec 2015 23:13:09 +0000 Subject: [PATCH 02/14] 'Record release: 6.14.0beta1' --- xpd.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xpd.xml b/xpd.xml index 689b7439..f64058b1 100644 --- a/xpd.xml +++ b/xpd.xml @@ -101,7 +101,8 @@ - + + XM-004720-SM XMOS From 8e91741cd85e6fcae6d558e452e37822cde6c319 Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Thu, 3 Dec 2015 10:41:13 +0000 Subject: [PATCH 03/14] 'Record release: 6.14.0beta2' --- xpd.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xpd.xml b/xpd.xml index f64058b1..ca293bdf 100644 --- a/xpd.xml +++ b/xpd.xml @@ -102,7 +102,8 @@ - + + XM-004720-SM XMOS From 47e5629acd6e2264252c8dcc747deefd6ae3ca90 Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Tue, 8 Dec 2015 12:09:45 +0000 Subject: [PATCH 04/14] Removed multiplication by decimation factor (lib_mic_array fixed) --- module_usb_audio/pdm_mics/pcm_pdm_mic.xc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module_usb_audio/pdm_mics/pcm_pdm_mic.xc b/module_usb_audio/pdm_mics/pcm_pdm_mic.xc index cf2821ce..7a791eb0 100644 --- a/module_usb_audio/pdm_mics/pcm_pdm_mic.xc +++ b/module_usb_audio/pdm_mics/pcm_pdm_mic.xc @@ -72,7 +72,7 @@ void pdm_process(streaming chanend c_ds_output_0, streaming chanend c_ds_output_ { for(int i = 0; i < NUM_PDM_MICS; i++) { - c_audio <: output[i]*decimationfactor; + c_audio <: output[i]; } } else From 2ae99f11e6da3e246ffaa0fe9bc7d9a4adeebdc7 Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Tue, 8 Dec 2015 15:17:25 +0000 Subject: [PATCH 05/14] Removed 32kHz support when PDM mics enabled (lib_mic_array supports integer decimation factors only) --- module_usb_audio/endpoint0/audiorequests.xc | 6 +++++- module_usb_audio/endpoint0/descriptors.h | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/module_usb_audio/endpoint0/audiorequests.xc b/module_usb_audio/endpoint0/audiorequests.xc index 591d36fb..a5f727cb 100644 --- a/module_usb_audio/endpoint0/audiorequests.xc +++ b/module_usb_audio/endpoint0/audiorequests.xc @@ -874,7 +874,11 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c } #endif /* Special case for some low sample rates */ - unsigned lowSampleRateList[] = {8000, 11025, 12000, 16000, 32000}; + unsigned lowSampleRateList[] = {8000, 11025, 12000, 16000, +#if (NUM_PDM_MICS == 0) + 32000 +#endif + }; for (int k = 0; k < sizeof(lowSampleRateList)/sizeof(unsigned); k++) { diff --git a/module_usb_audio/endpoint0/descriptors.h b/module_usb_audio/endpoint0/descriptors.h index c8d02437..189e1a12 100644 --- a/module_usb_audio/endpoint0/descriptors.h +++ b/module_usb_audio/endpoint0/descriptors.h @@ -2227,9 +2227,11 @@ const unsigned num_freqs_a1 = MAX(3, (0 #if(MIN_FREQ <= 16000) && (MAX_FREQ_FS >= 16000) +1 #endif +#if (NUM_PDM_MICS == 0) #if(MIN_FREQ <= 32000) && (MAX_FREQ_FS >= 32000) +1 #endif +#endif #if (MIN_FREQ <= 44100) && (MAX_FREQ_FS >= 44100) +1 #endif @@ -2455,9 +2457,11 @@ unsigned char cfgDesc_Audio1[] = CHARIFY_SR(16000), /* sampleFreq - 16KHz */ #endif +#if (NUM_PDM_MICS == 0) #if(MIN_FREQ <= 32000) && (MAX_FREQ_FS >= 32000) CHARIFY_SR(32000), /* sampleFreq - 32KHz */ #endif +#endif #if (MIN_FREQ <= 44100) && (MAX_FREQ_FS >= 44100) 0x44, 0xAC, 0x00, /* sampleFreq - 44.1Khz */ @@ -2583,9 +2587,11 @@ unsigned char cfgDesc_Audio1[] = CHARIFY_SR(16000), /* sampleFreq - 32KHz */ #endif +#if (NUM_PDM_MICS == 0) #if(MIN_FREQ <= 32000) && (MAX_FREQ_FS >= 32000) CHARIFY_SR(32000), /* sampleFreq - 32KHz */ #endif +#endif #if (MIN_FREQ <= 44100) && (MAX_FREQ_FS >= 44100) 0x44, 0xAC, 0x00, /* sampleFreq - 44.1Khz */ From 07147aa294ba06455a37a9ba5cefc3eed12d96ba Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Tue, 8 Dec 2015 15:29:31 +0000 Subject: [PATCH 06/14] Changelog --- CHANGELOG.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 7891f62e..7bf515c8 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,11 @@ sc_usb_audio Change Log ======================= +HEAD +---- + - CHANGE: Removed 32kHz sample-rate support when PDM microphones enabled (lib_mic_array + currently does not support non-integer decimation factors) + 6.14.0 ------ - ADDED: Support for for master-clock/sample-rate divides that are not a power of 2 From 0991de95dcf5e2c853da5b979e6325334e18ea3c Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Tue, 8 Dec 2015 15:34:31 +0000 Subject: [PATCH 07/14] Changelog --- CHANGELOG.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 7bf515c8..69c2f5c7 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,8 +1,8 @@ sc_usb_audio Change Log ======================= -HEAD ----- +6.14.1 +------ - CHANGE: Removed 32kHz sample-rate support when PDM microphones enabled (lib_mic_array currently does not support non-integer decimation factors) From 32a171fa44e55c6237839a9e7f917ab79ef06ff2 Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Tue, 8 Dec 2015 15:37:34 +0000 Subject: [PATCH 08/14] Master branch version number bump --- CHANGELOG.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 69c2f5c7..61400c6f 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,7 +1,7 @@ sc_usb_audio Change Log ======================= -6.14.1 +6.15.0 ------ - CHANGE: Removed 32kHz sample-rate support when PDM microphones enabled (lib_mic_array currently does not support non-integer decimation factors) From 91dc11598646288ba18a7e6314dd207fe1a5922a Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Tue, 8 Dec 2015 15:38:51 +0000 Subject: [PATCH 09/14] Revert "Removed 32kHz support when PDM mics enabled (lib_mic_array supports integer decimation factors only)" This reverts commit 2ae99f11e6da3e246ffaa0fe9bc7d9a4adeebdc7. --- module_usb_audio/endpoint0/audiorequests.xc | 6 +----- module_usb_audio/endpoint0/descriptors.h | 6 ------ 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/module_usb_audio/endpoint0/audiorequests.xc b/module_usb_audio/endpoint0/audiorequests.xc index a5f727cb..591d36fb 100644 --- a/module_usb_audio/endpoint0/audiorequests.xc +++ b/module_usb_audio/endpoint0/audiorequests.xc @@ -874,11 +874,7 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c } #endif /* Special case for some low sample rates */ - unsigned lowSampleRateList[] = {8000, 11025, 12000, 16000, -#if (NUM_PDM_MICS == 0) - 32000 -#endif - }; + unsigned lowSampleRateList[] = {8000, 11025, 12000, 16000, 32000}; for (int k = 0; k < sizeof(lowSampleRateList)/sizeof(unsigned); k++) { diff --git a/module_usb_audio/endpoint0/descriptors.h b/module_usb_audio/endpoint0/descriptors.h index 189e1a12..c8d02437 100644 --- a/module_usb_audio/endpoint0/descriptors.h +++ b/module_usb_audio/endpoint0/descriptors.h @@ -2227,11 +2227,9 @@ const unsigned num_freqs_a1 = MAX(3, (0 #if(MIN_FREQ <= 16000) && (MAX_FREQ_FS >= 16000) +1 #endif -#if (NUM_PDM_MICS == 0) #if(MIN_FREQ <= 32000) && (MAX_FREQ_FS >= 32000) +1 #endif -#endif #if (MIN_FREQ <= 44100) && (MAX_FREQ_FS >= 44100) +1 #endif @@ -2457,11 +2455,9 @@ unsigned char cfgDesc_Audio1[] = CHARIFY_SR(16000), /* sampleFreq - 16KHz */ #endif -#if (NUM_PDM_MICS == 0) #if(MIN_FREQ <= 32000) && (MAX_FREQ_FS >= 32000) CHARIFY_SR(32000), /* sampleFreq - 32KHz */ #endif -#endif #if (MIN_FREQ <= 44100) && (MAX_FREQ_FS >= 44100) 0x44, 0xAC, 0x00, /* sampleFreq - 44.1Khz */ @@ -2587,11 +2583,9 @@ unsigned char cfgDesc_Audio1[] = CHARIFY_SR(16000), /* sampleFreq - 32KHz */ #endif -#if (NUM_PDM_MICS == 0) #if(MIN_FREQ <= 32000) && (MAX_FREQ_FS >= 32000) CHARIFY_SR(32000), /* sampleFreq - 32KHz */ #endif -#endif #if (MIN_FREQ <= 44100) && (MAX_FREQ_FS >= 44100) 0x44, 0xAC, 0x00, /* sampleFreq - 44.1Khz */ From 0bf75a0bdacd6ae95857c6d7c1f418eebf306528 Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Tue, 8 Dec 2015 15:39:32 +0000 Subject: [PATCH 10/14] Removed 32khz PDM item from stable changelog --- CHANGELOG.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 69c2f5c7..605c4991 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -3,8 +3,7 @@ sc_usb_audio Change Log 6.14.1 ------ - - CHANGE: Removed 32kHz sample-rate support when PDM microphones enabled (lib_mic_array - currently does not support non-integer decimation factors) + 6.14.0 ------ From cc886a643cab02952b1ec6eb14a6cb1bfa7bf202 Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Tue, 8 Dec 2015 16:05:44 +0000 Subject: [PATCH 11/14] UAC1.0 descriptors now support multi-channel volume control (previously were hard-coded as stereo) --- module_usb_audio/endpoint0/descriptors.h | 57 ++++++++++++++++++++++-- 1 file changed, 54 insertions(+), 3 deletions(-) diff --git a/module_usb_audio/endpoint0/descriptors.h b/module_usb_audio/endpoint0/descriptors.h index 189e1a12..08f865b0 100644 --- a/module_usb_audio/endpoint0/descriptors.h +++ b/module_usb_audio/endpoint0/descriptors.h @@ -2246,7 +2246,7 @@ const unsigned num_freqs_a1 = MAX(3, (0 #endif )); -#define AC_TOTAL_LENGTH (AC_LENGTH + (INPUT_INTERFACES_A1 * (19 + num_freqs_a1 * 3)) + (OUTPUT_INTERFACES_A1 * (19 + (num_freqs_a1 *3)))) +#define AC_TOTAL_LENGTH (AC_LENGTH + (INPUT_INTERFACES_A1 * (17 + NUM_USB_CHAN_IN_FS + num_freqs_a1 * 3)) + (OUTPUT_INTERFACES_A1 * (17 + NUM_USB_CHAN_OUT_FS + (num_freqs_a1 *3)))) #define STREAMING_INTERFACES (INPUT_INTERFACES_A1 + OUTPUT_INTERFACES_A1) /* Number of interfaces for Audio 1.0 (+1 for control ) */ @@ -2322,15 +2322,41 @@ unsigned char cfgDesc_Audio1[] = 11, /* iTerminal */ /* CS_Interface class specific AC interface feature unit descriptor - mute & volume for dac */ - 0x0A, + (8 + NUM_USB_CHAN_OUT_FS), UAC_CS_DESCTYPE_INTERFACE, UAC_CS_AC_INTERFACE_SUBTYPE_FEATURE_UNIT, /* 2 bDescriptorSubType: FEATURE_UNIT */ 0x0A, /* unitID */ 0x01, /* sourceID - ID of the unit/terminal to which this feature unit is connected */ 0x01, /* controlSize - 1 */ + 0x00, /* bmaControls(0) */ +#if (NUM_USB_CHAN_OUT_FS > 0) 0x03, /* bmaControls(1) */ +#endif +#if (NUM_USB_CHAN_OUT_FS > 1) 0x03, /* bmaControls(2) */ +#endif +#if (NUM_USB_CHAN_OUT_FS > 2) + 0x03, /* bmaControls(3) */ +#endif +#if (NUM_USB_CHAN_OUT_FS > 3) + 0x03, /* bmaControls(4) */ +#endif +#if (NUM_USB_CHAN_OUT_FS > 4) + 0x03, /* bmaControls(5) */ +#endif +#if (NUM_USB_CHAN_OUT_FS > 5) + 0x03, /* bmaControls(6) */ +#endif +#if (NUM_USB_CHAN_OUT_FS > 6) + 0x03, /* bmaControls(7) */ +#endif +#if (NUM_USB_CHAN_OUT_FS > 7) + 0x03, /* bmaControls(8) */ +#endif +#if (NUM_USB_CHAN_OUT_FS > 8) +#error NUM_USB_CHAN_OUT_FS > 8 currently supported +#endif 0x00, /* String table index */ /* CS_Interface Output Terminal Descriptor - Analogue out to speaker */ @@ -2368,15 +2394,40 @@ unsigned char cfgDesc_Audio1[] = 0x00, /* Unused */ /* CS_Interface class specific AC interface feature unit descriptor - mute & volume for adc */ - 0x0A, + (8 + NUM_USB_CHAN_IN_FS), UAC_CS_DESCTYPE_INTERFACE, UAC_CS_AC_INTERFACE_SUBTYPE_FEATURE_UNIT, /* 2 bDescriptorSubType: FEATURE_UNIT */ 0x0B, /* unitID */ 0x02, /* sourceID - ID of the unit/terminal to which this feature unit is connected */ 0x01, /* controlSize - 1 */ 0x00, /* bmaControls(0) */ +#if (NUM_USB_CHAN_IN_FS > 0) 0x03, /* bmaControls(1) */ +#endif +#if (NUM_USB_CHAN_IN_FS > 1) 0x03, /* bmaControls(2) */ +#endif +#if (NUM_USB_CHAN_IN_FS > 2) + 0x03, /* bmaControls(3) */ +#endif +#if (NUM_USB_CHAN_IN_FS > 3) + 0x03, /* bmaControls(4) */ +#endif +#if (NUM_USB_CHAN_IN_FS > 4) + 0x03, /* bmaControls(5) */ +#endif +#if (NUM_USB_CHAN_IN_FS > 5) + 0x03, /* bmaControls(6) */ +#endif +#if (NUM_USB_CHAN_IN_FS > 6) + 0x03, /* bmaControls(7) */ +#endif +#if (NUM_USB_CHAN_IN_FS > 7) + 0x03, /* bmaControls(8) */ +#endif +#if (NUM_USB_CHAN_IN_FS > 8) +#error NUM_USB_CHAN_IN_FS > 8 currently supported +#endif 0x00, /* String table index */ #endif From 77740051a5cfd8f19296ba9427a49ae6dc959289 Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Tue, 8 Dec 2015 16:08:35 +0000 Subject: [PATCH 12/14] Added 6.14.1 to stable changelog --- CHANGELOG.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 5114c78f..9370d9a1 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -3,7 +3,8 @@ sc_usb_audio Change Log 6.14.1 ------ - - RESOLVED: UAC1 + - RESOLVED: UAC 1.0 descriptors now support multi-channel volume control (previously were i + hard-coded as stereo) 6.14.0 ------ From 93b66a917feb7b4cd20c95bfc2cc4ef3a802b659 Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Tue, 8 Dec 2015 17:23:41 +0000 Subject: [PATCH 13/14] Changelog typo --- CHANGELOG.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 9370d9a1..2b179346 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -3,7 +3,7 @@ sc_usb_audio Change Log 6.14.1 ------ - - RESOLVED: UAC 1.0 descriptors now support multi-channel volume control (previously were i + - RESOLVED: UAC 1.0 descriptors now support multi-channel volume control (previously were hard-coded as stereo) 6.14.0 From 958050b2aa9c5b7cb2cb0c2286b380076310d77a Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Wed, 9 Dec 2015 11:46:01 +0000 Subject: [PATCH 14/14] Removed version number from readme --- README.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/README.rst b/README.rst index 18c62999..0a54128c 100644 --- a/README.rst +++ b/README.rst @@ -1,7 +1,6 @@ USB Audio Shared ................ -:Latest release: 6.14.0beta2 :Maintainer: xross :Description: USB Audio Shared Components. For use in the XMOS USB Audio Refererence Designs.