projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Switch back to C based timeout ISR in the AVRISP project - assembly version was faili...
[pub/USBasp.git]
/
Projects
/
AVRISP-MKII
/
Lib
/
XPROG
/
XPROGTarget.c
diff --git
a/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c
b/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c
index
228a895
..
6adb24f
100644
(file)
--- a/
Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c
+++ b/
Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c
@@
-165,6
+165,10
@@
void XPROGTarget_EnableTargetPDI(void)
BITBANG_PDIDATA_DDR |= BITBANG_PDIDATA_MASK;
\r
BITBANG_PDICLOCK_DDR |= BITBANG_PDICLOCK_MASK;
\r
\r
BITBANG_PDIDATA_DDR |= BITBANG_PDIDATA_MASK;
\r
BITBANG_PDICLOCK_DDR |= BITBANG_PDICLOCK_MASK;
\r
\r
+ /* Set DATA line low for at least 90ns to ensure that the device is ready for PDI mode to be entered */
\r
+ BITBANG_PDIDATA_PORT &= ~BITBANG_PDIDATA_MASK;
\r
+ _delay_us(1);
\r
+
\r
/* Set DATA line high for at least 90ns to disable /RESET functionality */
\r
BITBANG_PDIDATA_PORT |= BITBANG_PDIDATA_MASK;
\r
_delay_us(1);
\r
/* Set DATA line high for at least 90ns to disable /RESET functionality */
\r
BITBANG_PDIDATA_PORT |= BITBANG_PDIDATA_MASK;
\r
_delay_us(1);
\r
@@
-314,6
+318,9
@@
void XPROGTarget_SendByte(const uint8_t Byte)
SoftUSART_Data = NewUSARTData;
\r
SoftUSART_BitCount = BITS_IN_USART_FRAME;
\r
#endif
\r
SoftUSART_Data = NewUSARTData;
\r
SoftUSART_BitCount = BITS_IN_USART_FRAME;
\r
#endif
\r
+
\r
+ if (TimeoutMSRemaining)
\r
+ TimeoutMSRemaining = COMMAND_TIMEOUT_MS;
\r
}
\r
\r
/** Receives a byte via the software USART, blocking until data is received.
\r
}
\r
\r
/** Receives a byte via the software USART, blocking until data is received.
\r
@@
-369,6
+376,9
@@
void XPROGTarget_SendBreak(void)
SoftUSART_Data = 0x0FFF;
\r
SoftUSART_BitCount = BITS_IN_USART_FRAME;
\r
#endif
\r
SoftUSART_Data = 0x0FFF;
\r
SoftUSART_BitCount = BITS_IN_USART_FRAME;
\r
#endif
\r
+
\r
+ if (TimeoutMSRemaining)
\r
+ TimeoutMSRemaining = COMMAND_TIMEOUT_MS;
\r
}
\r
\r
static void XPROGTarget_SetTxMode(void)
\r
}
\r
\r
static void XPROGTarget_SetTxMode(void)
\r
@@
-405,6
+415,9
@@
static void XPROGTarget_SetTxMode(void)
}
\r
#endif
\r
\r
}
\r
#endif
\r
\r
+ if (TimeoutMSRemaining)
\r
+ TimeoutMSRemaining = COMMAND_TIMEOUT_MS;
\r
+
\r
IsSending = true;
\r
}
\r
\r
IsSending = true;
\r
}
\r
\r