46 b = (b << 8) | (b >> 8);
62 const uint16_t *dataptr;
65 dataptr = (uint16_t*)data;
66 last = dataptr + (len >> 1);
68 while (dataptr < last)
70 sum =
add(sum, *dataptr);
75 sum =
add(sum, *((uint8_t*)dataptr));
89 uint16_t
Checksum::calc(uint16_t checksum, uint16_t len,
const uint8_t *data)
91 return add(checksum,
calc(len, data));
static uint16_t calc(uint16_t len, const uint8_t *data)
Calculates the checksum of the specified buffer in memory
static uint16_t add(uint16_t a, uint16_t b)
Adds two checksums, taking carry into account.