From cc4165e57bd9d234c624a2348e77c612dac6114c Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Thu, 18 Sep 2014 11:50:08 +0100 Subject: [PATCH] c_dig_rx is no longer nullable (helps with timing due to issue with compiler checks) --- module_usb_audio/audio.h | 7 ++++++- module_usb_audio/audio.xc | 12 ++++++++++-- module_usb_audio/main.xc | 12 ++++++++++-- 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/module_usb_audio/audio.h b/module_usb_audio/audio.h index 38cb7970..f0b27cf2 100644 --- a/module_usb_audio/audio.h +++ b/module_usb_audio/audio.h @@ -1,6 +1,7 @@ #ifndef __audio_h__ #define __audio_h__ +#include "devicedefines.h" /** The audio driver thread. * * This function drives I2S ports and handles samples to/from other digital @@ -13,6 +14,10 @@ * \param c_config An optional channel that will be passed on to the * CODEC configuration functions. */ -void audio(chanend c_in, chanend ?c_dig, chanend ?c_config, chanend ?c_adc); +void audio(chanend c_in, +#if (defined(SPDIF_RX) || defined(ADAT_RX)) + chanend c_dig, +#endif + chanend ?c_config, chanend ?c_adc); #endif // __audio_h__ diff --git a/module_usb_audio/audio.xc b/module_usb_audio/audio.xc index 755ce13e..10f2d6b6 100755 --- a/module_usb_audio/audio.xc +++ b/module_usb_audio/audio.xc @@ -144,7 +144,11 @@ static inline void doI2SClocks(unsigned divide) /* I2S delivery thread */ #pragma unsafe arrays -unsigned static deliver(chanend c_out, chanend ?c_spd_out, unsigned divide, unsigned curSamFreq, chanend ?c_dig_rx, chanend ?c_adc) +unsigned static deliver(chanend c_out, chanend ?c_spd_out, unsigned divide, unsigned curSamFreq, +#if(defined(SPDIF_RX) || defined(ADAT_RX)) +chanend c_dig_rx, +#endif +chanend ?c_adc) { #if (I2S_CHANS_ADC != 0) || defined(SPDIF) unsigned sample; @@ -779,7 +783,11 @@ unsigned static dummy_deliver(chanend c_out) #define SAMPLES_PER_PRINT 1 -void audio(chanend c_mix_out, chanend ?c_dig_rx, chanend ?c_config, chanend ?c) +void audio(chanend c_mix_out, +#if (defined(ADAT_RX) || defined(SPDIF_RX)) +chanend c_dig_rx, +#endif +chanend ?c_config, chanend ?c) { #ifdef SPDIF chan c_spdif_out; diff --git a/module_usb_audio/main.xc b/module_usb_audio/main.xc index 1cf54944..e226f089 100755 --- a/module_usb_audio/main.xc +++ b/module_usb_audio/main.xc @@ -429,9 +429,17 @@ chanend ?c_clk_int { thread_speed(); #ifdef MIXER - audio(c_mix_out, c_dig_rx, c_aud_cfg, c_adc); + audio(c_mix_out, +#if defined(SPDIF_RX) || defined(ADAT_RX) + c_dig_rx, +#endif + c_aud_cfg, c_adc); #else - audio(c_aud_in, c_dig_rx, c_aud_cfg, c_adc); + audio(c_aud_in, +#if defined(SPDIF_RX) || defined(ADAT_RX) + c_dig_rx, +#endif + c_aud_cfg, c_adc); #endif }