From 433399b05db8d4a8a3989e90614f7206d49568fc Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Sat, 3 Oct 2009 07:59:32 +0000 Subject: Changed Audio Class driver sample read/write functions to be inline, to reduce the number of cycles needed to transfer samples to and from the device (allowing more time for processing and output). Fixed ClassDriver AudioOutput demo not selecting an audio output mode. --- Demos/Device/ClassDriver/AudioOutput/AudioOutput.c | 18 ++++++++---------- Demos/Device/ClassDriver/AudioOutput/makefile | 1 + Demos/Device/LowLevel/AudioOutput/AudioOutput.c | 18 ++++++++---------- 3 files changed, 17 insertions(+), 20 deletions(-) (limited to 'Demos') diff --git a/Demos/Device/ClassDriver/AudioOutput/AudioOutput.c b/Demos/Device/ClassDriver/AudioOutput/AudioOutput.c index d7de7d5b0..a73f1c96e 100644 --- a/Demos/Device/ClassDriver/AudioOutput/AudioOutput.c +++ b/Demos/Device/ClassDriver/AudioOutput/AudioOutput.c @@ -123,17 +123,15 @@ void ProcessNextSample(void) uint8_t LEDMask = LEDS_NO_LEDS; - if (MixedSample_8Bit_Abs > 2) - LEDMask |= LEDS_LED1; - - if (MixedSample_8Bit_Abs > 4) - LEDMask |= LEDS_LED2; - - if (MixedSample_8Bit_Abs > 8) - LEDMask |= LEDS_LED3; - + /* Turn on LEDs as the sample amplitude increases */ if (MixedSample_8Bit_Abs > 16) - LEDMask |= LEDS_LED4; + LEDMask = (LEDS_LED1 | LEDS_LED2 | LEDS_LED3 | LEDS_LED4); + else if (MixedSample_8Bit_Abs > 8) + LEDMask = (LEDS_LED1 | LEDS_LED2 | LEDS_LED3); + else if (MixedSample_8Bit_Abs > 4) + LEDMask = (LEDS_LED1 | LEDS_LED2); + else if (MixedSample_8Bit_Abs > 2) + LEDMask = (LEDS_LED1); LEDs_SetAllLEDs(LEDMask); } diff --git a/Demos/Device/ClassDriver/AudioOutput/makefile b/Demos/Device/ClassDriver/AudioOutput/makefile index ec60801be..7ece3734b 100644 --- a/Demos/Device/ClassDriver/AudioOutput/makefile +++ b/Demos/Device/ClassDriver/AudioOutput/makefile @@ -184,6 +184,7 @@ CSTANDARD = -std=gnu99 # Place -D or -U options here for C sources CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) +CDEFS += -DAUDIO_OUT_STEREO # Place -D or -U options here for ASM sources diff --git a/Demos/Device/LowLevel/AudioOutput/AudioOutput.c b/Demos/Device/LowLevel/AudioOutput/AudioOutput.c index 1128e8f4e..dd880b437 100644 --- a/Demos/Device/LowLevel/AudioOutput/AudioOutput.c +++ b/Demos/Device/LowLevel/AudioOutput/AudioOutput.c @@ -230,17 +230,15 @@ void USB_Audio_Task(void) uint8_t LEDMask = LEDS_NO_LEDS; - if (MixedSample_8Bit_Abs > 2) - LEDMask |= LEDS_LED1; - - if (MixedSample_8Bit_Abs > 4) - LEDMask |= LEDS_LED2; - - if (MixedSample_8Bit_Abs > 8) - LEDMask |= LEDS_LED3; - + /* Turn on LEDs as the sample amplitude increases */ if (MixedSample_8Bit_Abs > 16) - LEDMask |= LEDS_LED4; + LEDMask = (LEDS_LED1 | LEDS_LED2 | LEDS_LED3 | LEDS_LED4); + else if (MixedSample_8Bit_Abs > 8) + LEDMask = (LEDS_LED1 | LEDS_LED2 | LEDS_LED3); + else if (MixedSample_8Bit_Abs > 4) + LEDMask = (LEDS_LED1 | LEDS_LED2); + else if (MixedSample_8Bit_Abs > 2) + LEDMask = (LEDS_LED1); LEDs_SetAllLEDs(LEDMask); } -- cgit v1.2.3