X-Git-Url: http://git.linex4red.de/pub/lufa.git/blobdiff_plain/f51c87b9160dd89810bac7579246ae14f61e0a8b..13b3014db42c933769248420f6c179cd49d181bb:/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.c diff --git a/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.c b/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.c index adb9b3ca6..43c540e17 100644 --- a/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.c +++ b/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.c @@ -67,7 +67,7 @@ static void XMEGANVM_SendNVMRegAddress(const uint8_t Register) /** Busy-waits while the NVM controller is busy performing a NVM operation, such as a FLASH page read or CRC * calculation. * - * \return Boolean true if the NVM controller became ready within the timeout period, false otherwise + * \return Boolean \c true if the NVM controller became ready within the timeout period, \c false otherwise */ bool XMEGANVM_WaitWhileNVMBusBusy(void) { @@ -92,7 +92,7 @@ bool XMEGANVM_WaitWhileNVMBusBusy(void) /** Waits while the target's NVM controller is busy performing an operation, exiting if the * timeout period expires. * - * \return Boolean true if the NVM controller became ready within the timeout period, false otherwise + * \return Boolean \c true if the NVM controller became ready within the timeout period, \c false otherwise */ bool XMEGANVM_WaitWhileNVMControllerBusy(void) { @@ -120,7 +120,7 @@ bool XMEGANVM_WaitWhileNVMControllerBusy(void) /** Enables the physical PDI interface on the target and enables access to the internal NVM controller. * - * \return Boolean true if the PDI interface was enabled successfully, false otherwise + * \return Boolean \c true if the PDI interface was enabled successfully, \c false otherwise */ bool XMEGANVM_EnablePDI(void) { @@ -170,7 +170,7 @@ void XMEGANVM_DisablePDI(void) * \param[in] CRCCommand NVM CRC command to issue to the target * \param[out] CRCDest CRC Destination when read from the target * - * \return Boolean true if the command sequence complete successfully + * \return Boolean \c true if the command sequence complete successfully */ bool XMEGANVM_GetMemoryCRC(const uint8_t CRCCommand, uint32_t* const CRCDest) @@ -221,7 +221,7 @@ bool XMEGANVM_GetMemoryCRC(const uint8_t CRCCommand, * \param[out] ReadBuffer Buffer to store read data into * \param[in] ReadSize Number of bytes to read * - * \return Boolean true if the command sequence complete successfully + * \return Boolean \c true if the command sequence complete successfully */ bool XMEGANVM_ReadMemory(const uint32_t ReadAddress, uint8_t* ReadBuffer, @@ -240,9 +240,12 @@ bool XMEGANVM_ReadMemory(const uint32_t ReadAddress, XPROGTarget_SendByte(PDI_CMD_ST | (PDI_POINTER_DIRECT << 2) | PDI_DATSIZE_4BYTES); XMEGANVM_SendAddress(ReadAddress); - /* Send the REPEAT command with the specified number of bytes to read */ - XPROGTarget_SendByte(PDI_CMD_REPEAT | PDI_DATSIZE_1BYTE); - XPROGTarget_SendByte(ReadSize - 1); + if (ReadSize > 1) + { + /* Send the REPEAT command with the specified number of bytes to read */ + XPROGTarget_SendByte(PDI_CMD_REPEAT | PDI_DATSIZE_1BYTE); + XPROGTarget_SendByte(ReadSize - 1); + } /* Send a LD command with indirect access and post-increment to read out the bytes */ XPROGTarget_SendByte(PDI_CMD_LD | (PDI_POINTER_INDIRECT_PI << 2) | PDI_DATSIZE_1BYTE); @@ -258,7 +261,7 @@ bool XMEGANVM_ReadMemory(const uint32_t ReadAddress, * \param[in] WriteAddress Address to write to within the target's address space * \param[in] Byte Byte to write to the target * - * \return Boolean true if the command sequence complete successfully + * \return Boolean \c true if the command sequence complete successfully */ bool XMEGANVM_WriteByteMemory(const uint8_t WriteCommand, const uint32_t WriteAddress, @@ -291,7 +294,7 @@ bool XMEGANVM_WriteByteMemory(const uint8_t WriteCommand, * \param[in] WriteBuffer Buffer to source data from * \param[in] WriteSize Number of bytes to write * - * \return Boolean true if the command sequence complete successfully + * \return Boolean \c true if the command sequence complete successfully */ bool XMEGANVM_WritePageMemory(const uint8_t WriteBuffCommand, const uint8_t EraseBuffCommand, @@ -368,7 +371,7 @@ bool XMEGANVM_WritePageMemory(const uint8_t WriteBuffCommand, * \param[in] EraseCommand NVM erase command to send to the device * \param[in] Address Address inside the memory space to erase * - * \return Boolean true if the command sequence complete successfully + * \return Boolean \c true if the command sequence complete successfully */ bool XMEGANVM_EraseMemory(const uint8_t EraseCommand, const uint32_t Address)