X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/ceb16ee24f1e6add5e2ad0398369c24d2d868cd8..2a2de8fea94d2a524e988725585b17746cd30dba:/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c?ds=sidebyside diff --git a/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c b/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c index 7b9ff0914..817f22347 100644 --- a/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c +++ b/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c @@ -94,13 +94,6 @@ bool TINYNVM_WaitWhileNVMBusBusy(void) TimeoutMSRemaining = COMMAND_TIMEOUT_MS; return true; } - - /* Manage software timeout */ - if (TIFR0 & (1 << OCF0A)) - { - TIFR0 |= (1 << OCF0A); - TimeoutMSRemaining--; - } } return false; @@ -131,13 +124,6 @@ bool TINYNVM_WaitWhileNVMControllerBusy(void) TimeoutMSRemaining = COMMAND_TIMEOUT_MS; return true; } - - /* Manage software timeout */ - if (TIFR0 & (1 << OCF0A)) - { - TIFR0 |= (1 << OCF0A); - TimeoutMSRemaining--; - } } return false; @@ -164,14 +150,14 @@ bool TINYNVM_ReadMemory(const uint16_t ReadAddress, uint8_t* ReadBuffer, uint16_ /* Send the address of the location to read from */ TINYNVM_SendPointerAddress(ReadAddress); - while (ReadSize--) + while (ReadSize-- && TimeoutMSRemaining) { /* Read the byte of data from the target */ XPROGTarget_SendByte(TPI_CMD_SLD | TPI_POINTER_INDIRECT_PI); *(ReadBuffer++) = XPROGTarget_ReceiveByte(); } - return true; + return (TimeoutMSRemaining != 0); } /** Writes word addressed memory to the target's memory spaces.