X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/2731c3a8aef715c2ea27d541e946200bd4fc189f..5e0c80770840c88d9478e1c3252c20c37b15edea:/Demos/Device/ClassDriver/AudioOutput/AudioOutput.c diff --git a/Demos/Device/ClassDriver/AudioOutput/AudioOutput.c b/Demos/Device/ClassDriver/AudioOutput/AudioOutput.c index 43267b2a7..e0c573434 100644 --- a/Demos/Device/ClassDriver/AudioOutput/AudioOutput.c +++ b/Demos/Device/ClassDriver/AudioOutput/AudioOutput.c @@ -52,7 +52,7 @@ USB_ClassInfo_Audio_Device_t Speaker_Audio_Interface = }; /** Current audio sampling frequency of the streaming audio endpoint. */ -uint32_t CurrentAudioSampleFrequency = 48000; +static uint32_t CurrentAudioSampleFrequency = 48000; /** Main program entry point. This routine contains the overall program flow, including initial @@ -91,7 +91,8 @@ void SetupHardware(void) ISR(TIMER0_COMPA_vect, ISR_BLOCK) { uint8_t PrevEndpoint = Endpoint_GetCurrentEndpoint(); - + + /* Check that the USB bus is ready for the next sample to read */ if (Audio_Device_IsSampleReceived(&Speaker_Audio_Interface)) { /* Retrieve the signed 16-bit left and right audio samples, convert to 8-bit */ @@ -214,7 +215,7 @@ void EVENT_USB_Device_ControlRequest(void) * * \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state. * \param[in] EndpointProperty Property of the endpoint to get or set, a value from Audio_ClassRequests_t. - * \param[in] EndpointIndex Index of the streaming endpoint whose property is being referenced. + * \param[in] EndpointAddress Address of the streaming endpoint whose property is being referenced. * \param[in] EndpointControl Parameter of the endpoint to get or set, a value from Audio_EndpointControls_t. * \param[in,out] DataLength For SET operations, the length of the parameter data to set. For GET operations, the maximum * length of the retrieved data. When NULL, the function should return whether the given property @@ -224,15 +225,15 @@ void EVENT_USB_Device_ControlRequest(void) * * \return Boolean true if the property get/set was successful, false otherwise */ -bool CALLBACK_Audio_GetSetEndpointProperty(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo, - const uint8_t EndpointProperty, - const uint8_t EndpointIndex, - const uint8_t EndpointControl, - uint16_t* const DataLength, - uint8_t* Data) +bool CALLBACK_Audio_Device_GetSetEndpointProperty(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo, + const uint8_t EndpointProperty, + const uint8_t EndpointAddress, + const uint8_t EndpointControl, + uint16_t* const DataLength, + uint8_t* Data) { /* Check the requested endpoint to see if a supported endpoint is being manipulated */ - if (EndpointIndex == Speaker_Audio_Interface.Config.DataOUTEndpointNumber) + if (EndpointAddress == (ENDPOINT_DESCRIPTOR_DIR_OUT | Speaker_Audio_Interface.Config.DataOUTEndpointNumber)) { /* Check the requested control to see if a supported control is being manipulated */ if (EndpointControl == AUDIO_EPCONTROL_SamplingFreq)