uint16_t checksum(void *buff, uint32_t size);