From d41cd9a41aca81eaa21e65e6c53672fe604fa3d5 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Fri, 12 Nov 2010 06:24:01 +0000 Subject: Fixed PDI/TPI programming speed of ~250KHz in the AVRISP-MKII Clone project, instead of the desired 500KHz. --- Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c | 2 +- Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'Projects/AVRISP-MKII/Lib/ISP') 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; -- cgit v1.2.3