Clean up excessive whitespace at the end of each line using the wspurify tool made...
[pub/USBasp.git] / LUFA / Drivers / USB / USB.h
index 552af0f..b8dce82 100644 (file)
@@ -1,7 +1,7 @@
 /*
              LUFA Library
      Copyright (C) Dean Camera, 2010.
 /*
              LUFA Library
      Copyright (C) Dean Camera, 2010.
-              
+
   dean [at] fourwalledcubicle [dot] com
       www.fourwalledcubicle.com
 */
   dean [at] fourwalledcubicle [dot] com
       www.fourwalledcubicle.com
 */
@@ -9,13 +9,13 @@
 /*
   Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
 /*
   Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
-  Permission to use, copy, modify, distribute, and sell this 
+  Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
   software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in 
+  without fee, provided that the above copyright notice appear in
   all copies and that both that the copyright notice and this
   all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting 
-  documentation, and that the name of the author not be used in 
-  advertising or publicity pertaining to distribution of the 
+  permission notice and warranty disclaimer appear in supporting
+  documentation, and that the name of the author not be used in
+  advertising or publicity pertaining to distribution of the
   software without specific, written prior permission.
 
   The author disclaim all warranties with regard to this
   software without specific, written prior permission.
 
   The author disclaim all warranties with regard to this
@@ -86,9 +86,9 @@
  *
  *  <table>
  *  <tr>
  *
  *  <table>
  *  <tr>
- *   <th width="100px">USB Class</th> 
- *   <th width="90px">Device Mode</th> 
- *   <th width="90px">Host Mode</th> 
+ *   <th width="100px">USB Class</th>
+ *   <th width="90px">Device Mode</th>
+ *   <th width="90px">Host Mode</th>
  *  </tr>
  *  <tr>
  *   <td>Audio</td>
  *  </tr>
  *  <tr>
  *   <td>Audio</td>
  *
  *  \subsection SSec_ClassDriverDevice Device Mode Class Drivers
  *  Implementing a Device Mode Class Driver in a user application requires a number of steps to be followed. Firstly,
  *
  *  \subsection SSec_ClassDriverDevice Device Mode Class Drivers
  *  Implementing a Device Mode Class Driver in a user application requires a number of steps to be followed. Firstly,
- *  the module configuration and state structure must be added to the project source. These structures are named in a 
+ *  the module configuration and state structure must be added to the project source. These structures are named in a
  *  similar manner between classes, that of <i>USB_ClassInfo_<b>{Class Name}</b>_Device_t</i>, and are used to hold the
  *  similar manner between classes, that of <i>USB_ClassInfo_<b>{Class Name}</b>_Device_t</i>, and are used to hold the
- *  complete state and configuration for each class instance. Multiple class instances is where the power of the class 
- *  drivers lie; multiple interfaces of the same class simply require more instances of the Class Driver's ClassInfo 
+ *  complete state and configuration for each class instance. Multiple class instances is where the power of the class
+ *  drivers lie; multiple interfaces of the same class simply require more instances of the Class Driver's ClassInfo
  *  structure.
  *
  *  Inside the ClassInfo structure lies two sections, a <i>Config</i> section, and a <i>State</i> section. The Config
  *  structure.
  *
  *  Inside the ClassInfo structure lies two sections, a <i>Config</i> section, and a <i>State</i> section. The Config
  *      .Config =
  *          {
  *              .StreamingInterfaceNumber = 1,
  *      .Config =
  *          {
  *              .StreamingInterfaceNumber = 1,
- *              
+ *
  *              .DataINEndpointNumber     = 1,
  *              .DataINEndpointSize       = 256,
  *          },
  *              .DataINEndpointNumber     = 1,
  *              .DataINEndpointSize       = 256,
  *          },
  *  void EVENT_USB_Device_ConfigurationChanged(void)
  *  {
  *     LEDs_SetAllLEDs(LEDMASK_USB_READY);
  *  void EVENT_USB_Device_ConfigurationChanged(void)
  *  {
  *     LEDs_SetAllLEDs(LEDMASK_USB_READY);
- *     
+ *
  *     if (!(Audio_Device_ConfigureEndpoints(&My_Audio_Interface)))
  *       LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
  *  }
  *  \endcode
  *     if (!(Audio_Device_ConfigureEndpoints(&My_Audio_Interface)))
  *       LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
  *  }
  *  \endcode
- * 
+ *
  *  Once initialized, it is important to maintain the class driver's state by repeatedly calling the Class Driver's
  *  <i><b>{Class Name}</b>_Device_USBTask()</i> function in the main program loop. The exact implementation of this
  *  function varies between class drivers, and can be used for any internal class driver purpose to maintain each
  *  Once initialized, it is important to maintain the class driver's state by repeatedly calling the Class Driver's
  *  <i><b>{Class Name}</b>_Device_USBTask()</i> function in the main program loop. The exact implementation of this
  *  function varies between class drivers, and can be used for any internal class driver purpose to maintain each
  *  int main(void)
  *  {
  *      SetupHardware();
  *  int main(void)
  *  {
  *      SetupHardware();
- *  
+ *
  *      LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
  *      LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
- *  
+ *
  *      for (;;)
  *      {
  *          Create_And_Process_Samples();
  *      for (;;)
  *      {
  *          Create_And_Process_Samples();
- *      
+ *
  *          Audio_Device_USBTask(&My_Audio_Interface);
  *          USB_USBTask();
  *      }
  *          Audio_Device_USBTask(&My_Audio_Interface);
  *          USB_USBTask();
  *      }
  *
  *  \subsection SSec_ClassDriverHost Host Mode Class Drivers
  *  Implementing a Host Mode Class Driver in a user application requires a number of steps to be followed. Firstly,
  *
  *  \subsection SSec_ClassDriverHost Host Mode Class Drivers
  *  Implementing a Host Mode Class Driver in a user application requires a number of steps to be followed. Firstly,
- *  the module configuration and state structure must be added to the project source. These structures are named in a 
+ *  the module configuration and state structure must be added to the project source. These structures are named in a
  *  similar manner between classes, that of <i>USB_ClassInfo_<b>{Class Name}</b>_Host_t</i>, and are used to hold the
  *  similar manner between classes, that of <i>USB_ClassInfo_<b>{Class Name}</b>_Host_t</i>, and are used to hold the
- *  complete state and configuration for each class instance. Multiple class instances is where the power of the class 
- *  drivers lie; multiple interfaces of the same class simply require more instances of the Class Driver's ClassInfo 
+ *  complete state and configuration for each class instance. Multiple class instances is where the power of the class
+ *  drivers lie; multiple interfaces of the same class simply require more instances of the Class Driver's ClassInfo
  *  structure.
  *
  *  Inside the ClassInfo structure lies two sections, a <i>Config</i> section, and a <i>State</i> section. The Config
  *  structure.
  *
  *  Inside the ClassInfo structure lies two sections, a <i>Config</i> section, and a <i>State</i> section. The Config
  *          {
  *              .DataINPipeNumber       = 1,
  *              .DataINPipeDoubleBank   = false,
  *          {
  *              .DataINPipeNumber       = 1,
  *              .DataINPipeDoubleBank   = false,
- *              
+ *
  *              .DataOUTPipeNumber      = 2,
  *              .DataOUTPipeDoubleBank  = false,
  *          },
  *              .DataOUTPipeNumber      = 2,
  *              .DataOUTPipeDoubleBank  = false,
  *          },
  *  should be called in response to the host state machine entering the \ref HOST_STATE_Addressed state. This function
  *  will return an error code from the class driver's <i><b>{Class Name}</b>_EnumerationFailure_ErrorCodes_t</i> enum
  *  to indicate if the driver successfully initialized the instance and bound it to an interface in the attached device.
  *  should be called in response to the host state machine entering the \ref HOST_STATE_Addressed state. This function
  *  will return an error code from the class driver's <i><b>{Class Name}</b>_EnumerationFailure_ErrorCodes_t</i> enum
  *  to indicate if the driver successfully initialized the instance and bound it to an interface in the attached device.
- *  Like all the class driver functions, this function takes in the address of the specific instance you wish to initialize - 
+ *  Like all the class driver functions, this function takes in the address of the specific instance you wish to initialize -
  *  in this manner, multiple separate instances of the same class type can be initialized. A fragment of a Class Driver
  *  based Host mode application may look like the following:
  *
  *  in this manner, multiple separate instances of the same class type can be initialized. A fragment of a Class Driver
  *  based Host mode application may look like the following:
  *
  *      {
  *          case HOST_STATE_Addressed:
  *              LEDs_SetAllLEDs(LEDMASK_USB_ENUMERATING);
  *      {
  *          case HOST_STATE_Addressed:
  *              LEDs_SetAllLEDs(LEDMASK_USB_ENUMERATING);
- *          
+ *
  *              uint16_t ConfigDescriptorSize;
  *              uint8_t  ConfigDescriptorData[512];
  *
  *              uint16_t ConfigDescriptorSize;
  *              uint8_t  ConfigDescriptorData[512];
  *
  *  int main(void)
  *  {
  *      SetupHardware();
  *  int main(void)
  *  {
  *      SetupHardware();
- *  
+ *
  *      LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
  *      LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
- *  
+ *
  *      for (;;)
  *      {
  *          switch (USB_HostState)
  *          {
  *             // Host state machine handling here
  *      for (;;)
  *      {
  *          switch (USB_HostState)
  *          {
  *             // Host state machine handling here
- *          } 
- *      
+ *          }
+ *
  *          MIDI_Host_USBTask(&My_Audio_Interface);
  *          USB_USBTask();
  *      }
  *          MIDI_Host_USBTask(&My_Audio_Interface);
  *          USB_USBTask();
  *      }
  *  read and write routines. See each driver's individual documentation for more information on the
  *  class-specific functions.
  */
  *  read and write routines. See each driver's individual documentation for more information on the
  *  class-specific functions.
  */
