2022-01-27 04:11:25 -05:00
|
|
|
#pragma once
|
|
|
|
//
|
|
|
|
// FILE: Fletcher32.h
|
|
|
|
// AUTHOR: Rob Tillaart
|
|
|
|
// PURPOSE: Arduino class for Fletcher32
|
|
|
|
// URL: https://github.com/RobTillaart/Fletcher
|
|
|
|
|
|
|
|
|
|
|
|
#include "Arduino.h"
|
|
|
|
|
|
|
|
|
|
|
|
class Fletcher32
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
Fletcher32();
|
|
|
|
|
2023-01-17 13:28:45 -05:00
|
|
|
// set parameters to default
|
2022-01-27 04:11:25 -05:00
|
|
|
void begin(uint16_t s1 = 0, uint16_t s2 = 0);
|
|
|
|
|
|
|
|
void add(uint16_t value);
|
|
|
|
void add(const uint16_t * array, uint16_t length);
|
|
|
|
|
2022-09-13 10:31:43 -04:00
|
|
|
uint32_t getFletcher();
|
|
|
|
uint32_t count();
|
2022-01-27 04:11:25 -05:00
|
|
|
|
|
|
|
private:
|
2022-09-13 10:31:43 -04:00
|
|
|
#ifdef ARDUINO_ARCH_AVR
|
|
|
|
uint16_t _s1;
|
|
|
|
uint16_t _s2;
|
|
|
|
#else
|
2022-01-27 04:11:25 -05:00
|
|
|
uint32_t _s1;
|
|
|
|
uint32_t _s2;
|
2022-09-13 10:31:43 -04:00
|
|
|
#endif
|
2022-01-27 04:11:25 -05:00
|
|
|
uint32_t _count;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2023-01-17 13:28:45 -05:00
|
|
|
// -- END OF FILE --
|
2022-01-27 04:11:25 -05:00
|
|
|
|