aboutsummaryrefslogtreecommitdiffstats
path: root/Bootloaders
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2010-05-07 06:48:27 +0000
committerDean Camera <dean@fourwalledcubicle.com>2010-05-07 06:48:27 +0000
commit2a2de8fea94d2a524e988725585b17746cd30dba (patch)
treea0fbba8939a0dac602d148eb8d0bf9b38b7874eb /Bootloaders
parent27eb17cb934dcd3807bacdfe87f853e32f0cfdb4 (diff)
downloadlufa-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')
-rw-r--r--Bootloaders/TeensyHID/Descriptors.h11
-rw-r--r--Bootloaders/TeensyHID/TeensyHID.c6
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 */