#define AVR_SIGNATURE_1 0x1E\r
#define AVR_SIGNATURE_2 0x96\r
#define AVR_SIGNATURE_3 0x82\r
- #elif defined(__AVR_AT90USB647__)\r
- #define PRODUCT_ID_CODE 0x2FF9\r
- #define AVR_SIGNATURE_1 0x1E\r
- #define AVR_SIGNATURE_2 0x96\r
- #define AVR_SIGNATURE_3 0x82\r
- #elif defined(__AVR_AT90USB162__)\r
- #define PRODUCT_ID_CODE 0x2FFA\r
- #define AVR_SIGNATURE_1 0x1E\r
- #define AVR_SIGNATURE_2 0x94\r
- #define AVR_SIGNATURE_3 0x82\r
- #elif defined(__AVR_AT90USB82__)\r
- #define PRODUCT_ID_CODE 0x2FF7\r
- #define AVR_SIGNATURE_1 0x1E\r
- #define AVR_SIGNATURE_2 0x94\r
- #define AVR_SIGNATURE_3 0x82\r
#elif defined(__AVR_ATmega32U6__)\r
#define PRODUCT_ID_CODE 0x2FFB\r
#define AVR_SIGNATURE_1 0x1E\r
#define AVR_SIGNATURE_2 0x95\r
#define AVR_SIGNATURE_3 0x88\r
+ #elif defined(__AVR_AT90USB647__)\r
+ #define PRODUCT_ID_CODE 0x2FF9\r
+ #define AVR_SIGNATURE_1 0x1E\r
+ #define AVR_SIGNATURE_2 0x96\r
+ #define AVR_SIGNATURE_3 0x82\r
#elif defined(__AVR_ATmega32U4__)\r
#define PRODUCT_ID_CODE 0x2FF4\r
#define AVR_SIGNATURE_1 0x1E\r
#define AVR_SIGNATURE_1 0x1E\r
#define AVR_SIGNATURE_2 0x94\r
#define AVR_SIGNATURE_3 0x88\r
+ #elif defined(__AVR_AT90USB162__)\r
+ #define PRODUCT_ID_CODE 0x2FFA\r
+ #define AVR_SIGNATURE_1 0x1E\r
+ #define AVR_SIGNATURE_2 0x94\r
+ #define AVR_SIGNATURE_3 0x82\r
+ #elif defined(__AVR_ATmega8U2__)\r
+ #define PRODUCT_ID_CODE 0x2FF7\r
+ #define AVR_SIGNATURE_1 0x1E\r
+ #define AVR_SIGNATURE_2 0x93\r
+ #define AVR_SIGNATURE_3 0x82\r
+ #elif defined(__AVR_ATmega16U2__)\r
+ #define PRODUCT_ID_CODE 0x2FEF\r
+ #define AVR_SIGNATURE_1 0x1E\r
+ #define AVR_SIGNATURE_2 0x94\r
+ #define AVR_SIGNATURE_3 0x89\r
+ #elif defined(__AVR_AT90USB82__)\r
+ #define PRODUCT_ID_CODE 0x2FEE\r
+ #define AVR_SIGNATURE_1 0x1E\r
+ #define AVR_SIGNATURE_2 0x93\r
+ #define AVR_SIGNATURE_3 0x89\r
#else\r
#error The selected AVR part is not currently supported by this bootloader.\r
#endif\r
/** Event for USB device connection. This event fires when the AVR in device mode and the device is connected\r
* to a host, beginning the enumeration process, measured by a rising level on the AVR's VBUS pin.\r
*\r
- * \note For the smaller USB AVRs (AT90USBXX2) with limited USB controllers, VBUS is not available to the USB controller.\r
+ * \note For the smaller series 2 USB AVRs with limited USB controllers, VBUS is not available to the USB controller.\r
* this means that the current connection state is derived from the bus suspension and wake up events by default,\r
* which is not always accurate (host may suspend the bus while still connected). If the actual connection state\r
* needs to be determined, VBUS should be routed to an external pin, and the auto-detect behaviour turned off by\r
* passing the NO_LIMITED_CONTROLLER_CONNECT token to the compiler via the -D switch at compile time. The connection\r
* and disconnection events may be manually fired, and the \ref USB_DeviceState global changed manually.\r
*\r
+ * \note This event may fire multiple times during device enumeration on the series 2 USB AVRs with limited USB controllers\r
+ * if NO_LIMITED_CONTROLLER_CONNECT is not defined.\r
+ *\r
* \see USBTask.h for more information on the USB management task and reducing CPU usage.\r
*/\r
void EVENT_USB_Device_Connect(void);\r
/** Event for USB device disconnection. This event fires when the AVR in device mode and the device is disconnected\r
* from a host, measured by a falling level on the AVR's VBUS pin.\r
*\r
- * \note For the smaller USB AVRs (AT90USBXX2) with limited USB controllers, VBUS is not available to the USB controller.\r
+ * \note For the smaller series 2 USB AVRs with limited USB controllers, VBUS is not available to the USB controller.\r
* this means that the current connection state is derived from the bus suspension and wake up events by default,\r
* which is not always accurate (host may suspend the bus while still connected). If the actual connection state\r
* needs to be determined, VBUS should be routed to an external pin, and the auto-detect behaviour turned off by\r
* passing the NO_LIMITED_CONTROLLER_CONNECT token to the compiler via the -D switch at compile time. The connection\r
* and disconnection events may be manually fired, and the \ref USB_DeviceState global changed manually.\r
*\r
+ * \note This event may fire multiple times during device enumeration on the series 2 USB AVRs with limited USB controllers\r
+ * if NO_LIMITED_CONTROLLER_CONNECT is not defined.\r
+ *\r
* \see USBTask.h for more information on the USB management task and reducing CPU usage.\r
*/\r
void EVENT_USB_Device_Disconnect(void);\r
* - CDC based demos and project now work under 64 bit versions of Windows (thanks to Ronny Hanson, Thomas Bleeker)\r
* - Re-add in flip, flip-ee, dfu and dfu-ee targets to project makefiles (thanks to Opendous Inc.)\r
* - Fix allowable F_CPU values comment in project makefiles\r
- * - Fixed DFU and CDC class bootloaders on the AT90USBXXX2 series USB AVRs\r
+ * - Fixed DFU and CDC class bootloaders on the series 2 USB AVRs, corrected invalid signatures, added support for the new\r
+ * ATMEGAxxx2 series 2 variant AVRs to the DFU bootloader\r
*\r
*\r
* \section Sec_ChangeLog090810 Version 090810\r