Skip to content
Snippets Groups Projects
Commit 2059fd8b authored by Dean Camera's avatar Dean Camera
Browse files

Manually pull PDI clock pin high for 1ms before disabling PDI mode in the...

Manually pull PDI clock pin high for 1ms before disabling PDI mode in the AVRISP-MKII project, to ensure that the PDI bus is disabled in the target and /RESET functionality restored.
parent eb99b1ec
No related branches found
No related tags found
No related merge requests found
......@@ -17,7 +17,6 @@
* -# Add ability to get number of bytes not written with pipe/endpoint write routines after an error
* -# Add standardized descriptor names to class driver structures
* -# Correct mishandling of error cases in Mass Storage demos
* -# FIX BROKEN RNDIS HOST CLASS DRIVER (BLOCKING)
* -# TEST AND CORRECT TPI PROGRAMMING SUPPORT IN THE AVRISP-MKII PROJECT (BLOCKING)
* - Documentation/Support
* -# Remake AVRStudio project files
......
......@@ -230,6 +230,10 @@ void XPROGTarget_DisableTargetPDI(void)
XPROGTarget_SetRxMode();
#if defined(XPROG_VIA_HARDWARE_USART)
/* Set /RESET high for a one millisecond to ensure target device is restarted */
PORTD |= (1 << 5);
_delay_ms(1);
/* Turn off receiver and transmitter of the USART, clear settings */
UCSR1A |= (1 << TXC1) | (1 << RXC1);
UCSR1B = 0;
......@@ -239,6 +243,10 @@ void XPROGTarget_DisableTargetPDI(void)
DDRD &= ~((1 << 5) | (1 << 3));
PORTD &= ~((1 << 5) | (1 << 3) | (1 << 2));
#else
/* Set /RESET high for a one millisecond to ensure target device is restarted */
BITBANG_PDICLOCK_PORT |= BITBANG_PDICLOCK_MASK;
_delay_ms(1);
/* Set DATA and CLOCK lines to inputs */
BITBANG_PDIDATA_DDR &= ~BITBANG_PDIDATA_MASK;
BITBANG_PDICLOCK_DDR &= ~BITBANG_PDICLOCK_MASK;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment