X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/1d433d4506113c95285f633e3553ff62d4cfd05d..6e7fc21a94f29e09b4bdce7c17cade5b1322bc7d:/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 0322a6ec2..891ae8d14 100644 --- a/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c +++ b/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c @@ -43,9 +43,9 @@ static void TINYNVM_SendPointerAddress(const uint16_t AbsoluteAddress) { /* Send the given 16-bit address to the target, LSB first */ XPROGTarget_SendByte(TPI_CMD_SSTPR | 0); - XPROGTarget_SendByte(((uint8_t*)&AbsoluteAddress)[0]); + XPROGTarget_SendByte(AbsoluteAddress & 0xFF); XPROGTarget_SendByte(TPI_CMD_SSTPR | 1); - XPROGTarget_SendByte(((uint8_t*)&AbsoluteAddress)[1]); + XPROGTarget_SendByte(AbsoluteAddress >> 8); } /** Sends a SIN command to the target with the specified I/O address, ready for the data byte to be written. @@ -85,7 +85,7 @@ bool TINYNVM_WaitWhileNVMBusBusy(void) uint8_t StatusRegister = XPROGTarget_ReceiveByte(); /* We might have timed out waiting for the status register read response, check here */ - if (!(TimeoutTicksRemaining)) + if (TimeoutExpired) return false; /* Check the status register read response to see if the NVM bus is enabled */ @@ -110,7 +110,7 @@ bool TINYNVM_WaitWhileNVMControllerBusy(void) uint8_t StatusRegister = XPROGTarget_ReceiveByte(); /* We might have timed out waiting for the status register read response, check here */ - if (!(TimeoutTicksRemaining)) + if (TimeoutExpired) return false; /* Check to see if the BUSY flag is still set */ @@ -176,14 +176,14 @@ bool TINYNVM_ReadMemory(const uint16_t ReadAddress, /* Send the address of the location to read from */ TINYNVM_SendPointerAddress(ReadAddress); - while (ReadSize-- && TimeoutTicksRemaining) + while (ReadSize-- && !(TimeoutExpired)) { /* Read the byte of data from the target */ XPROGTarget_SendByte(TPI_CMD_SLD | TPI_POINTER_INDIRECT_PI); *(ReadBuffer++) = XPROGTarget_ReceiveByte(); } - return (TimeoutTicksRemaining != 0); + return (TimeoutExpired == false); } /** Writes word addressed memory to the target's memory spaces.