graphlcd-base/glcddrivers/gu256x64-372.h
author root@rika
Wed, 06 Feb 2008 17:32:55 +0000
changeset 4 df6a40031aa5
permissions -rw-r--r--
added graphlcd-base
root@4
     1
/*
root@4
     2
 * GraphLCD driver library
root@4
     3
 *
root@4
     4
 * gu256x64-372.h  -  8-bit driver module for Noritake GU256x64-372
root@4
     5
 *                    VFD displays. The VFD is operating in its 8-bit
root@4
     6
 *                    mode connected to a single PC parallel port.
root@4
     7
 *
root@4
     8
 * based on:
root@4
     9
 *   gu256x32f driver module for graphlcd
root@4
    10
 *     (c) 2003 Andreas Brachold <vdr04 AT deltab.de>
root@4
    11
 *   HD61830 device
root@4
    12
 *     (c) 2001-2003 by Carsten Siebholz <c.siebholz AT t-online.de>
root@4
    13
 *   lcdproc 0.4 driver hd44780-ext8bit
root@4
    14
 *     (c) 1999, 1995 Benjamin Tse <blt AT comports.com>
root@4
    15
 *
root@4
    16
 * This file is released under the GNU General Public License. Refer
root@4
    17
 * to the COPYING file distributed with this package.
root@4
    18
 *
root@4
    19
 * (c) 2004 Andreas 'randy' Weinberger (randy AT smue.org)
root@4
    20
 */
root@4
    21
root@4
    22
#ifndef _GLCDDRIVERS_GU256X64_372_H_
root@4
    23
#define _GLCDDRIVERS_GU256X64_372_H_
root@4
    24
root@4
    25
#include "driver.h"
root@4
    26
root@4
    27
namespace GLCD
root@4
    28
{
root@4
    29
root@4
    30
class cDriverConfig;
root@4
    31
class cParallelPort;
root@4
    32
root@4
    33
class cDriverGU256X64_372 : public cDriver
root@4
    34
{
root@4
    35
    cParallelPort * port;
root@4
    36
root@4
    37
    cDriverConfig * config;
root@4
    38
    cDriverConfig * oldConfig;
root@4
    39
root@4
    40
    int m_iSizeYb;
root@4
    41
    int m_nRefreshCounter;
root@4
    42
root@4
    43
    unsigned char ** m_pDrawMem; // the draw "memory"
root@4
    44
    unsigned char ** m_pVFDMem; // the double buffed display "memory"
root@4
    45
root@4
    46
    long m_nTimingAdjustCmd;
root@4
    47
    bool m_bSleepIsInit;
root@4
    48
root@4
    49
    int CheckSetup();
root@4
    50
root@4
    51
protected:
root@4
    52
    void ClearVFDMem();
root@4
    53
    void SetPixel(int x, int y);
root@4
    54
    void GU256X64Cmd(unsigned char data);
root@4
    55
    void GU256X64Data(unsigned char data);
root@4
    56
root@4
    57
public:
root@4
    58
    cDriverGU256X64_372(cDriverConfig * config);
root@4
    59
    virtual ~cDriverGU256X64_372();
root@4
    60
root@4
    61
    virtual int Init();
root@4
    62
    virtual int DeInit();
root@4
    63
root@4
    64
    virtual void Clear();
root@4
    65
    virtual void Set8Pixels(int x, int y, unsigned char data);
root@4
    66
    virtual void Refresh(bool refreshAll = false);
root@4
    67
root@4
    68
    virtual void SetBrightness(unsigned int percent);
root@4
    69
};
root@4
    70
root@4
    71
} // end of namespace
root@4
    72
root@4
    73
#endif