summaryrefslogtreecommitdiff
path: root/glcddrivers/usbserlcd.h
diff options
context:
space:
mode:
authorManuel Reimer <manuel.reimer@gmx.de>2018-02-03 16:43:53 +0100
committerManuel Reimer <manuel.reimer@gmx.de>2018-02-03 16:43:53 +0100
commit3bbe763488aa84fdf29047b6b38acd11f8274862 (patch)
treec515987004f20f07fe38e96ad4ddc17ba40366ca /glcddrivers/usbserlcd.h
parentf5528fefca614b8a134a1b6ba9e7cc476a8a537e (diff)
downloadgraphlcd-base-3bbe763488aa84fdf29047b6b38acd11f8274862.tar.gz
graphlcd-base-3bbe763488aa84fdf29047b6b38acd11f8274862.tar.bz2
Add usbserlcd driver
Diffstat (limited to 'glcddrivers/usbserlcd.h')
-rw-r--r--glcddrivers/usbserlcd.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/glcddrivers/usbserlcd.h b/glcddrivers/usbserlcd.h
new file mode 100644
index 0000000..698e90c
--- /dev/null
+++ b/glcddrivers/usbserlcd.h
@@ -0,0 +1,61 @@
+/*
+ * GraphLCD driver library
+ *
+ * t6963c.h - T6963C driver class
+ *
+ * low level routines based on lcdproc 0.5 driver, (c) 2001 Manuel Stahl
+ *
+ * This file is released under the GNU General Public License. Refer
+ * to the COPYING file distributed with this package.
+ *
+ * (c) 2003-2004 Andreas Regel <andreas.regel AT powarman.de>
+ * (c) 2011 Wolfgang Astleitner <mrwastl AT users.sourceforge.net>
+ */
+
+#ifndef _GLCDDRIVERS_USBSERLED_H_
+#define _GLCDDRIVERS_USBSERLED_H_
+
+#include "driver.h"
+
+namespace GLCD
+{
+
+class cDriverConfig;
+class cSerialPort;
+
+// Possible serial package types
+enum glcd_pkgtype: char {
+ PKGTYPE_DATA,
+ PKGTYPE_BRIGHTNESS
+};
+
+class cDriverUSBserLCD : public cDriver
+{
+private:
+ cSerialPort * port;
+ unsigned char ** newLCD; // wanted state
+ unsigned char ** oldLCD; // current state
+ int refreshCounter;
+ int displayMode;
+
+ int FS;
+ char brightness;
+
+ int CheckSetup();
+
+public:
+ cDriverUSBserLCD(cDriverConfig * config);
+ virtual ~cDriverUSBserLCD();
+
+ virtual int Init();
+ virtual int DeInit();
+
+ virtual void Clear();
+ virtual void SetPixel(int x, int y, uint32_t data);
+ virtual void Refresh(bool refreshAll = false);
+ virtual void SetBrightness(unsigned int percent);
+};
+
+} // end of namespace
+
+#endif