diff options
Diffstat (limited to 'Projects/AVRISP-MKII/Lib/ISP')
-rw-r--r-- | Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.c | 10 | ||||
-rw-r--r-- | Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c | 10 |
2 files changed, 10 insertions, 10 deletions
diff --git a/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.c b/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.c index 9a732dea2..27e1cc96c 100644 --- a/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.c +++ b/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.c @@ -68,15 +68,14 @@ void ISPProtocol_EnterISPMode(void) ISPProtocol_DelayMS(Enter_ISP_Params.ExecutionDelayMS); ISPTarget_EnableTargetISP(); + ISPTarget_ChangeTargetResetLine(true); + /* 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_OK) && TimeoutTicksRemaining) + while (Enter_ISP_Params.SynchLoops-- && (ResponseStatus != STATUS_CMD_OK) && !(TimeoutExpired)) { uint8_t ResponseBytes[4]; - ISPTarget_ChangeTargetResetLine(true); - ISPProtocol_DelayMS(Enter_ISP_Params.PinStabDelayMS); - for (uint8_t RByte = 0; RByte < sizeof(ResponseBytes); RByte++) { ISPProtocol_DelayMS(Enter_ISP_Params.ByteDelay); @@ -92,6 +91,7 @@ void ISPProtocol_EnterISPMode(void) { ISPTarget_ChangeTargetResetLine(false); ISPProtocol_DelayMS(Enter_ISP_Params.PinStabDelayMS); + ISPTarget_ChangeTargetResetLine(true); } } @@ -509,7 +509,7 @@ void ISPProtocol_SPIMulti(void) */ void ISPProtocol_DelayMS(uint8_t DelayMS) { - while (DelayMS-- && TimeoutTicksRemaining) + while (DelayMS-- && !(TimeoutExpired)) _delay_ms(1); } diff --git a/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c b/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c index 624d59172..88b33fc65 100644 --- a/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c +++ b/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c @@ -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; |