graphlcd-base/glcddrivers/ks0108.h
author root@rika
Wed, 06 Feb 2008 17:32:55 +0000
changeset 4 df6a40031aa5
permissions -rw-r--r--
added graphlcd-base
     1 /*
     2  * GraphLCD driver library
     3  *
     4  * ks0108.h  -  KS0108 driver class
     5  *
     6  * This file is released under the GNU General Public License. Refer
     7  * to the COPYING file distributed with this package.
     8  *
     9  * (c) 2003 Andreas 'randy' Weinberger <vdr AT smue.org>
    10  */
    11 
    12 #ifndef _GLCDDRIVERS_KS0108_H_
    13 #define _GLCDDRIVERS_KS0108_H_
    14 
    15 #include "driver.h"
    16 
    17 
    18 namespace GLCD
    19 {
    20 
    21 class cDriverConfig;
    22 class cParallelPort;
    23 
    24 class cDriverKS0108 : public cDriver
    25 {
    26 private:
    27     cParallelPort * port;
    28     unsigned char ** LCD;      // linear lcd display "memory"
    29     unsigned char ** LCD_page; // paged lcd display "memory"
    30     int refreshCounter;
    31     long timeForPortCmdInNs;
    32     long timeForLCDInNs;
    33     cDriverConfig * config;
    34     cDriverConfig * oldConfig;
    35     bool useSleepInit;
    36 
    37     int CheckSetup();
    38     int InitGraphic();
    39     void KS0108Cmd(unsigned char data, int cs);
    40     void KS0108Data(unsigned char data, int cs);
    41 
    42     int SEAD;
    43     int SEPA;
    44     int SEDS;
    45     int DIOF;
    46     int DION;
    47 
    48     int CEHI;
    49     int CELO;
    50     int CDHI;
    51     int CDLO;
    52     int CS1HI;
    53     int CS1LO;
    54     int CS2HI;
    55     int CS2LO;
    56 
    57     int CS1;
    58     int CS2;
    59     int CS3;
    60     int CS4;
    61 
    62     unsigned char control;
    63 
    64 public:
    65     cDriverKS0108(cDriverConfig * config);
    66     virtual ~cDriverKS0108();
    67 
    68     virtual int Init();
    69     virtual int DeInit();
    70 
    71     virtual void Clear();
    72     virtual void Set8Pixels(int x, int y, unsigned char data);
    73     virtual void Refresh(bool refreshAll = false);
    74 };
    75 
    76 } // end of namespace
    77 
    78 #endif