Newer
Older
/*
* Copyright 2021 Daniel Friesel
*
* SPDX-License-Identifier: BSD-2-Clause
*
* Driver for 4.2" Pervasive Aurora Mb (V230/V231) E-Paper displays with
* internal Timing Controller (iTC) connected to a Pervasive EPD Extension
* Board Gen 2 (EXT2)-02. Configured for the 300x400px 4.2" E-Paper variant;
* register contents and LUTs for other resolutions and revisions may differ.
*/
#pragma once
class PervasiveAuroraMb {
private:
PervasiveAuroraMb(const PervasiveAuroraMb ©);
bool isBusy();
void spiWrite(unsigned char reg, const unsigned char *txbuf, unsigned int length);
public:
PervasiveAuroraMb() {}
void setup();
void powerOn();
void initialize(signed char temperature = 20);
void sendImage(unsigned char *frame, unsigned int x = 0, unsigned int y = 0, unsigned int w = 0, unsigned int h = 0);
void sendUpdate();
void powerOff();
};
extern PervasiveAuroraMb pervasiveAuroraMb;