diff options
Diffstat (limited to 'glcddrivers/t6963c.h')
-rw-r--r-- | glcddrivers/t6963c.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/glcddrivers/t6963c.h b/glcddrivers/t6963c.h new file mode 100644 index 0000000..88be16b --- /dev/null +++ b/glcddrivers/t6963c.h @@ -0,0 +1,76 @@ +/* + * 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> + */ + +#ifndef _GLCDDRIVERS_T6963C_H_ +#define _GLCDDRIVERS_T6963C_H_ + +#include "driver.h" + +namespace GLCD +{ + +class cDriverConfig; +class cParallelPort; + +class cDriverT6963C : public cDriver +{ +private: + cParallelPort * port; + unsigned char ** newLCD; // wanted state + unsigned char ** oldLCD; // current state + cDriverConfig * config; + cDriverConfig * oldConfig; + int refreshCounter; + int bidirectLPT; + int displayMode; + bool useAutoMode; + bool useStatusCheck; + + int serial; + int FS; + int WRHI; + int WRLO; + int RDHI; + int RDLO; + int CEHI; + int CELO; + int CDHI; + int CDLO; + bool autoWrite; + + void T6963CSetControl(unsigned char flags); + void T6963CDSPReady(); + void T6963CData(unsigned char data); + void T6963CCommand(unsigned char cmd); + void T6963CCommandByte(unsigned char cmd, unsigned char data); + void T6963CCommand2Bytes(unsigned char cmd, unsigned char data1, unsigned char data2); + void T6963CCommandWord(unsigned char cmd, unsigned short data); + void T6963CDisplayMode(unsigned char mode, bool enable); + + int CheckSetup(); + +public: + cDriverT6963C(cDriverConfig * config); + virtual ~cDriverT6963C(); + + virtual int Init(); + virtual int DeInit(); + + virtual void Clear(); + virtual void Set8Pixels(int x, int y, unsigned char data); + virtual void Refresh(bool refreshAll = false); +}; + +} // end of namespace + +#endif |