Add svn:eol-style property to source files, so that the line endings are correctly...
[pub/USBasp.git] / Bootloaders / TeensyHID / Descriptors.h
index 8ef964d..a772dbe 100644 (file)
-/*\r
-             LUFA Library\r
-     Copyright (C) Dean Camera, 2010.\r
-              \r
-  dean [at] fourwalledcubicle [dot] com\r
-      www.fourwalledcubicle.com\r
-*/\r
-\r
-/*\r
-  Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
-         \r
-  Permission to use, copy, modify, distribute, and sell this \r
-  software and its documentation for any purpose is hereby granted\r
-  without fee, provided that the above copyright notice appear in \r
-  all copies and that both that the copyright notice and this\r
-  permission notice and warranty disclaimer appear in supporting \r
-  documentation, and that the name of the author not be used in \r
-  advertising or publicity pertaining to distribution of the \r
-  software without specific, written prior permission.\r
-\r
-  The author disclaim all warranties with regard to this\r
-  software, including all implied warranties of merchantability\r
-  and fitness.  In no event shall the author be liable for any\r
-  special, indirect or consequential damages or any damages\r
-  whatsoever resulting from loss of use, data or profits, whether\r
-  in an action of contract, negligence or other tortious action,\r
-  arising out of or in connection with the use or performance of\r
-  this software.\r
-*/\r
-\r
-/** \file\r
- *\r
- *  Header file for Descriptors.c.\r
- */\r
-\r
-#ifndef _DESCRIPTORS_H_\r
-#define _DESCRIPTORS_H_\r
-\r
-       /* Includes: */\r
-               #include <LUFA/Drivers/USB/USB.h>\r
-\r
-       /* Type Defines: */\r
-               /** Type define for the HID class specific HID descriptor, to describe the HID device's specifications. Refer to the HID\r
-                *  specification for details on the structure elements.\r
-                */     \r
-               typedef struct\r
-               {\r
-                       USB_Descriptor_Header_t Header;\r
-                               \r
-                       uint16_t                HIDSpec;\r
-                       uint8_t                 CountryCode;\r
-               \r
-                       uint8_t                 TotalHIDDescriptors;\r
-\r
-                       uint8_t                 HIDReportType;\r
-                       uint16_t                HIDReportLength;\r
-               } USB_Descriptor_HID_t;\r
-               \r
-               /** Type define for the data type used to store HID report descriptor elements. */\r
-               typedef uint8_t USB_Descriptor_HIDReport_Datatype_t;\r
-\r
-               /** Type define for the device configuration descriptor structure. This must be defined in the\r
-                *  application code, as the configuration descriptor contains several sub-descriptors which\r
-                *  vary between devices, and which describe the device's usage to the host.\r
-                */\r
-               typedef struct\r
-               {\r
-                       USB_Descriptor_Configuration_Header_t Config;\r
-                       USB_Descriptor_Interface_t            HID_Interface;\r
-                       USB_Descriptor_HID_t                  HID_VendorHID;\r
-               USB_Descriptor_Endpoint_t             HID_ReportINEndpoint;\r
-               } USB_Descriptor_Configuration_t;\r
-                                       \r
-       /* Macros: */\r
-               /** Endpoint number of the HID data IN endpoint. */\r
-               #define HID_EPNUM                 1\r
-\r
-               /** Size in bytes of the HID reporting IN endpoint. */          \r
-               #define HID_EPSIZE                64\r
-\r
-               /** Descriptor header type value, to indicate a HID class HID descriptor. */\r
-               #define DTYPE_HID                 0x21\r
-               \r
-               /** Descriptor header type value, to indicate a HID class HID report descriptor. */\r
-               #define DTYPE_Report              0x22\r
-               \r
-               /** Vendor usage page for the Teensy 1.0 board */\r
-               #define TEENSY_USAGEPAGE_10       0x19\r
-\r
-               /** Vendor usage page for the Teensy++ 1.0 board */\r
-               #define TEENSY_USAGEPAGE_10PP     0x1A\r
-\r
-               /** Vendor usage page for the Teensy 2.0 board */\r
-               #define TEENSY_USAGEPAGE_20       0x1B\r
-               \r
-               /** Vendor usage page for the Teensy++ 2.0 board */\r
-               #define TEENSY_USAGEPAGE_20PP     0x1C\r
-               \r
-               #if (defined(__AVR_AT90USB162__) || defined(__AVR_ATmega16U2__))\r
-                       #define TEENSY_USAGEPAGE      TEENSY_USAGEPAGE_10\r
-               #elif defined(__AVR_ATmega32U4__)\r
-                       #define TEENSY_USAGEPAGE      TEENSY_USAGEPAGE_20\r
-               #elif (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__))\r
-                       #define TEENSY_USAGEPAGE      TEENSY_USAGEPAGE_10PP\r
-               #elif (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__))\r
-                       #define TEENSY_USAGEPAGE      TEENSY_USAGEPAGE_20PP\r
-               #else\r
-                       #error The selected AVR model is not currently supported by the TeensyHID bootloader.\r
-               #endif\r
-\r
-       /* Function Prototypes: */\r
-               uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress)\r
-                                                                                       ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);\r
-\r
-#endif\r
+/*
+             LUFA Library
+     Copyright (C) Dean Camera, 2010.
+              
+  dean [at] fourwalledcubicle [dot] com
+      www.fourwalledcubicle.com
+*/
+
+/*
+  Copyright 2010  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
+  without fee, provided that the above copyright notice appear in 
+  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 
+  software without specific, written prior permission.
+
+  The author disclaim all warranties with regard to this
+  software, including all implied warranties of merchantability
+  and fitness.  In no event shall the author be liable for any
+  special, indirect or consequential damages or any damages
+  whatsoever resulting from loss of use, data or profits, whether
+  in an action of contract, negligence or other tortious action,
+  arising out of or in connection with the use or performance of
+  this software.
+*/
+
+/** \file
+ *
+ *  Header file for Descriptors.c.
+ */
+
+#ifndef _DESCRIPTORS_H_
+#define _DESCRIPTORS_H_
+
+       /* Includes: */
+               #include <LUFA/Drivers/USB/USB.h>
+
+       /* Type Defines: */
+               /** Type define for the HID class specific HID descriptor, to describe the HID device's specifications. Refer to the HID
+                *  specification for details on the structure elements.
+                */     
+               typedef struct
+               {
+                       USB_Descriptor_Header_t Header;
+                               
+                       uint16_t                HIDSpec;
+                       uint8_t                 CountryCode;
+               
+                       uint8_t                 TotalHIDDescriptors;
+
+                       uint8_t                 HIDReportType;
+                       uint16_t                HIDReportLength;
+               } USB_Descriptor_HID_t;
+               
+               /** Type define for the data type used to store HID report descriptor elements. */
+               typedef uint8_t USB_Descriptor_HIDReport_Datatype_t;
+
+               /** Type define for the device configuration descriptor structure. This must be defined in the
+                *  application code, as the configuration descriptor contains several sub-descriptors which
+                *  vary between devices, and which describe the device's usage to the host.
+                */
+               typedef struct
+               {
+                       USB_Descriptor_Configuration_Header_t Config;
+                       USB_Descriptor_Interface_t            HID_Interface;
+                       USB_Descriptor_HID_t                  HID_VendorHID;
+               USB_Descriptor_Endpoint_t             HID_ReportINEndpoint;
+               } USB_Descriptor_Configuration_t;
+                                       
+       /* Macros: */
+               /** Endpoint number of the HID data IN endpoint. */
+               #define HID_EPNUM                 1
+
+               /** Size in bytes of the HID reporting IN endpoint. */          
+               #define HID_EPSIZE                64
+
+               /** Descriptor header type value, to indicate a HID class HID descriptor. */
+               #define DTYPE_HID                 0x21
+               
+               /** Descriptor header type value, to indicate a HID class HID report descriptor. */
+               #define DTYPE_Report              0x22
+               
+               /** Vendor usage page for the Teensy 1.0 board */
+               #define TEENSY_USAGEPAGE_10       0x19
+
+               /** Vendor usage page for the Teensy++ 1.0 board */
+               #define TEENSY_USAGEPAGE_10PP     0x1A
+
+               /** Vendor usage page for the Teensy 2.0 board */
+               #define TEENSY_USAGEPAGE_20       0x1B
+               
+               /** Vendor usage page for the Teensy++ 2.0 board */
+               #define TEENSY_USAGEPAGE_20PP     0x1C
+               
+               #if (defined(__AVR_AT90USB162__) || defined(__AVR_ATmega16U2__))
+                       #define TEENSY_USAGEPAGE      TEENSY_USAGEPAGE_10
+               #elif defined(__AVR_ATmega32U4__)
+                       #define TEENSY_USAGEPAGE      TEENSY_USAGEPAGE_20
+               #elif (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__))
+                       #define TEENSY_USAGEPAGE      TEENSY_USAGEPAGE_10PP
+               #elif (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__))
+                       #define TEENSY_USAGEPAGE      TEENSY_USAGEPAGE_20PP
+               #else
+                       #error The selected AVR model is not currently supported by the TeensyHID bootloader.
+               #endif
+
+       /* Function Prototypes: */
+               uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress)
+                                                                                       ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);
+
+#endif