# HG changeset patch # User heinrichsweikamp # Date 1763653641 -3600 # Node ID 4b6afe5551e17be9c26e88520425bc7566139c4f # Parent 88b6ab90c55ab7d4d391503179480526b059860e Refactors CalcFletcher32 in OtherSources/firmwareEraseProgram.c to iterate over 16-bit words via a pointer instead of an index-based loop. Removes unused variables and returns the computed 32-bit Fletcher checksum directly. (mikeller) diff -r 88b6ab90c55a -r 4b6afe5551e1 OtherSources/firmwareEraseProgram.c --- a/OtherSources/firmwareEraseProgram.c Wed Nov 19 21:34:18 2025 +0100 +++ b/OtherSources/firmwareEraseProgram.c Thu Nov 20 16:47:21 2025 +0100 @@ -560,20 +560,13 @@ uint32_t CalcFletcher32(uint32_t startAddr, uint32_t endAddr) { - uint32_t fletcher = 0; - uint16_t* pData = (uint16_t*) startAddr; - uint32_t index = 0; - uint16_t sum1 = 0; uint16_t sum2 = 0; - for(index = startAddr; index <= endAddr; index +=2) - { - sum1 = sum1 + *pData++; - sum2 = (sum2 + sum1); + for (uint16_t *index = (uint16_t *)startAddr; index <= (uint16_t *)endAddr; index++) { + sum1 = sum1 + *index; + sum2 = (sum2 + sum1); } - fletcher = (sum2 << 16) | sum1; - - return fletcher; + return (sum2 << 16) | sum1; }