Make WaitWhileBusy function in the AVRISP project more explicit about how it sends and receives the busy check command.

Reduce size of PROGRAM FLASH ISP or PROGRAM EEPROM ISP buffer to 256 bytes to prevent blowing the stack on the smallest USB AVR models.
pull/1469/head
Dean Camera 16 years ago
parent 94c899d7b7
commit 489515fbbf

@ -301,7 +301,7 @@ static void V2Protocol_Command_ProgramMemory(uint8_t V2Command)
uint8_t ProgrammingCommands[3]; uint8_t ProgrammingCommands[3];
uint8_t PollValue1; uint8_t PollValue1;
uint8_t PollValue2; uint8_t PollValue2;
uint8_t ProgData[512]; uint8_t ProgData[256];
} Write_Memory_Params; } Write_Memory_Params;
uint8_t* NextWriteByte = Write_Memory_Params.ProgData; uint8_t* NextWriteByte = Write_Memory_Params.ProgData;

@ -161,8 +161,9 @@ uint8_t V2Protocol_WaitWhileTargetBusy(void)
SPI_SendByte(0x00); SPI_SendByte(0x00);
SPI_SendByte(0x00); SPI_SendByte(0x00);
bool DeviceBusy = (SPI_ReceiveByte() & 0x01);
} }
while ((SPI_ReceiveByte() & 0x01) && (TCNT0 < TARGET_BUSY_TIMEOUT_MS)); while (DeviceBusy && (TCNT0 < TARGET_BUSY_TIMEOUT_MS));
if (TCNT0 >= TARGET_BUSY_TIMEOUT_MS) if (TCNT0 >= TARGET_BUSY_TIMEOUT_MS)
return STATUS_RDY_BSY_TOUT; return STATUS_RDY_BSY_TOUT;

Loading…
Cancel
Save