Changed AVRISP-MKII project to use the Watchdog interrupt for command timeouts, to reduce CPU usage and free timer 0 for other uses in the future.
This commit is contained in:
parent
ef44b8c036
commit
26017b68b0
10 changed files with 37 additions and 35 deletions
|
|
@ -250,7 +250,7 @@ uint8_t ISPTarget_TransferSoftSPIByte(const uint8_t Byte)
|
|||
|
||||
TCNT1 = 0;
|
||||
TCCR1B = ((1 << WGM12) | (1 << CS11));
|
||||
while (SoftSPI_BitsRemaining && TimeoutTicksRemaining);
|
||||
while (SoftSPI_BitsRemaining && !(TimeoutExpired));
|
||||
TCCR1B = 0;
|
||||
|
||||
return SoftSPI_Data;
|
||||
|
|
@ -292,9 +292,9 @@ uint8_t ISPTarget_WaitWhileTargetBusy(void)
|
|||
ISPTarget_SendByte(0x00);
|
||||
ISPTarget_SendByte(0x00);
|
||||
}
|
||||
while ((ISPTarget_ReceiveByte() & 0x01) && TimeoutTicksRemaining);
|
||||
while ((ISPTarget_ReceiveByte() & 0x01) && !(TimeoutExpired));
|
||||
|
||||
return TimeoutTicksRemaining ? STATUS_CMD_OK : STATUS_RDY_BSY_TOUT;
|
||||
return (TimeoutExpired) ? STATUS_RDY_BSY_TOUT : STATUS_CMD_OK;
|
||||
}
|
||||
|
||||
/** Sends a low-level LOAD EXTENDED ADDRESS command to the target, for addressing of memory beyond the
|
||||
|
|
@ -344,9 +344,9 @@ uint8_t ISPTarget_WaitForProgComplete(const uint8_t ProgrammingMode,
|
|||
ISPTarget_SendByte(PollAddress >> 8);
|
||||
ISPTarget_SendByte(PollAddress & 0xFF);
|
||||
}
|
||||
while ((ISPTarget_TransferByte(0x00) == PollValue) && TimeoutTicksRemaining);
|
||||
while ((ISPTarget_TransferByte(0x00) == PollValue) && !(TimeoutExpired));
|
||||
|
||||
if (!(TimeoutTicksRemaining))
|
||||
if (TimeoutExpired)
|
||||
ProgrammingStatus = STATUS_CMD_TOUT;
|
||||
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue