Added espcrc32builder.h

This commit is contained in:
2021-02-22 03:47:55 +01:00
parent 7d244dacd0
commit 81700c2bcc
2 changed files with 33 additions and 0 deletions

View File

@ -1,5 +1,6 @@
set(headers
src/asyncudplistener.h
src/espcrc32builder.h
src/esprandom.h
src/lockhelper.h
src/lockingqueue.h

32
src/espcrc32builder.h Normal file
View File

@ -0,0 +1,32 @@
#pragma once
// esp-idf includes
#include <esp32/rom/crc.h>
namespace espcpputils {
class EspCrc32Builder
{
public:
std::size_t write(uint8_t c)
{
return write(&c, 1);
}
std::size_t write(const uint8_t *buf, std::size_t len)
{
crc = crc32_le(crc, buf, len);
return len;
};
uint32_t hash() const
{
return crc;
}
private:
uint32_t crc{};
};
} // namespace espcpputils