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:
Sam Chesney
2017-03-01 17:07:59 +00:00
parent af5760f120
commit 6eed769d90

View File

@@ -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);