X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/24ca2d49fef526b95e6efcd3cdcbe38377ae4f02..43a3350981f74aaa7455798d287465265f9e19d8:/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c diff --git a/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c b/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c index a6ec53600..134120d9d 100644 --- a/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c +++ b/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c @@ -178,7 +178,7 @@ void ISPTarget_DisableTargetISP(void) { DDRB &= ~((1 << 1) | (1 << 2)); PORTB &= ~((1 << 0) | (1 << 3)); - + /* Must re-enable rescue clock once software ISP has exited, as the timer for the rescue clock is * re-purposed for software SPI */ ISPTarget_ConfigureRescueClock(); @@ -195,7 +195,7 @@ void ISPTarget_ConfigureRescueClock(void) #if defined(XCK_RESCUE_CLOCK_ENABLE) /* Configure XCK as an output for the specified AVR model */ DDRD |= (1 << 5); - + /* Start USART to generate a 4MHz clock on the XCK pin */ UBRR1 = ((F_CPU / 2 / ISP_RESCUE_CLOCK_SPEED) - 1); UCSR1B = (1 << TXEN1); @@ -313,7 +313,7 @@ void ISPTarget_LoadExtendedAddress(void) /** Waits until the last issued target memory programming command has completed, via the check mode given and using * the given parameters. * - * \param[in] ProgrammingMode Programming mode used and completion check to use, a mask of PROG_MODE_* constants + * \param[in] ProgrammingMode Programming mode used and completion check to use, a mask of \c PROG_MODE_* constants * \param[in] PollAddress Memory address to poll for completion if polling check mode used * \param[in] PollValue Poll value to check against if polling check mode used * \param[in] DelayMS Milliseconds to delay before returning if delay check mode used @@ -357,6 +357,9 @@ uint8_t ISPTarget_WaitForProgComplete(const uint8_t ProgrammingMode, break; } + /* Program complete - reset timeout */ + wdt_reset(); + return ProgrammingStatus; }