+
 #ifndef __USB_H__
 #define __USB_H__
 
 #ifndef __USB_H__
 #define __USB_H__
 
        /* Includes: */
                #include "HighLevel/USBMode.h"
 
        /* Includes: */
                #include "HighLevel/USBMode.h"
 
-       /* Preprocessor Checks: */              
+       /* Preprocessor Checks: */
                #if (!defined(USB_SERIES_2_AVR) && !defined(USB_SERIES_4_AVR) && \
                     !defined(USB_SERIES_6_AVR) && !defined(USB_SERIES_7_AVR))
                        #error The currently selected AVR model is not supported under the USB component of the LUFA library.
                #endif
                #if (!defined(USB_SERIES_2_AVR) && !defined(USB_SERIES_4_AVR) && \
                     !defined(USB_SERIES_6_AVR) && !defined(USB_SERIES_7_AVR))
                        #error The currently selected AVR model is not supported under the USB component of the LUFA library.
                #endif
-               
+
        /* Includes: */
                #include "HighLevel/USBTask.h"
                #include "HighLevel/Events.h"
        /* Includes: */
                #include "HighLevel/USBTask.h"
                #include "HighLevel/Events.h"
 
                #include "LowLevel/USBController.h"
                #include "LowLevel/USBInterrupt.h"
 
                #include "LowLevel/USBController.h"
                #include "LowLevel/USBInterrupt.h"
