diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 3b530f5f..72feea4c 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -5,7 +5,7 @@ sc_usb_audio Change Log ----- - ADDED: UserBufferManagementInit() to reset any state required in UserBufferManagement() - ADDED: I2S output up-sampling (enabled when AUD_TO_USB_RATIO is > 1) - - ADDED: PDM Mic decimator output rate can now be controlled independently (via MICS_TO_AUD_RATIO) + - ADDED: PDM Mic decimator output rate can now be controlled independently (via AUD_TO_MICS_RATIO) - CHANGE: Rename I2S input down-sampling (enabled when AUD_TO_USB_RATIO is > 1, rather than via I2S_DOWNSAMPLE_FACTOR) - RESOLVED: Crosstalk between input channels when I2S input down-sampling is enabled - RESOLVED: Mic decimation data tables properly sized when mic sample-rate < USB audio sample-rate diff --git a/module_usb_audio/audio_io/audio_io.xc b/module_usb_audio/audio_io/audio_io.xc index ab768d6d..b7b020c5 100755 --- a/module_usb_audio/audio_io/audio_io.xc +++ b/module_usb_audio/audio_io/audio_io.xc @@ -501,7 +501,7 @@ unsigned static deliver(chanend c_out, chanend ?c_spd_out, #endif unsigned audioToUsbRatioCounter = 0; - unsigned micsToAudioRatioCounter = 0; + unsigned audioToMicsRatioCounter = 0; #if (AUD_TO_USB_RATIO > 1) union i2sInDs3 @@ -821,7 +821,7 @@ unsigned static deliver(chanend c_out, chanend ?c_spd_out, #endif #if (NUM_PDM_MICS > 0) - if ((MICS_TO_AUD_RATIO - 1) == micsToAudioRatioCounter) + if ((AUD_TO_MICS_RATIO - 1) == audioToMicsRatioCounter) { /* Get samples from PDM->PCM converter */ c_pdm_pcm <: 1; @@ -833,11 +833,11 @@ unsigned static deliver(chanend c_out, chanend ?c_spd_out, c_pdm_pcm :> samplesIn[readBuffNo][i]; } } - micsToAudioRatioCounter = 0; + audioToMicsRatioCounter = 0; } else { - ++micsToAudioRatioCounter; + ++audioToMicsRatioCounter; } #endif } @@ -1328,7 +1328,7 @@ chanend ?c_config, chanend ?c #if NUM_PDM_MICS > 0 /* Send decimation factor to PDM task(s) */ - c_pdm_in <: curSamFreq / MICS_TO_AUD_RATIO; + c_pdm_in <: curSamFreq / AUD_TO_MICS_RATIO; #endif #ifdef ADAT_TX diff --git a/module_usb_audio/devicedefines.h b/module_usb_audio/devicedefines.h index 51981abc..c9a195c5 100644 --- a/module_usb_audio/devicedefines.h +++ b/module_usb_audio/devicedefines.h @@ -136,17 +136,16 @@ #endif /** - * @brief Ratio of the PDM microphone decimator sample rate to the I2S sample - * rate. Up and down-sampling will be enabled as necessary when the rates - * differ. + * @brief Ratio of the I2S sample rate to the PDM microphone decimator sample + * rate. * - * Default: 1 i.e. PDM microphone decimator and I2S are running at the sample rate. + * Default: 1 i.e. I2S and PDM microphone decimators are running at the same sample rate. */ -#ifndef MICS_TO_AUD_RATIO -#define MICS_TO_AUD_RATIO (1) +#ifndef AUD_TO_MICS_RATIO +#define AUD_TO_MICS_RATIO (1) #else - #if (MICS_TO_AUD_RATIO != 3) && (MICS_TO_AUD_RATIO != 1) - #error Unsupported PDM microphone decimator to I2S sample rate ratio + #if (AUD_TO_MICS_RATIO != 3) && (AUD_TO_MICS_RATIO != 1) + #error Unsupported I2S to PDM microphone decimator sample rate ratio #endif #endif diff --git a/module_usb_audio/pdm_mics/pdm_mic.xc b/module_usb_audio/pdm_mics/pdm_mic.xc index 326823b4..7a6fc91d 100644 --- a/module_usb_audio/pdm_mics/pdm_mic.xc +++ b/module_usb_audio/pdm_mics/pdm_mic.xc @@ -17,7 +17,7 @@ #include "mic_array.h" #include "xua_pdm_mic.h" -#define MAX_DECIMATION_FACTOR (96000/(MIN_FREQ/MICS_TO_AUD_RATIO)) +#define MAX_DECIMATION_FACTOR (96000/(MIN_FREQ/AUD_TO_MICS_RATIO)) /* Hardware resources */ in port p_pdm_clk = PORT_PDM_CLK;