forked from PAWPAW-Mirror/lib_xua
Quick fix to borderline I2S timing issue
The initial receive on c_pdm_pcm channel ensures the mic array decimator timing requirements are met when running configurations that use the up and down-samplers. However it appears to make the I2S timing very marginal, as subsequent reads from the c_pdm_pcm channel will block for longer.
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
#include "xua_audio.h"
|
||||
#include "audioports.h"
|
||||
#include "audiohw.h"
|
||||
#include "mic_array_conf.h"
|
||||
#ifdef SPDIF_TX
|
||||
#include "SpdifTransmit.h"
|
||||
#endif
|
||||
@@ -521,7 +522,7 @@ unsigned static deliver(chanend c_out, chanend ?c_spd_out,
|
||||
#endif /* (AUD_TO_USB_RATIO > 1) */
|
||||
|
||||
|
||||
#if (NUM_PDM_MICS > 0)
|
||||
#if ((DEBUG_MIC_ARRAY == 1) && (NUM_PDM_MICS > 0))
|
||||
/* Get initial samples from PDM->PCM converter to avoid stalling the decimators */
|
||||
c_pdm_pcm <: 1;
|
||||
master
|
||||
@@ -532,7 +533,7 @@ unsigned static deliver(chanend c_out, chanend ?c_spd_out,
|
||||
c_pdm_pcm :> samplesIn[readBuffNo][i];
|
||||
}
|
||||
}
|
||||
#endif // (NUM_PDM_MICS > 0)
|
||||
#endif // ((DEBUG_MIC_ARRAY == 1) && (NUM_PDM_MICS > 0))
|
||||
|
||||
UserBufferManagementInit(i_audMan);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user