Added const where possible to the source functions in the Projects directory.
Added command timeout to the AVRISP project so that incorrectly connected targets no longer freeze the device. Removed string descriptors from the TeensyHID bootloader to reduce its size.
This commit is contained in:
parent
35dac470f2
commit
d1608d4af3
20 changed files with 102 additions and 137 deletions
|
@ -122,26 +122,15 @@ uint8_t ISPTarget_WaitForProgComplete(const uint8_t ProgrammingMode, const uint1
|
|||
break;
|
||||
case PROG_MODE_WORD_VALUE_MASK:
|
||||
case PROG_MODE_PAGED_VALUE_MASK:
|
||||
TCNT0 = 0;
|
||||
TIFR0 = (1 << OCF1A);
|
||||
|
||||
uint8_t TimeoutMS = TARGET_BUSY_TIMEOUT_MS;
|
||||
|
||||
do
|
||||
{
|
||||
SPI_SendByte(ReadMemCommand);
|
||||
SPI_SendByte(PollAddress >> 8);
|
||||
SPI_SendByte(PollAddress & 0xFF);
|
||||
|
||||
if (TIFR0 & (1 << OCF1A))
|
||||
{
|
||||
TIFR0 = (1 << OCF1A);
|
||||
TimeoutMS--;
|
||||
}
|
||||
}
|
||||
while ((SPI_TransferByte(0x00) != PollValue) && TimeoutMS);
|
||||
while ((SPI_TransferByte(0x00) != PollValue) && TimeoutMSRemaining);
|
||||
|
||||
if (!(TimeoutMS))
|
||||
if (!(TimeoutMSRemaining))
|
||||
ProgrammingStatus = STATUS_CMD_TOUT;
|
||||
|
||||
break;
|
||||
|
@ -161,27 +150,16 @@ uint8_t ISPTarget_WaitForProgComplete(const uint8_t ProgrammingMode, const uint1
|
|||
*/
|
||||
uint8_t ISPTarget_WaitWhileTargetBusy(void)
|
||||
{
|
||||
TCNT0 = 0;
|
||||
TIFR0 = (1 << OCF1A);
|
||||
|
||||
uint8_t TimeoutMS = TARGET_BUSY_TIMEOUT_MS;
|
||||
|
||||
do
|
||||
{
|
||||
SPI_SendByte(0xF0);
|
||||
SPI_SendByte(0x00);
|
||||
|
||||
SPI_SendByte(0x00);
|
||||
|
||||
if (TIFR0 & (1 << OCF1A))
|
||||
{
|
||||
TIFR0 = (1 << OCF1A);
|
||||
TimeoutMS--;
|
||||
}
|
||||
}
|
||||
while ((SPI_ReceiveByte() & 0x01) && TimeoutMS);
|
||||
while ((SPI_ReceiveByte() & 0x01) && TimeoutMSRemaining);
|
||||
|
||||
if (!(TimeoutMS))
|
||||
if (!(TimeoutMSRemaining))
|
||||
return STATUS_RDY_BSY_TOUT;
|
||||
else
|
||||
return STATUS_CMD_OK;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue