mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-06-06 08:22:44 +00:00
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 LeftSample_8Bit = (LeftSample_16Bit >> 8);
|
||||||
int8_t RightSample_8Bit = (RightSample_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 */
|
/* 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);
|
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)
|
#if defined(AUDIO_OUT_MONO)
|
||||||
/* Load the sample into the PWM timer channel */
|
/* Load the sample into the PWM timer channel */
|
||||||
@ -118,26 +119,23 @@ void ProcessNextSample(void)
|
|||||||
#elif defined(AUDIO_OUT_PORTC)
|
#elif defined(AUDIO_OUT_PORTC)
|
||||||
/* Load the 8-bit mixed sample into PORTC */
|
/* Load the 8-bit mixed sample into PORTC */
|
||||||
PORTC = MixedSample_8Bit;
|
PORTC = MixedSample_8Bit;
|
||||||
#else
|
#endif
|
||||||
|
|
||||||
uint8_t LEDMask = LEDS_NO_LEDS;
|
uint8_t LEDMask = LEDS_NO_LEDS;
|
||||||
|
|
||||||
/* Make mixed sample value positive (absolute) */
|
if (MixedSample_8Bit_Abs > 2)
|
||||||
MixedSample_8Bit = abs(MixedSample_8Bit);
|
|
||||||
|
|
||||||
if (MixedSample_8Bit > 2)
|
|
||||||
LEDMask |= LEDS_LED1;
|
LEDMask |= LEDS_LED1;
|
||||||
|
|
||||||
if (MixedSample_8Bit > 4)
|
if (MixedSample_8Bit_Abs > 4)
|
||||||
LEDMask |= LEDS_LED2;
|
LEDMask |= LEDS_LED2;
|
||||||
|
|
||||||
if (MixedSample_8Bit > 8)
|
if (MixedSample_8Bit_Abs > 8)
|
||||||
LEDMask |= LEDS_LED3;
|
LEDMask |= LEDS_LED3;
|
||||||
|
|
||||||
if (MixedSample_8Bit > 16)
|
if (MixedSample_8Bit_Abs > 16)
|
||||||
LEDMask |= LEDS_LED4;
|
LEDMask |= LEDS_LED4;
|
||||||
|
|
||||||
LEDs_SetAllLEDs(LEDMask);
|
LEDs_SetAllLEDs(LEDMask);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,11 +53,11 @@
|
|||||||
* required).
|
* required).
|
||||||
*
|
*
|
||||||
* On start-up the system will automatically enumerate and function
|
* On start-up the system will automatically enumerate and function
|
||||||
* as a USB speaker. Incoming audio will output in 8-bit PWM onto
|
* as a USB speaker. Outgoing audio will output in 8-bit PWM onto
|
||||||
* the timer output (timer 3 for the AT90USBXXX6/7 USB AVRs, timer 1 for
|
* the timer 3 output compare channel A for AUDIO_OUT_MONO mode, on
|
||||||
* the AT90USBXXX2 controller AVRs) compare channel A for AUDIO_OUT_MONO
|
* timer 3 channels A and B for AUDIO_OUT_STEREO and on PORTC as a signed
|
||||||
* mode, on channels A and B for AUDIO_OUT_STEREO and on the board LEDs
|
* mono sample for AUDIO_OUT_PORTC. Audio output will also be indicated on
|
||||||
* for AUDIO_OUT_LEDS mode. Decouple audio outputs with a capacitor and
|
* the board LEDs in all modes. Decouple audio outputs with a capacitor and
|
||||||
* attach to a speaker to hear the audio.
|
* attach to a speaker to hear the audio.
|
||||||
*
|
*
|
||||||
* Under Windows, if a driver request dialogue pops up, select the option
|
* 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>
|
* <td>When defined, this outputs the audio samples in mono to the timer output pin of the microcontroller.</td>
|
||||||
* </tr>
|
* </tr>
|
||||||
* <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>AUDIO_OUT_PORTC</td>
|
||||||
* <td>Makefile CDEFS</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
|
* <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 LeftSample_8Bit = (LeftSample_16Bit >> 8);
|
||||||
int8_t RightSample_8Bit = (RightSample_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 */
|
/* 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);
|
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)
|
#if defined(AUDIO_OUT_MONO)
|
||||||
/* Load the sample into the PWM timer channel */
|
/* Load the sample into the PWM timer channel */
|
||||||
@ -225,25 +226,22 @@ void USB_Audio_Task(void)
|
|||||||
#elif defined(AUDIO_OUT_PORTC)
|
#elif defined(AUDIO_OUT_PORTC)
|
||||||
/* Load the 8-bit mixed sample into PORTC */
|
/* Load the 8-bit mixed sample into PORTC */
|
||||||
PORTC = MixedSample_8Bit;
|
PORTC = MixedSample_8Bit;
|
||||||
#else
|
#endif
|
||||||
|
|
||||||
uint8_t LEDMask = LEDS_NO_LEDS;
|
uint8_t LEDMask = LEDS_NO_LEDS;
|
||||||
|
|
||||||
/* Make mixed sample value positive (absolute) */
|
if (MixedSample_8Bit_Abs > 2)
|
||||||
MixedSample_8Bit = abs(MixedSample_8Bit);
|
|
||||||
|
|
||||||
if (MixedSample_8Bit > 2)
|
|
||||||
LEDMask |= LEDS_LED1;
|
LEDMask |= LEDS_LED1;
|
||||||
|
|
||||||
if (MixedSample_8Bit > 4)
|
if (MixedSample_8Bit_Abs > 4)
|
||||||
LEDMask |= LEDS_LED2;
|
LEDMask |= LEDS_LED2;
|
||||||
|
|
||||||
if (MixedSample_8Bit > 8)
|
if (MixedSample_8Bit_Abs > 8)
|
||||||
LEDMask |= LEDS_LED3;
|
LEDMask |= LEDS_LED3;
|
||||||
|
|
||||||
if (MixedSample_8Bit > 16)
|
if (MixedSample_8Bit_Abs > 16)
|
||||||
LEDMask |= LEDS_LED4;
|
LEDMask |= LEDS_LED4;
|
||||||
|
|
||||||
LEDs_SetAllLEDs(LEDMask);
|
LEDs_SetAllLEDs(LEDMask);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,11 +53,11 @@
|
|||||||
* required).
|
* required).
|
||||||
*
|
*
|
||||||
* On start-up the system will automatically enumerate and function
|
* On start-up the system will automatically enumerate and function
|
||||||
* as a USB speaker. Incoming audio will output in 8-bit PWM onto
|
* as a USB speaker. Outgoing audio will output in 8-bit PWM onto
|
||||||
* the timer output (timer 3 for the AT90USBXXX6/7 USB AVRs, timer 1 for
|
* the timer 3 output compare channel A for AUDIO_OUT_MONO mode, on
|
||||||
* the AT90USBXXX2 controller AVRs) compare channel A for AUDIO_OUT_MONO
|
* timer 3 channels A and B for AUDIO_OUT_STEREO and on PORTC as a signed
|
||||||
* mode, on channels A and B for AUDIO_OUT_STEREO and on the board LEDs
|
* mono sample for AUDIO_OUT_PORTC. Audio output will also be indicated on
|
||||||
* for AUDIO_OUT_LEDS mode. Decouple audio outputs with a capacitor and
|
* the board LEDs in all modes. Decouple audio outputs with a capacitor and
|
||||||
* attach to a speaker to hear the audio.
|
* attach to a speaker to hear the audio.
|
||||||
*
|
*
|
||||||
* Under Windows, if a driver request dialogue pops up, select the option
|
* 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>
|
* <td>When defined, this outputs the audio samples in mono to the timer output pin of the microcontroller.</td>
|
||||||
* </tr>
|
* </tr>
|
||||||
* <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>AUDIO_OUT_PORTC</td>
|
||||||
* <td>Makefile CDEFS</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
|
* <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
Block a user