summaryrefslogtreecommitdiff
path: root/include/driver/pervasive_aurora_mb.h
blob: 8e34501066357481aa310548275d9373ff2fa50b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/*
 * Copyright 2021 Daniel Friesel
 *
 * SPDX-License-Identifier: BSD-2-Clause
 *
 * Driver for Pervasive Aurora Mb E-Paper displays with internal Timing
 * Controller (iTC). Configured for the 300x400px 4.2" variant.
 */
#pragma once

class PervasiveAuroraMb {
	private:
		PervasiveAuroraMb(const PervasiveAuroraMb &copy);
		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);
		void sendUpdate();
		void powerOff();
};

extern PervasiveAuroraMb pervasiveAuroraMb;