aboutsummaryrefslogtreecommitdiffstats
path: root/Projects/AVRISP-MKII/Lib/ISP
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2010-11-12 06:24:01 +0000
committerDean Camera <dean@fourwalledcubicle.com>2010-11-12 06:24:01 +0000
commitd41cd9a41aca81eaa21e65e6c53672fe604fa3d5 (patch)
tree6863f09655ddb2a4faea8cb009fb688ef38f7509 /Projects/AVRISP-MKII/Lib/ISP
parent50390867e761f9cd92882d9f43db8593600fa61a (diff)
downloadlufa-d41cd9a41aca81eaa21e65e6c53672fe604fa3d5.tar.gz
lufa-d41cd9a41aca81eaa21e65e6c53672fe604fa3d5.tar.bz2
lufa-d41cd9a41aca81eaa21e65e6c53672fe604fa3d5.zip
Fixed PDI/TPI programming speed of ~250KHz in the AVRISP-MKII Clone project, instead of the desired 500KHz.
Diffstat (limited to 'Projects/AVRISP-MKII/Lib/ISP')
-rw-r--r--Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c2
-rw-r--r--Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h7
2 files changed, 6 insertions, 3 deletions
diff --git a/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c b/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c
index f4e9e3d3a..d315e9d1e 100644
--- a/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c
+++ b/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c
@@ -199,7 +199,7 @@ void ISPTarget_ConfigureRescueClock(void)
/* Start Timer 1 to generate a 4MHz clock on the OCR1A pin */
TIMSK1 = 0;
TCNT1 = 0;
- OCR1A = ((F_CPU / 2 / 4000000UL) - 1);
+ OCR1A = ((F_CPU / 2 / ISP_RESCUE_CLOCK_SPEED) - 1);
TCCR1A = (1 << COM1A0);
TCCR1B = ((1 << WGM12) | (1 << CS10));
}
diff --git a/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h b/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h
index c467298c6..aae4c5b53 100644
--- a/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h
+++ b/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h
@@ -59,8 +59,11 @@
/** Low level device command to issue an extended FLASH address, for devices with other 128KB of FLASH. */
#define LOAD_EXTENDED_ADDRESS_CMD 0x4D
- /** Macro to convert an ISP frequency to a number of timer clock cycles for the software SPI driver */
- #define TIMER_COMP(freq) ((((F_CPU / 8) / freq) / 2) - 1)
+ /** Macro to convert an ISP frequency to a number of timer clock cycles for the software SPI driver. */
+ #define TIMER_COMP(freq) (((F_CPU / 8) / 2 / freq) - 1)
+
+ /** ISP rescue clock speed, for clocking targets with incorrectly set fuses. */
+ #define ISP_RESCUE_CLOCK_SPEED 4000000
/* External Variables: */
extern bool HardwareSPIMode;