summaryrefslogtreecommitdiff
path: root/include/driver
diff options
context:
space:
mode:
authorDaniel Friesel <daniel.friesel@uos.de>2021-10-14 16:12:17 +0200
committerDaniel Friesel <daniel.friesel@uos.de>2021-10-14 16:12:17 +0200
commit6e6bb662a9117567d0898d1795e943fe9117b666 (patch)
treedcae90055db6b71bf77ab08b12feb1744ba93ce9 /include/driver
parentcecc5e4ed60411e0313c4bfdf836d1b920da7a0f (diff)
Add Pervasive Aurora Mb E-Paper driver
Diffstat (limited to 'include/driver')
-rw-r--r--include/driver/pervasive_aurora_mb.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/include/driver/pervasive_aurora_mb.h b/include/driver/pervasive_aurora_mb.h
new file mode 100644
index 0000000..8e34501
--- /dev/null
+++ b/include/driver/pervasive_aurora_mb.h
@@ -0,0 +1,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;