X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/9798440ca4f694e7cd8312a51b82e59589f1ebeb..eff07bb87758a12064d9de9c859b1e6e6502f2ea:/Demos/Device/ClassDriver/AudioInput/AudioInput.c?ds=inline diff --git a/Demos/Device/ClassDriver/AudioInput/AudioInput.c b/Demos/Device/ClassDriver/AudioInput/AudioInput.c index a361ea1a4..59d2129f4 100644 --- a/Demos/Device/ClassDriver/AudioInput/AudioInput.c +++ b/Demos/Device/ClassDriver/AudioInput/AudioInput.c @@ -40,12 +40,15 @@ * passed to all Audio Class driver functions, so that multiple instances of the same class * within a device can be differentiated from one another. */ -USB_ClassInfo_Audio_t Microphone_Audio_Interface = +USB_ClassInfo_Audio_Device_t Microphone_Audio_Interface = { - .StreamingInterfaceNumber = 1, + .Config = + { + .StreamingInterfaceNumber = 1, - .DataINEndpointNumber = AUDIO_STREAM_EPNUM, - .DataINEndpointSize = AUDIO_STREAM_EPSIZE, + .DataINEndpointNumber = AUDIO_STREAM_EPNUM, + .DataINEndpointSize = AUDIO_STREAM_EPSIZE, + }, }; /** Main program entry point. This routine contains the overall program flow, including initial @@ -59,8 +62,7 @@ int main(void) for (;;) { - if (Microphone_Audio_Interface.InterfaceEnabled) - ProcessNextSample(); + ProcessNextSample(); Audio_Device_USBTask(&Microphone_Audio_Interface); USB_USBTask(); @@ -92,6 +94,7 @@ void SetupHardware(void) */ void ProcessNextSample(void) { + /* Check if the sample reload timer period has elapsed, and that the USB bus is ready for a new sample */ if ((TIFR0 & (1 << OCF0A)) && Audio_Device_IsReadyForNextSample(&Microphone_Audio_Interface)) { TIFR0 |= (1 << OCF0A); @@ -104,7 +107,7 @@ void ProcessNextSample(void) AudioSample -= (SAMPLE_MAX_RANGE / 2)); #endif - Audio_Device_WriteSample16(AudioSample); + Audio_Device_WriteSample16(&Microphone_Audio_Interface, AudioSample); } }