-       
+
                #if defined(USB_CAN_BE_HOST) || defined(__DOXYGEN__)
                        #include "LowLevel/Host.h"
                        #include "LowLevel/Pipe.h"
                        #include "HighLevel/HostStandardReq.h"
                        #include "HighLevel/PipeStream.h"
                #endif
                #if defined(USB_CAN_BE_HOST) || defined(__DOXYGEN__)
                        #include "LowLevel/Host.h"
                        #include "LowLevel/Pipe.h"
                        #include "HighLevel/HostStandardReq.h"
                        #include "HighLevel/PipeStream.h"
                #endif
-               
+
                #if defined(USB_CAN_BE_DEVICE) || defined(__DOXYGEN__)
                        #include "LowLevel/Device.h"
                        #include "LowLevel/Endpoint.h"
                        #include "HighLevel/DeviceStandardReq.h"
                        #include "HighLevel/EndpointStream.h"
                #endif
                #if defined(USB_CAN_BE_DEVICE) || defined(__DOXYGEN__)
                        #include "LowLevel/Device.h"
                        #include "LowLevel/Endpoint.h"
                        #include "HighLevel/DeviceStandardReq.h"
                        #include "HighLevel/EndpointStream.h"
                #endif
-               
+
                #if defined(USB_CAN_BE_BOTH) || defined(__DOXYGEN__)
                        #include "LowLevel/OTG.h"
                #endif
                #if defined(USB_CAN_BE_BOTH) || defined(__DOXYGEN__)
                        #include "LowLevel/OTG.h"
                #endif
-                               
+
 #endif
 
 #endif