aboutsummaryrefslogtreecommitdiffstats
path: root/Demos/Device/ClassDriver/AudioOutput/AudioOutput.c
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-08-02 11:43:16 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-08-02 11:43:16 +0000
commitbbf89d81fa225fedc5ab1190ebfa8c775612178c (patch)
treed6fe5c475942400dc8076840a8a13424722d170b /Demos/Device/ClassDriver/AudioOutput/AudioOutput.c
parentc5eeedd522c12c8b4996594f3c4167393d0af7ff (diff)
downloadlufa-bbf89d81fa225fedc5ab1190ebfa8c775612178c.tar.gz
lufa-bbf89d81fa225fedc5ab1190ebfa8c775612178c.tar.bz2
lufa-bbf89d81fa225fedc5ab1190ebfa8c775612178c.zip
Make both LowLevel and ClassDriver AudioOutput demos always output to board LEDs, regardless of output mode (removed AUDIO_OUT_LEDS compile time option from the demo). This allows for positive feedback to the user of audio activity regardless of output mode.
Diffstat (limited to 'Demos/Device/ClassDriver/AudioOutput/AudioOutput.c')
-rw-r--r--Demos/Device/ClassDriver/AudioOutput/AudioOutput.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/Demos/Device/ClassDriver/AudioOutput/AudioOutput.c b/Demos/Device/ClassDriver/AudioOutput/AudioOutput.c
index 2caf6faa6..9a8804a45 100644
--- a/Demos/Device/ClassDriver/AudioOutput/AudioOutput.c
+++ b/Demos/Device/ClassDriver/AudioOutput/AudioOutput.c
@@ -103,10 +103,11 @@ void ProcessNextSample(void)
int8_t LeftSample_8Bit = (LeftSample_16Bit >> 8);
int8_t RightSample_8Bit = (RightSample_16Bit >> 8);
-#if !defined(AUDIO_OUT_STEREO)
/* Mix the two channels together to produce a mono, 8-bit sample */
int8_t MixedSample_8Bit = (((int16_t)LeftSample_8Bit + (int16_t)RightSample_8Bit) >> 1);
-#endif
+
+ /* Get absolute value of mixed sample value */
+ uint8_t MixedSample_8Bit_Abs = abs(MixedSample_8Bit);
#if defined(AUDIO_OUT_MONO)
/* Load the sample into the PWM timer channel */
@@ -118,26 +119,23 @@ void ProcessNextSample(void)
#elif defined(AUDIO_OUT_PORTC)
/* Load the 8-bit mixed sample into PORTC */
PORTC = MixedSample_8Bit;
-#else
- uint8_t LEDMask = LEDS_NO_LEDS;
+#endif
- /* Make mixed sample value positive (absolute) */
- MixedSample_8Bit = abs(MixedSample_8Bit);
+ uint8_t LEDMask = LEDS_NO_LEDS;
- if (MixedSample_8Bit > 2)
+ if (MixedSample_8Bit_Abs > 2)
LEDMask |= LEDS_LED1;
- if (MixedSample_8Bit > 4)
+ if (MixedSample_8Bit_Abs > 4)
LEDMask |= LEDS_LED2;
- if (MixedSample_8Bit > 8)
+ if (MixedSample_8Bit_Abs > 8)
LEDMask |= LEDS_LED3;
- if (MixedSample_8Bit > 16)
+ if (MixedSample_8Bit_Abs > 16)
LEDMask |= LEDS_LED4;
LEDs_SetAllLEDs(LEDMask);
-#endif
}
}