projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
More fixes to the AVRISP command timeout system so that it should no longer lock...
[pub/USBasp.git]
/
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
51ba1ec
..
94f1c3d
100644
(file)
--- a/
Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c
+++ b/
Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c
@@
-112,7
+112,6
@@
uint8_t ISPTarget_WaitForProgComplete(const uint8_t ProgrammingMode, const uint1
const uint8_t DelayMS, const uint8_t ReadMemCommand)
\r
{
\r
uint8_t ProgrammingStatus = STATUS_CMD_OK;
\r
const uint8_t DelayMS, const uint8_t ReadMemCommand)
\r
{
\r
uint8_t ProgrammingStatus = STATUS_CMD_OK;
\r
- uint8_t TimeoutMSRemaining = 100;
\r
\r
/* Determine method of Programming Complete check */
\r
switch (ProgrammingMode & ~(PROG_MODE_PAGED_WRITES_MASK | PROG_MODE_COMMIT_PAGE_MASK))
\r
\r
/* Determine method of Programming Complete check */
\r
switch (ProgrammingMode & ~(PROG_MODE_PAGED_WRITES_MASK | PROG_MODE_COMMIT_PAGE_MASK))
\r
@@
-148,6
+147,9
@@
uint8_t ISPTarget_WaitForProgComplete(const uint8_t ProgrammingMode, const uint1
break;
\r
}
\r
\r
break;
\r
}
\r
\r
+ if (ProgrammingStatus == STATUS_CMD_OK)
\r
+ TimeoutMSRemaining = COMMAND_TIMEOUT_MS;
\r
+
\r
return ProgrammingStatus;
\r
}
\r
\r
return ProgrammingStatus;
\r
}
\r
\r
@@
-158,8
+160,6
@@
uint8_t ISPTarget_WaitForProgComplete(const uint8_t ProgrammingMode, const uint1
*/
\r
uint8_t ISPTarget_WaitWhileTargetBusy(void)
\r
{
\r
*/
\r
uint8_t ISPTarget_WaitWhileTargetBusy(void)
\r
{
\r
- uint8_t TimeoutMSRemaining = 100;
\r
-
\r
do
\r
{
\r
/* Manage software timeout */
\r
do
\r
{
\r
/* Manage software timeout */
\r
@@
-175,7
+175,15
@@
uint8_t ISPTarget_WaitWhileTargetBusy(void)
}
\r
while ((SPI_ReceiveByte() & 0x01) && TimeoutMSRemaining);
\r
\r
}
\r
while ((SPI_ReceiveByte() & 0x01) && TimeoutMSRemaining);
\r
\r
- return ((TimeoutMSRemaining) ? STATUS_CMD_OK : STATUS_RDY_BSY_TOUT);
\r
+ if (TimeoutMSRemaining)
\r
+ {
\r
+ TimeoutMSRemaining = COMMAND_TIMEOUT_MS;
\r
+ return STATUS_CMD_OK;
\r
+ }
\r
+ else
\r
+ {
\r
+ return STATUS_RDY_BSY_TOUT;
\r
+ }
\r
}
\r
\r
/** Sends a low-level LOAD EXTENDED ADDRESS command to the target, for addressing of memory beyond the
\r
}
\r
\r
/** Sends a low-level LOAD EXTENDED ADDRESS command to the target, for addressing of memory beyond the
\r