diff --git a/module_usb_audio/main.xc b/module_usb_audio/main.xc index b79123ed..5d06954c 100755 --- a/module_usb_audio/main.xc +++ b/module_usb_audio/main.xc @@ -678,7 +678,11 @@ int main() #if (NUM_PDM_MICS > 0) on stdcore[PDM_TILE]: pdm_mic(c_ds_output); +#ifdef MIC_PROCESSING_USE_INTERFACE on stdcore[PDM_TILE].core[0]: pdm_buffer(c_ds_output, c_pdm_pcm, i_mic_process); +#else + on stdcore[PDM_TILE]: pdm_buffer(c_ds_output, c_pdm_pcm); +#endif #endif USER_MAIN_CORES diff --git a/module_usb_audio/pdm_mics/pdm_mic.xc b/module_usb_audio/pdm_mics/pdm_mic.xc index 9c76235b..fa0d54de 100644 --- a/module_usb_audio/pdm_mics/pdm_mic.xc +++ b/module_usb_audio/pdm_mics/pdm_mic.xc @@ -29,12 +29,14 @@ int data_1[4*THIRD_STAGE_COEFS_PER_STAGE * MAX_DECIMATION_FACTOR] = {0}; mic_array_frame_time_domain mic_audio[2]; -[[combinable]] -void pdm_buffer(streaming chanend c_ds_output[2], chanend c_audio #ifdef MIC_PROCESSING_USE_INTERFACE - , client mic_process_if i_mic_process +[[combinable]] +#pragma unsafe arrays +void pdm_buffer(streaming chanend c_ds_output[2], chanend c_audio, client mic_process_if i_mic_process) +#else +#pragma unsafe arrays +void pdm_buffer(streaming chanend c_ds_output[2], chanend c_audio) #endif -) { unsigned buffer; int output[NUM_PDM_MICS]; diff --git a/module_usb_audio/pdm_mics/xua_pdm_mic.h b/module_usb_audio/pdm_mics/xua_pdm_mic.h index cf6f0e6d..69e52d5c 100644 --- a/module_usb_audio/pdm_mics/xua_pdm_mic.h +++ b/module_usb_audio/pdm_mics/xua_pdm_mic.h @@ -26,10 +26,13 @@ void pdm_mic(streaming chanend c_ds_output[2]); #else /* Simple user hooks/call-backs */ -unsafe void user_pdm_process(mic_array_frame_time_domain * unsafe audio, int output[]); +void user_pdm_process(mic_array_frame_time_domain * unsafe audio, int output[]); void user_pdm_init(); +/* PDM interface and decimation cores */ +void pdm_buffer(streaming chanend c_ds_output[2], chanend c_audio); + /* PDM interface and decimation cores */ void pdm_mic(streaming chanend c_ds_output[2]);