diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2010-05-07 06:48:27 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2010-05-07 06:48:27 +0000 |
commit | 2a2de8fea94d2a524e988725585b17746cd30dba (patch) | |
tree | a0fbba8939a0dac602d148eb8d0bf9b38b7874eb /Bootloaders/TeensyHID | |
parent | 27eb17cb934dcd3807bacdfe87f853e32f0cfdb4 (diff) | |
download | lufa-2a2de8fea94d2a524e988725585b17746cd30dba.tar.gz lufa-2a2de8fea94d2a524e988725585b17746cd30dba.tar.bz2 lufa-2a2de8fea94d2a524e988725585b17746cd30dba.zip |
Fix TeensyHID bootloader for the largest AVRs - only the ATMEGA128x needs the alternative addressing scheme.
Diffstat (limited to 'Bootloaders/TeensyHID')
-rw-r--r-- | Bootloaders/TeensyHID/Descriptors.h | 11 | ||||
-rw-r--r-- | Bootloaders/TeensyHID/TeensyHID.c | 6 |
2 files changed, 9 insertions, 8 deletions
diff --git a/Bootloaders/TeensyHID/Descriptors.h b/Bootloaders/TeensyHID/Descriptors.h index f72dec251..8ef964d2a 100644 --- a/Bootloaders/TeensyHID/Descriptors.h +++ b/Bootloaders/TeensyHID/Descriptors.h @@ -96,15 +96,16 @@ /** Vendor usage page for the Teensy++ 2.0 board */
#define TEENSY_USAGEPAGE_20PP 0x1C
- #if defined(USB_SERIES_2_AVR)
+ #if (defined(__AVR_AT90USB162__) || defined(__AVR_ATmega16U2__))
#define TEENSY_USAGEPAGE TEENSY_USAGEPAGE_10
- #elif defined(USB_SERIES_4_AVR)
+ #elif defined(__AVR_ATmega32U4__)
#define TEENSY_USAGEPAGE TEENSY_USAGEPAGE_20
- #define TEENSY_USAGE TEENSY_USAGE_20
- #elif defined(USB_SERIES_6_AVR)
+ #elif (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__))
#define TEENSY_USAGEPAGE TEENSY_USAGEPAGE_10PP
- #elif defined(USB_SERIES_7_AVR)
+ #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: */
diff --git a/Bootloaders/TeensyHID/TeensyHID.c b/Bootloaders/TeensyHID/TeensyHID.c index ff28927b4..ffbaca8b3 100644 --- a/Bootloaders/TeensyHID/TeensyHID.c +++ b/Bootloaders/TeensyHID/TeensyHID.c @@ -115,10 +115,10 @@ void EVENT_USB_Device_UnhandledControlRequest(void) }
else
{
- #if (SPM_PAGESIZE == 128)
- uint16_t PageByteAddress = PageIndex;
- #else
+ #if (FLASHEND > 0xFFFF)
uint32_t PageByteAddress = ((uint32_t)PageIndex << 8);
+ #else
+ uint16_t PageByteAddress = PageIndex;
#endif
/* Erase the given FLASH page, ready to be programmed */
|