diff --git a/module_usb_audio/audio_io/audio_io.xc b/module_usb_audio/audio_io/audio_io.xc index 242beae0..f6dbfe5a 100755 --- a/module_usb_audio/audio_io/audio_io.xc +++ b/module_usb_audio/audio_io/audio_io.xc @@ -283,12 +283,7 @@ static inline unsigned DoSampleTransfer(chanend c_out, const int readBuffNo, con #else inuint(c_out); #endif - - UserBufferManagement(samplesOut, samplesIn[readBuffNo] -//#ifdef RUN_DSP_TASK - , i_audMan -//#endif - ); + UserBufferManagement(samplesOut, samplesIn[readBuffNo], i_audMan); #if NUM_USB_CHAN_IN > 0 #pragma loop unroll @@ -717,11 +712,14 @@ unsigned static deliver(chanend c_out, chanend ?c_spd_out, #if (NUM_PDM_MICS > 0) /* Get samples from PDM->PCM comverter */ c_pdm_pcm <: 1; + master + { #pragma loop unroll for(int i = 0; i < NUM_PDM_MICS; i++) { c_pdm_pcm :> samplesIn[readBuffNo][i]; } + } #endif } diff --git a/module_usb_audio/pdm_mics/pdm_mic.xc b/module_usb_audio/pdm_mics/pdm_mic.xc index 1180940d..9c76235b 100644 --- a/module_usb_audio/pdm_mics/pdm_mic.xc +++ b/module_usb_audio/pdm_mics/pdm_mic.xc @@ -114,13 +114,17 @@ void pdm_buffer(streaming chanend c_ds_output[2], chanend c_audio select { case c_audio :> req: - + /* Audio IO core requests samples */ if(req) unsafe{ - for(int i = 0; i < NUM_PDM_MICS; i++) + slave { - c_audio <: output[i]; +#pragma loop unroll + for(int i = 0; i < NUM_PDM_MICS; i++) + { + c_audio <: output[i]; + } } /* Get a new frame of mic data */ @@ -182,5 +186,4 @@ void pdm_mic(streaming chanend c_ds_output[2]) mic_array_decimate_to_pcm_4ch(c_4x_pdm_mic_1, c_ds_output[1]); } } - #endif