Remove the timeout period extension code from the AVRISP project, as no single command should ever exceed the maximum timeout period. Extend timeout period to 1 second per command, so that an accidental timeout will never occur.
This commit is contained in:
parent
0313034245
commit
666c0fa4c3
9 changed files with 33 additions and 74 deletions
|
@ -76,7 +76,7 @@ void ISPProtocol_EnterISPMode(void)
|
|||
|
||||
/* Continuously attempt to synchronize with the target until either the number of attempts specified
|
||||
* by the host has exceeded, or the the device sends back the expected response values */
|
||||
while (Enter_ISP_Params.SynchLoops-- && (ResponseStatus == STATUS_CMD_FAILED) && TimeoutMSRemaining)
|
||||
while (Enter_ISP_Params.SynchLoops-- && (ResponseStatus == STATUS_CMD_FAILED) && TimeoutTicksRemaining)
|
||||
{
|
||||
uint8_t ResponseBytes[4];
|
||||
|
||||
|
@ -552,13 +552,8 @@ void ISPProtocol_SPIMulti(void)
|
|||
*/
|
||||
void ISPProtocol_DelayMS(uint8_t DelayMS)
|
||||
{
|
||||
while (DelayMS-- && TimeoutMSRemaining)
|
||||
{
|
||||
if (TimeoutMSRemaining)
|
||||
TimeoutMSRemaining--;
|
||||
|
||||
_delay_ms(1);
|
||||
}
|
||||
while (DelayMS-- && TimeoutTicksRemaining)
|
||||
_delay_ms(1);
|
||||
}
|
||||
|
||||
#endif
|
|
@ -129,9 +129,9 @@ uint8_t ISPTarget_WaitForProgComplete(const uint8_t ProgrammingMode, const uint1
|
|||
SPI_SendByte(PollAddress >> 8);
|
||||
SPI_SendByte(PollAddress & 0xFF);
|
||||
}
|
||||
while ((SPI_TransferByte(0x00) == PollValue) && TimeoutMSRemaining);
|
||||
while ((SPI_TransferByte(0x00) == PollValue) && TimeoutTicksRemaining);
|
||||
|
||||
if (!(TimeoutMSRemaining))
|
||||
if (!(TimeoutTicksRemaining))
|
||||
ProgrammingStatus = STATUS_CMD_TOUT;
|
||||
|
||||
break;
|
||||
|
@ -141,9 +141,6 @@ uint8_t ISPTarget_WaitForProgComplete(const uint8_t ProgrammingMode, const uint1
|
|||
break;
|
||||
}
|
||||
|
||||
if (ProgrammingStatus == STATUS_CMD_OK)
|
||||
TimeoutMSRemaining = COMMAND_TIMEOUT_MS;
|
||||
|
||||
return ProgrammingStatus;
|
||||
}
|
||||
|
||||
|
@ -160,17 +157,9 @@ uint8_t ISPTarget_WaitWhileTargetBusy(void)
|
|||
SPI_SendByte(0x00);
|
||||
SPI_SendByte(0x00);
|
||||
}
|
||||
while ((SPI_ReceiveByte() & 0x01) && TimeoutMSRemaining);
|
||||
while ((SPI_ReceiveByte() & 0x01) && TimeoutTicksRemaining);
|
||||
|
||||
if (TimeoutMSRemaining)
|
||||
{
|
||||
TimeoutMSRemaining = COMMAND_TIMEOUT_MS;
|
||||
return STATUS_CMD_OK;
|
||||
}
|
||||
else
|
||||
{
|
||||
return STATUS_RDY_BSY_TOUT;
|
||||
}
|
||||
return TimeoutTicksRemaining ? STATUS_CMD_OK : STATUS_RDY_BSY_TOUT;
|
||||
}
|
||||
|
||||
/** Sends a low-level LOAD EXTENDED ADDRESS command to the target, for addressing of memory beyond the
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue