Add automatic application start on virtual disk ejection to the Mass Storage class...
[pub/USBasp.git] / Bootloaders / DFU / Descriptors.h
index 79a585d..c33e388 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2012.
+     Copyright (C) Dean Camera, 2013.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2012  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2013  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
                        #define AVR_SIGNATURE_1               0x1E
                        #define AVR_SIGNATURE_2               0x96
                        #define AVR_SIGNATURE_3               0x82
                        #define AVR_SIGNATURE_1               0x1E
                        #define AVR_SIGNATURE_2               0x96
                        #define AVR_SIGNATURE_3               0x82
-               #elif defined(__AVR_ATmega32U6__)
-                       #define PRODUCT_ID_CODE               0x2FFB
-                       #define AVR_SIGNATURE_1               0x1E
-                       #define AVR_SIGNATURE_2               0x95
-                       #define AVR_SIGNATURE_3               0x88
                #elif defined(__AVR_ATmega32U4__)
                        #define PRODUCT_ID_CODE               0x2FF4
                        #define AVR_SIGNATURE_1               0x1E
                #elif defined(__AVR_ATmega32U4__)
                        #define PRODUCT_ID_CODE               0x2FF4
                        #define AVR_SIGNATURE_1               0x1E
                        #define AVR_SIGNATURE_2               0x94
                        #define AVR_SIGNATURE_3               0x82
                #elif defined(__AVR_ATmega8U2__)
                        #define AVR_SIGNATURE_2               0x94
                        #define AVR_SIGNATURE_3               0x82
                #elif defined(__AVR_ATmega8U2__)
-                       #define PRODUCT_ID_CODE               0x2FF7
+                       #define PRODUCT_ID_CODE               0x2FEE
                        #define AVR_SIGNATURE_1               0x1E
                        #define AVR_SIGNATURE_2               0x93
                        #define AVR_SIGNATURE_3               0x89
                #elif defined(__AVR_AT90USB82__)
                        #define AVR_SIGNATURE_1               0x1E
                        #define AVR_SIGNATURE_2               0x93
                        #define AVR_SIGNATURE_3               0x89
                #elif defined(__AVR_AT90USB82__)
-                       #define PRODUCT_ID_CODE               0x2FEE
+                       #define PRODUCT_ID_CODE               0x2FF7
                        #define AVR_SIGNATURE_1               0x1E
                        #define AVR_SIGNATURE_2               0x94
                        #define AVR_SIGNATURE_3               0x82
                        #define AVR_SIGNATURE_1               0x1E
                        #define AVR_SIGNATURE_2               0x94
                        #define AVR_SIGNATURE_3               0x82
                        USB_Descriptor_DFU_Functional_t       DFU_Functional;
                } USB_Descriptor_Configuration_t;
 
                        USB_Descriptor_DFU_Functional_t       DFU_Functional;
                } USB_Descriptor_Configuration_t;
 
+               /** Enum for the device string descriptor IDs within the device. Each string descriptor should
+                *  have a unique ID index associated with it, which can be used to refer to the string from
+                *  other descriptors.
+                */
+               enum StringDescriptors_t
+               {
+                   STRING_ID_Language      = 0, /**< Supported Languages string descriptor ID (must be zero) */
+                   STRING_ID_Manufacturer  = 1, /**< Manufacturer string ID */
+                   STRING_ID_Product       = 2, /**< Product string ID */
+               };
+
        /* Function Prototypes: */
                uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
                                                    const uint8_t wIndex,
        /* Function Prototypes: */
                uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
                                                    const uint8_t wIndex,