X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/77f354609f0411fb6541da31a889186ad402838e..f201f6697b7f99b63389509b42112026b8f6f76f:/Demos/Host/LowLevel/AudioOutputHost/AudioOutputHost.c?ds=inline diff --git a/Demos/Host/LowLevel/AudioOutputHost/AudioOutputHost.c b/Demos/Host/LowLevel/AudioOutputHost/AudioOutputHost.c index 704ddea98..c77d7fd70 100644 --- a/Demos/Host/LowLevel/AudioOutputHost/AudioOutputHost.c +++ b/Demos/Host/LowLevel/AudioOutputHost/AudioOutputHost.c @@ -68,7 +68,7 @@ void SetupHardware(void) Serial_Init(9600, false); Buttons_Init(); ADC_Init(ADC_FREE_RUNNING | ADC_PRESCALE_32); - ADC_SetupChannel(MIC_IN_ADC_CHANNEL); + ADC_SetupChannel(MIC_IN_ADC_CHANNEL); LEDs_Init(); USB_Init(); @@ -126,7 +126,7 @@ void EVENT_USB_Host_DeviceEnumerationComplete(void) LEDs_SetAllLEDs(LEDMASK_USB_ERROR); return; } - + if ((ErrorCode = USB_Host_SetInterfaceAltSetting(StreamingInterfaceIndex, StreamingInterfaceAltSetting)) != HOST_SENDCONTROL_Successful) { @@ -146,7 +146,7 @@ void EVENT_USB_Host_DeviceEnumerationComplete(void) .wIndex = StreamingEndpointAddress, .wLength = sizeof(USB_Audio_SampleFreq_t), }; - + USB_Audio_SampleFreq_t SampleRate = AUDIO_SAMPLE_FREQ(48000); /* Select the control pipe for the request transfer */ @@ -164,8 +164,8 @@ void EVENT_USB_Host_DeviceEnumerationComplete(void) TIMSK0 = (1 << OCIE0A); OCR0A = ((F_CPU / 8 / 48000) - 1); TCCR0A = (1 << WGM01); // CTC mode - TCCR0B = (1 << CS01); // Fcpu/8 speed - + TCCR0B = (1 << CS01); // Fcpu/8 speed + puts_P(PSTR("Speaker Enumerated.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_READY); } @@ -207,16 +207,16 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK) /* Check if the current pipe can be written to (device ready for more data) */ if (Pipe_IsOUTReady()) { - int16_t AudioSample; - + int16_t AudioSample; + #if defined(USE_TEST_TONE) static uint8_t SquareWaveSampleCount; static int16_t CurrentWaveValue; - + /* In test tone mode, generate a square wave at 1/256 of the sample rate */ if (SquareWaveSampleCount++ == 0xFF) CurrentWaveValue ^= 0x8000; - + /* Only generate audio if the board button is being pressed */ AudioSample = (Buttons_GetStatus() & BUTTONS_BUTTON1) ? CurrentWaveValue : 0; #else @@ -226,12 +226,12 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK) #if defined(MICROPHONE_BIASED_TO_HALF_RAIL) /* Microphone is biased to half rail voltage, subtract the bias from the sample value */ AudioSample -= (SAMPLE_MAX_RANGE / 2); - #endif + #endif #endif - + Pipe_Write_16_LE(AudioSample); Pipe_Write_16_LE(AudioSample); - + if (!(Pipe_IsReadWriteAllowed())) Pipe_ClearOUT(); } @@ -239,3 +239,4 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK) Pipe_Freeze(); Pipe_SelectPipe(PrevPipe); } +