Reverted AVRISP-MKII clone project watchdog based command timeout patch in favour of a hardware timer, to allow for use in devices with WDTRST fuse programmed.

This commit is contained in:
Dean Camera 2012-04-01 13:39:04 +00:00
parent 89f16f5d7f
commit 25ac76a251
8 changed files with 36 additions and 29 deletions

View file

@ -254,7 +254,7 @@ uint8_t ISPTarget_TransferSoftSPIByte(const uint8_t Byte)
TCNT1 = 0;
TCCR1B = ((1 << WGM12) | (1 << CS11));
while (SoftSPI_BitsRemaining && !(TimeoutExpired));
while (SoftSPI_BitsRemaining && TimeoutTicksRemaining);
TCCR1B = 0;
return SoftSPI_Data;
@ -296,9 +296,9 @@ uint8_t ISPTarget_WaitWhileTargetBusy(void)
ISPTarget_SendByte(0x00);
ISPTarget_SendByte(0x00);
}
while ((ISPTarget_ReceiveByte() & 0x01) && !(TimeoutExpired));
while ((ISPTarget_ReceiveByte() & 0x01) && TimeoutTicksRemaining);
return (TimeoutExpired) ? STATUS_RDY_BSY_TOUT : STATUS_CMD_OK;
return (TimeoutTicksRemaining > 0) ? STATUS_CMD_OK : STATUS_RDY_BSY_TOUT;
}
/** Sends a low-level LOAD EXTENDED ADDRESS command to the target, for addressing of memory beyond the
@ -348,10 +348,10 @@ uint8_t ISPTarget_WaitForProgComplete(const uint8_t ProgrammingMode,
ISPTarget_SendByte(PollAddress >> 8);
ISPTarget_SendByte(PollAddress & 0xFF);
}
while ((ISPTarget_TransferByte(0x00) == PollValue) && !(TimeoutExpired));
while ((ISPTarget_TransferByte(0x00) == PollValue) && TimeoutTicksRemaining);
if (TimeoutExpired)
ProgrammingStatus = STATUS_CMD_TOUT;
if (!(TimeoutTicksRemaining))
ProgrammingStatus = STATUS_CMD_TOUT;
break;
case PROG_MODE_WORD_READYBUSY_MASK: