forked from mfulz_github/qmk_firmware
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.
This commit is contained in:
parent
c5eeedd522
commit
bbf89d81fa
|
@ -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
|
||||
#endif
|
||||
|
||||
uint8_t LEDMask = LEDS_NO_LEDS;
|
||||
|
||||
/* Make mixed sample value positive (absolute) */
|
||||
MixedSample_8Bit = abs(MixedSample_8Bit);
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -53,11 +53,11 @@
|
|||
* required).
|
||||
*
|
||||
* On start-up the system will automatically enumerate and function
|
||||
* as a USB speaker. Incoming audio will output in 8-bit PWM onto
|
||||
* the timer output (timer 3 for the AT90USBXXX6/7 USB AVRs, timer 1 for
|
||||
* the AT90USBXXX2 controller AVRs) compare channel A for AUDIO_OUT_MONO
|
||||
* mode, on channels A and B for AUDIO_OUT_STEREO and on the board LEDs
|
||||
* for AUDIO_OUT_LEDS mode. Decouple audio outputs with a capacitor and
|
||||
* as a USB speaker. Outgoing audio will output in 8-bit PWM onto
|
||||
* the timer 3 output compare channel A for AUDIO_OUT_MONO mode, on
|
||||
* timer 3 channels A and B for AUDIO_OUT_STEREO and on PORTC as a signed
|
||||
* mono sample for AUDIO_OUT_PORTC. Audio output will also be indicated on
|
||||
* the board LEDs in all modes. Decouple audio outputs with a capacitor and
|
||||
* attach to a speaker to hear the audio.
|
||||
*
|
||||
* Under Windows, if a driver request dialogue pops up, select the option
|
||||
|
@ -84,11 +84,6 @@
|
|||
* <td>When defined, this outputs the audio samples in mono to the timer output pin of the microcontroller.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>AUDIO_OUT_LEDS</td>
|
||||
* <td>Makefile CDEFS</td>
|
||||
* <td>When defined, this outputs the audio samples in stereo to the board LEDs.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>AUDIO_OUT_PORTC</td>
|
||||
* <td>Makefile CDEFS</td>
|
||||
* <td>When defined, this outputs the audio samples in mono to port C of the microcontroller, for connection to an
|
||||
|
|
|
@ -210,10 +210,11 @@ void USB_Audio_Task(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 */
|
||||
|
@ -225,25 +226,22 @@ void USB_Audio_Task(void)
|
|||
#elif defined(AUDIO_OUT_PORTC)
|
||||
/* Load the 8-bit mixed sample into PORTC */
|
||||
PORTC = MixedSample_8Bit;
|
||||
#else
|
||||
#endif
|
||||
|
||||
uint8_t LEDMask = LEDS_NO_LEDS;
|
||||
|
||||
/* Make mixed sample value positive (absolute) */
|
||||
MixedSample_8Bit = abs(MixedSample_8Bit);
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
|
|
|
@ -53,11 +53,11 @@
|
|||
* required).
|
||||
*
|
||||
* On start-up the system will automatically enumerate and function
|
||||
* as a USB speaker. Incoming audio will output in 8-bit PWM onto
|
||||
* the timer output (timer 3 for the AT90USBXXX6/7 USB AVRs, timer 1 for
|
||||
* the AT90USBXXX2 controller AVRs) compare channel A for AUDIO_OUT_MONO
|
||||
* mode, on channels A and B for AUDIO_OUT_STEREO and on the board LEDs
|
||||
* for AUDIO_OUT_LEDS mode. Decouple audio outputs with a capacitor and
|
||||
* as a USB speaker. Outgoing audio will output in 8-bit PWM onto
|
||||
* the timer 3 output compare channel A for AUDIO_OUT_MONO mode, on
|
||||
* timer 3 channels A and B for AUDIO_OUT_STEREO and on PORTC as a signed
|
||||
* mono sample for AUDIO_OUT_PORTC. Audio output will also be indicated on
|
||||
* the board LEDs in all modes. Decouple audio outputs with a capacitor and
|
||||
* attach to a speaker to hear the audio.
|
||||
*
|
||||
* Under Windows, if a driver request dialogue pops up, select the option
|
||||
|
@ -84,11 +84,6 @@
|
|||
* <td>When defined, this outputs the audio samples in mono to the timer output pin of the microcontroller.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>AUDIO_OUT_LEDS</td>
|
||||
* <td>Makefile CDEFS</td>
|
||||
* <td>When defined, this outputs the audio samples in stereo to the board LEDs.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>AUDIO_OUT_PORTC</td>
|
||||
* <td>Makefile CDEFS</td>
|
||||
* <td>When defined, this outputs the audio samples in mono to port C of the microcontroller, for connection to an
|
||||
|
|
Loading…
Reference in New Issue