summaryrefslogtreecommitdiff
path: root/glcddrivers/ili9341.h
diff options
context:
space:
mode:
Diffstat (limited to 'glcddrivers/ili9341.h')
-rw-r--r--glcddrivers/ili9341.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/glcddrivers/ili9341.h b/glcddrivers/ili9341.h
new file mode 100644
index 0000000..d729971
--- /dev/null
+++ b/glcddrivers/ili9341.h
@@ -0,0 +1,53 @@
+/*
+ * GraphLCD driver library
+ *
+ * ili9341.h - ILI9341 OLED driver class
+ *
+ * This file is released under the GNU General Public License. Refer
+ * to the COPYING file distributed with this package.
+ *
+ * (c) 2015 Andreas Regel <andreas.regel AT powarman.de>
+ */
+
+#ifndef _GLCDDRIVERS_ILI9341_H_
+#define _GLCDDRIVERS_ILI9341_H_
+
+#include "driver.h"
+
+namespace GLCD
+{
+
+class cDriverConfig;
+
+class cDriverILI9341 : public cDriver
+{
+private:
+ uint32_t * newLCD; // wanted state
+ uint32_t * oldLCD; // current state
+ int refreshCounter;
+
+ int CheckSetup();
+
+ void Reset();
+ void SetWindow(uint16_t x0, uint16_t x1, uint16_t y0, uint16_t y1);
+ void WriteCommand(uint8_t command);
+ void WriteData(uint8_t data);
+ void WriteData(uint8_t * buffer, uint32_t length);
+
+public:
+ cDriverILI9341(cDriverConfig * config);
+ virtual ~cDriverILI9341();
+
+ virtual int Init();
+ virtual int DeInit();
+
+ virtual void Clear();
+ virtual void SetPixel(int x, int y, uint32_t data);
+ //virtual void Set8Pixels(int x, int y, unsigned char data);
+ virtual void Refresh(bool refreshAll = false);
+ virtual void SetBrightness(unsigned int percent);
+};
+
+} // end of namespace
+
+#endif