diff options
| author | mrwastl <mrwastl@users.sourceforge.net> | 2011-06-29 22:19:00 +0200 |
|---|---|---|
| committer | mrwastl <mrwastl@users.sourceforge.net> | 2011-06-29 22:19:00 +0200 |
| commit | 8b40680aa394e0b0cdc9b78229bf3b513ec4459e (patch) | |
| tree | 0b5022f8ac4205353313afbd159b3c16a338cc18 /glcddrivers/futabaMDM166A.h | |
| parent | bd827457475fa714dcc57baf4053e4492635d1fb (diff) | |
| download | graphlcd-base-8b40680aa394e0b0cdc9b78229bf3b513ec4459e.tar.gz graphlcd-base-8b40680aa394e0b0cdc9b78229bf3b513ec4459e.tar.bz2 | |
added driver futabaMDM166A; ported mem leak fixes to image.c (from 0.1.x); ported fixes to noritake800 (from 0.1.x); fixed some grammar mistakes
Diffstat (limited to 'glcddrivers/futabaMDM166A.h')
| -rw-r--r-- | glcddrivers/futabaMDM166A.h | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/glcddrivers/futabaMDM166A.h b/glcddrivers/futabaMDM166A.h new file mode 100644 index 0000000..c01a2e0 --- /dev/null +++ b/glcddrivers/futabaMDM166A.h @@ -0,0 +1,78 @@ +/* + * GraphLCD driver library + * + * futatbaMDM166A.h - Futaba MDM166A LCD + * Output goes to a Futaba MDM166A LCD + * + * This file is released under the GNU General Public License. + * + * See the files README and COPYING for details. + * + * (c) 2010 Andreas Brachold <vdr07 AT deltab de> + * (c) 2011 Wolfgang Astleitner <mrwastl AT users.sourceforge.net> + */ + +#ifndef _GLCDDRIVERS_FutabaMDM166A_H_ +#define _GLCDDRIVERS_FutabaMDM166A_H_ + +#include "driver.h" + +#define HAVE_STDBOOL_H +#include <hid.h> +#include <queue> + +namespace GLCD +{ + class cDriverConfig; + + class cHIDQueue : public std::queue<byte> { + HIDInterface* hid; + bool bInit; + public: + cHIDQueue(); + virtual ~cHIDQueue(); + virtual bool open(); + virtual void close(); + virtual bool isopen() const { return hid != 0; } + void Cmd(const byte & cmd); + void Data(const byte & data); + bool Flush(); + private: + const char *hiderror(hid_return ret) const; + }; + + class cDriverFutabaMDM166A : public cDriver, cHIDQueue + { + cDriverConfig * config; + cDriverConfig * oldConfig; + unsigned char *m_pDrawMem; // the draw "memory" + unsigned char *m_pVFDMem; // the double buffed display "memory" + unsigned int m_iSizeYb; + unsigned int m_nRefreshCounter; + unsigned int lastIconState; + int CheckSetup(); + protected: + void ClearVFDMem(); + void icons(unsigned int state); + bool SendCmdClock(); + bool SendCmdShutdown(); + + public: + cDriverFutabaMDM166A(cDriverConfig * config); + virtual ~cDriverFutabaMDM166A(); + + 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, byte data); + virtual void Refresh(bool refreshAll = false); + + virtual void SetBrightness(unsigned int percent); + }; +}; +#endif + + + |
