#pragma once #include #include class FlipDotDrv { private: static constexpr uint8_t templateFrameStart {0x02}; static constexpr uint8_t templateFrameAddressByte1 {'1'}; static constexpr uint8_t templateFrameAddressByte2 {'0'}; uint8_t FrameResolution[2] {}; uint8_t *FrameData {nullptr}; static constexpr uint8_t templateFrameEnd {0x03}; uint8_t FrameCrc[2] {}; uint32_t width; uint32_t height; uint8_t address; uint8_t *buffer {nullptr}; uint16_t FrameDataLength; uint16_t bufferLength; public: FlipDotDrv(uint8_t width, uint8_t height, uint8_t address); ~FlipDotDrv(); void sendRaw(const uint8_t* bmp, uint16_t length); void sendCanvas(const GFXcanvas1 * canv); };