diff options
Diffstat (limited to 'Demos/Device/LowLevel/AudioOutput')
-rw-r--r-- | Demos/Device/LowLevel/AudioOutput/AudioOutput.c | 18 | ||||
-rw-r--r-- | Demos/Device/LowLevel/AudioOutput/Descriptors.c | 2 | ||||
-rw-r--r-- | Demos/Device/LowLevel/AudioOutput/Descriptors.h | 1 |
3 files changed, 11 insertions, 10 deletions
diff --git a/Demos/Device/LowLevel/AudioOutput/AudioOutput.c b/Demos/Device/LowLevel/AudioOutput/AudioOutput.c index 47f3ccb27..f079dca0f 100644 --- a/Demos/Device/LowLevel/AudioOutput/AudioOutput.c +++ b/Demos/Device/LowLevel/AudioOutput/AudioOutput.c @@ -189,16 +189,16 @@ void EVENT_USB_Device_ControlRequest(void) /* Extract out the relevant request information to get the target Endpoint address and control being set */ uint8_t EndpointAddress = (uint8_t)USB_ControlRequest.wIndex; uint8_t EndpointControl = (USB_ControlRequest.wValue >> 8); - + /* Only handle SET CURRENT requests to the audio endpoint's sample frequency property */ if ((EndpointAddress == (ENDPOINT_DIR_OUT | AUDIO_STREAM_EPNUM)) && (EndpointControl == AUDIO_EPCONTROL_SamplingFreq)) { uint8_t SampleRate[3]; - + Endpoint_ClearSETUP(); Endpoint_Read_Control_Stream_LE(SampleRate, sizeof(SampleRate)); Endpoint_ClearOUT(); - + /* Set the new sampling frequency to the value given by the host */ CurrentAudioSampleFrequency = (((uint32_t)SampleRate[2] << 16) | ((uint32_t)SampleRate[1] << 8) | (uint32_t)SampleRate[0]); @@ -206,7 +206,7 @@ void EVENT_USB_Device_ControlRequest(void) OCR0A = ((F_CPU / 8 / CurrentAudioSampleFrequency) - 1); } } - + break; case AUDIO_REQ_GetCurrent: if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_ENDPOINT)) @@ -214,20 +214,20 @@ void EVENT_USB_Device_ControlRequest(void) /* Extract out the relevant request information to get the target Endpoint address and control being retrieved */ uint8_t EndpointAddress = (uint8_t)USB_ControlRequest.wIndex; uint8_t EndpointControl = (USB_ControlRequest.wValue >> 8); - + /* Only handle GET CURRENT requests to the audio endpoint's sample frequency property */ if ((EndpointAddress == (ENDPOINT_DIR_OUT | AUDIO_STREAM_EPNUM)) && (EndpointControl == AUDIO_EPCONTROL_SamplingFreq)) { uint8_t SampleRate[3]; - + /* Convert the sampling rate value into the 24-bit format the host expects for the property */ SampleRate[2] = (CurrentAudioSampleFrequency >> 16); SampleRate[1] = (CurrentAudioSampleFrequency >> 8); SampleRate[0] = (CurrentAudioSampleFrequency & 0xFF); - + Endpoint_ClearSETUP(); Endpoint_Write_Control_Stream_LE(SampleRate, sizeof(SampleRate)); - Endpoint_ClearOUT(); + Endpoint_ClearOUT(); } } @@ -286,7 +286,7 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK) LEDs_SetAllLEDs(LEDMask); } - + Endpoint_SelectEndpoint(PrevEndpoint); } diff --git a/Demos/Device/LowLevel/AudioOutput/Descriptors.c b/Demos/Device/LowLevel/AudioOutput/Descriptors.c index 0fa396daf..771ec17a7 100644 --- a/Demos/Device/LowLevel/AudioOutput/Descriptors.c +++ b/Demos/Device/LowLevel/AudioOutput/Descriptors.c @@ -204,7 +204,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor = .TotalDiscreteSampleRates = (sizeof(ConfigurationDescriptor.Audio_AudioFormatSampleRates) / sizeof(USB_Audio_SampleFreq_t)), }, - + .Audio_AudioFormatSampleRates = { AUDIO_SAMPLE_FREQ(8000), diff --git a/Demos/Device/LowLevel/AudioOutput/Descriptors.h b/Demos/Device/LowLevel/AudioOutput/Descriptors.h index da95077c4..aa551b00c 100644 --- a/Demos/Device/LowLevel/AudioOutput/Descriptors.h +++ b/Demos/Device/LowLevel/AudioOutput/Descriptors.h @@ -83,3 +83,4 @@ ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); #endif + |