Add additional preprocessor sanity checks for the XMEGA platform based on the USB...
[pub/USBasp.git] / Demos / Host / ClassDriver / AudioOutputHost / AudioOutputHost.c
index c8dc3a3..833be1b 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2011.
+     Copyright (C) Dean Camera, 2012.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2012  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
@@ -44,7 +44,10 @@ USB_ClassInfo_Audio_Host_t Speaker_Audio_Interface =
        {
                .Config =
                        {
        {
                .Config =
                        {
-                               .DataOUTPipeNumber = 1,
+                               .DataOUTPipe            =
+                                       {
+                                               .Address        = (PIPE_DIR_OUT | 2),
+                                       },
                        },
        };
 
                        },
        };
 
@@ -81,11 +84,11 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK)
                #if defined(USE_TEST_TONE)
                        static uint8_t SquareWaveSampleCount;
                        static int16_t CurrentWaveValue;
                #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;
                        /* 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
                        /* Only generate audio if the board button is being pressed */
                        AudioSample = (Buttons_GetStatus() & BUTTONS_BUTTON1) ? CurrentWaveValue : 0;
                #else
@@ -97,11 +100,11 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK)
                        AudioSample -= (SAMPLE_MAX_RANGE / 2);
                        #endif
                #endif
                        AudioSample -= (SAMPLE_MAX_RANGE / 2);
                        #endif
                #endif
-               
-               Audio_Host_WriteSample16(&Speaker_Audio_Interface, AudioSample);        
+
+               Audio_Host_WriteSample16(&Speaker_Audio_Interface, AudioSample);
                Audio_Host_WriteSample16(&Speaker_Audio_Interface, AudioSample);
        }
                Audio_Host_WriteSample16(&Speaker_Audio_Interface, AudioSample);
        }
-       
+
        Pipe_SelectPipe(PrevPipe);
 }
 
        Pipe_SelectPipe(PrevPipe);
 }
 
@@ -185,9 +188,9 @@ void EVENT_USB_Host_DeviceEnumerationComplete(void)
                USB_Host_SetDeviceConfiguration(0);
                return;
        }
                USB_Host_SetDeviceConfiguration(0);
                return;
        }
-       
+
        USB_Audio_SampleFreq_t SampleRate = AUDIO_SAMPLE_FREQ(48000);
        USB_Audio_SampleFreq_t SampleRate = AUDIO_SAMPLE_FREQ(48000);
-       if (Audio_Host_GetSetEndpointProperty(&Speaker_Audio_Interface, Speaker_Audio_Interface.Config.DataOUTPipeNumber,
+       if (Audio_Host_GetSetEndpointProperty(&Speaker_Audio_Interface, Speaker_Audio_Interface.Config.DataOUTPipe.Address,
                                              AUDIO_REQ_SetCurrent, AUDIO_EPCONTROL_SamplingFreq,
                                              sizeof(SampleRate), &SampleRate) != HOST_SENDCONTROL_Successful)
        {
                                              AUDIO_REQ_SetCurrent, AUDIO_EPCONTROL_SamplingFreq,
                                              sizeof(SampleRate), &SampleRate) != HOST_SENDCONTROL_Successful)
        {