summaryrefslogtreecommitdiff
path: root/glcddrivers
diff options
context:
space:
mode:
Diffstat (limited to 'glcddrivers')
-rw-r--r--glcddrivers/Makefile4
-rw-r--r--glcddrivers/avrctl.c7
-rw-r--r--glcddrivers/avrctl.h2
-rw-r--r--glcddrivers/ax206dpf.c12
-rw-r--r--glcddrivers/ax206dpf.h6
-rw-r--r--glcddrivers/dm140gink.c12
-rw-r--r--glcddrivers/dm140gink.h4
-rw-r--r--glcddrivers/driver.c14
-rw-r--r--glcddrivers/driver.h23
-rw-r--r--glcddrivers/framebuffer.c12
-rw-r--r--glcddrivers/framebuffer.h3
-rw-r--r--glcddrivers/futabaMDM166A.c10
-rw-r--r--glcddrivers/futabaMDM166A.h3
-rw-r--r--glcddrivers/g15daemon.c12
-rw-r--r--glcddrivers/g15daemon.h3
-rw-r--r--glcddrivers/gu126x64D-K610A4.c15
-rw-r--r--glcddrivers/gu126x64D-K610A4.h4
-rw-r--r--glcddrivers/gu140x32f.c9
-rw-r--r--glcddrivers/gu140x32f.h3
-rw-r--r--glcddrivers/gu256x64-372.c9
-rw-r--r--glcddrivers/gu256x64-372.h3
-rw-r--r--glcddrivers/gu256x64-3900.c13
-rw-r--r--glcddrivers/gu256x64-3900.h4
-rw-r--r--glcddrivers/hd61830.c7
-rw-r--r--glcddrivers/hd61830.h2
-rw-r--r--glcddrivers/image.c6
-rw-r--r--glcddrivers/image.h2
-rw-r--r--glcddrivers/ks0108.c7
-rw-r--r--glcddrivers/ks0108.h2
-rw-r--r--glcddrivers/network.c10
-rw-r--r--glcddrivers/network.h3
-rw-r--r--glcddrivers/noritake800.c88
-rw-r--r--glcddrivers/noritake800.h3
-rw-r--r--glcddrivers/sed1330.c7
-rw-r--r--glcddrivers/sed1330.h2
-rw-r--r--glcddrivers/sed1520.c7
-rw-r--r--glcddrivers/sed1520.h2
-rw-r--r--glcddrivers/serdisp.c27
-rw-r--r--glcddrivers/serdisp.h11
-rw-r--r--glcddrivers/simlcd.c17
-rw-r--r--glcddrivers/simlcd.h6
-rw-r--r--glcddrivers/t6963c.c9
-rw-r--r--glcddrivers/t6963c.h2
43 files changed, 129 insertions, 278 deletions
diff --git a/glcddrivers/Makefile b/glcddrivers/Makefile
index a309b85..d9f5fc8 100644
--- a/glcddrivers/Makefile
+++ b/glcddrivers/Makefile
@@ -37,10 +37,6 @@ ifeq ($(shell pkg-config --exists libusb && echo 1), 1)
endif
-### Inner graphlcd-base dependencies
-LIBS += -L../glcdgraphics -lglcdgraphics
-
-
### Implicit rules:
%.o: %.c
diff --git a/glcddrivers/avrctl.c b/glcddrivers/avrctl.c
index 1f5d155..2261d95 100644
--- a/glcddrivers/avrctl.c
+++ b/glcddrivers/avrctl.c
@@ -51,10 +51,8 @@ const int kBufferHeight = 128;
cDriverAvrCtl::cDriverAvrCtl(cDriverConfig * config)
-: config(config)
+: cDriver(config)
{
- oldConfig = new cDriverConfig(*config);
-
port = new cSerialPort();
//width = config->width;
@@ -65,7 +63,6 @@ cDriverAvrCtl::cDriverAvrCtl(cDriverConfig * config)
cDriverAvrCtl::~cDriverAvrCtl()
{
delete port;
- delete oldConfig;
}
int cDriverAvrCtl::Init()
@@ -190,7 +187,7 @@ void cDriverAvrCtl::SetPixel(int x, int y, uint32_t data)
}
int offset = 7 - (y % 8);
- if (data == GLCD::cColor::White)
+ if (data == GRAPHLCD_White)
newLCD[x][y / 8] |= (1 << offset);
else
newLCD[x][y / 8] &= ( 0xFF ^ (1 << offset) );
diff --git a/glcddrivers/avrctl.h b/glcddrivers/avrctl.h
index 53a8c2b..a7ecb42 100644
--- a/glcddrivers/avrctl.h
+++ b/glcddrivers/avrctl.h
@@ -27,8 +27,6 @@ private:
cSerialPort * port;
unsigned char ** newLCD; // wanted state
unsigned char ** oldLCD; // current state
- cDriverConfig * config;
- cDriverConfig * oldConfig;
int refreshCounter;
int WaitForAck(void);
diff --git a/glcddrivers/ax206dpf.c b/glcddrivers/ax206dpf.c
index ce5b15d..9ff2c39 100644
--- a/glcddrivers/ax206dpf.c
+++ b/glcddrivers/ax206dpf.c
@@ -72,14 +72,8 @@ static int lastbrightness;
cDriverAX206DPF::cDriverAX206DPF(cDriverConfig * config)
-: config(config)
+: cDriver(config)
{
- oldConfig = new cDriverConfig(*config);
-}
-
-cDriverAX206DPF::~cDriverAX206DPF()
-{
- delete oldConfig;
}
int cDriverAX206DPF::Init(void)
@@ -532,9 +526,9 @@ void cDriverAX206DPF::Refresh(bool refreshAll)
//fprintf(stderr, "\n");
}
-GLCD::cColor cDriverAX206DPF::GetBackgroundColor(void)
+uint32_t cDriverAX206DPF::GetBackgroundColor(void)
{
- return GLCD::cColor::Black;
+ return GRAPHLCD_Black;
}
void cDriverAX206DPF::SetSingleDisplayBrightness(unsigned int di, unsigned int percent)
diff --git a/glcddrivers/ax206dpf.h b/glcddrivers/ax206dpf.h
index dc94873..cc5e608 100644
--- a/glcddrivers/ax206dpf.h
+++ b/glcddrivers/ax206dpf.h
@@ -50,9 +50,6 @@ class cDriverConfig;
class cDriverAX206DPF : public cDriver
{
private:
- cDriverConfig * config;
- cDriverConfig * oldConfig;
-
unsigned char * tempLCD; // temp transfer buffer
bool portrait; // portrait or landscape mode
@@ -74,7 +71,6 @@ private:
public:
cDriverAX206DPF(cDriverConfig * config);
- virtual ~cDriverAX206DPF();
virtual int Init();
virtual int DeInit();
@@ -82,7 +78,7 @@ public:
virtual void Clear();
virtual void SetPixel(int x, int y, uint32_t data);
virtual void Refresh(bool refreshAll = false);
- virtual GLCD::cColor GetBackgroundColor(void);
+ virtual uint32_t GetBackgroundColor(void);
virtual void SetBrightness(unsigned int);
virtual bool GetDriverFeature (const std::string & Feature, int & value);
};
diff --git a/glcddrivers/dm140gink.c b/glcddrivers/dm140gink.c
index 0b00a5f..ec3a3e1 100644
--- a/glcddrivers/dm140gink.c
+++ b/glcddrivers/dm140gink.c
@@ -31,16 +31,10 @@ namespace GLCD
{
cDriverDM140GINK::cDriverDM140GINK(cDriverConfig * config)
-: config(config),
+: cDriver(config),
fd(-1),
framebuff(0)
{
- oldConfig = new cDriverConfig(*config);
-}
-
-cDriverDM140GINK::~cDriverDM140GINK()
-{
- delete oldConfig;
}
/* hack - fix improper signed char handling - it's seeing 0x80 as a negative value*/
@@ -268,7 +262,7 @@ void cDriverDM140GINK::SetPixel(int x, int y, uint32_t data)
int offset = (y/8) * width + x;
char mask = (1 << (7 - (y%8)));
- if (data == GLCD::cColor::White)
+ if (data == GRAPHLCD_White)
framebuff[offset] |= mask;
else
framebuff[offset] &= (0xFF ^ mask);
@@ -287,7 +281,7 @@ void cDriverDM140GINK::Set8Pixels(int x, int y, unsigned char data)
for (int n = 0; n < 8; ++n)
{
if (data & (0x80 >> n)) // if bit is set
- SetPixel(x + n, y, GLCD::cColor::White);
+ SetPixel(x + n, y, GRAPHLCD_White);
}
}
#endif
diff --git a/glcddrivers/dm140gink.h b/glcddrivers/dm140gink.h
index e5199a5..c37e527 100644
--- a/glcddrivers/dm140gink.h
+++ b/glcddrivers/dm140gink.h
@@ -25,9 +25,6 @@ class cDriverConfig;
class cDriverDM140GINK : public cDriver
{
private:
- cDriverConfig * config;
- cDriverConfig * oldConfig;
-
int fd;
int vendor;
@@ -42,7 +39,6 @@ private:
public:
cDriverDM140GINK(cDriverConfig * config);
- virtual ~cDriverDM140GINK();
virtual int Init();
virtual int DeInit();
diff --git a/glcddrivers/driver.c b/glcddrivers/driver.c
index 8ba192a..ffd6d6a 100644
--- a/glcddrivers/driver.c
+++ b/glcddrivers/driver.c
@@ -15,7 +15,7 @@
#include "common.h"
#include "driver.h"
-
+#include "config.h"
namespace GLCD
{
@@ -24,14 +24,22 @@ cSimpleTouchEvent::cSimpleTouchEvent() : x(0), y(0), touch(0)
{
}
-cDriver::cDriver()
+cDriver::cDriver(cDriverConfig * config)
: width(0),
- height(0)
+ height(0),
+ config(config)
{
fgcol = GetDefaultForegroundColor();
bgcol = GetDefaultBackgroundColor();
+ oldConfig = new cDriverConfig(*config);
}
+cDriver::~cDriver(void)
+{
+ delete oldConfig;
+}
+
+
//void cDriver::SetScreen(const unsigned char * data, int wid, int hgt, int lineSize)
void cDriver::SetScreen(const uint32_t * data, int wid, int hgt)
{
diff --git a/glcddrivers/driver.h b/glcddrivers/driver.h
index a7175b7..7f95afc 100644
--- a/glcddrivers/driver.h
+++ b/glcddrivers/driver.h
@@ -38,6 +38,7 @@ public:
cSimpleTouchEvent();
};
+class cDriverConfig;
class cDriver
{
@@ -46,13 +47,15 @@ protected:
int height;
uint32_t bgcol;
uint32_t fgcol;
+ cDriverConfig * config;
+ cDriverConfig * oldConfig;
virtual bool GetDriverFeature (const std::string & Feature, int & value) { return false; }
- virtual GLCD::cColor GetDefaultBackgroundColor(void) { return GLCD::cColor(GLCD::cColor::Black); }
- GLCD::cColor GetDefaultForegroundColor(void) { return GLCD::cColor(GetDefaultBackgroundColor()).Invert(); }
+ virtual uint32_t GetDefaultBackgroundColor(void) { return GRAPHLCD_Black; }
+ uint32_t GetDefaultForegroundColor(void) { return GetDefaultBackgroundColor() ^ 0x00FFFFFF; }
public:
- cDriver();
- virtual ~cDriver() {}
+ cDriver(cDriverConfig * config);
+ virtual ~cDriver();
int Width() const { return width; }
int Height() const { return height; }
@@ -72,18 +75,18 @@ public:
virtual bool SetFeature (const std::string & Feature, int value) { return false; }
- GLCD::cColor GetBackgroundColor(bool driverdefault=false) {
+ uint32_t GetBackgroundColor(bool driverdefault=false) {
return (
- (driverdefault || bgcol == GLCD::cColor::ERRCOL || bgcol == GLCD::cColor::Transparent)
+ (driverdefault || bgcol == GRAPHLCD_ERRCOL || bgcol == GRAPHLCD_Transparent)
? GetDefaultBackgroundColor()
- : GLCD::cColor(bgcol)
+ : bgcol
);
}
- GLCD::cColor GetForegroundColor(bool driverdefault=false) {
+ uint32_t GetForegroundColor(bool driverdefault=false) {
return (
- (driverdefault || fgcol == GLCD::cColor::ERRCOL || fgcol == GLCD::cColor::Transparent)
+ (driverdefault || fgcol == GRAPHLCD_ERRCOL || fgcol == GRAPHLCD_Transparent)
? GetDefaultForegroundColor()
- : GLCD::cColor(fgcol)
+ : fgcol
);
}
diff --git a/glcddrivers/framebuffer.c b/glcddrivers/framebuffer.c
index 440af89..a77900d 100644
--- a/glcddrivers/framebuffer.c
+++ b/glcddrivers/framebuffer.c
@@ -29,16 +29,10 @@ namespace GLCD
{
cDriverFramebuffer::cDriverFramebuffer(cDriverConfig * config)
-: config(config),
+: cDriver(config),
offbuff(0),
fbfd(-1)
{
- oldConfig = new cDriverConfig(*config);
-}
-
-cDriverFramebuffer::~cDriverFramebuffer()
-{
- delete oldConfig;
}
int cDriverFramebuffer::Init()
@@ -170,7 +164,7 @@ void cDriverFramebuffer::SetPixel(int x, int y, uint32_t data)
location = (x*(1+zoom)+vinfo.xoffset) * (vinfo.bits_per_pixel/8) +
(y*(1+zoom)+vinfo.yoffset) * finfo.line_length;
- if (data == GLCD::cColor::White) {
+ if (data == GRAPHLCD_White) {
if (vinfo.bits_per_pixel <= 8) {
outcol = 15;
} else {
@@ -243,7 +237,7 @@ void cDriverFramebuffer::Set8Pixels(int x, int y, unsigned char data)
for (n = 0; n < 8; ++n)
{
if (data & (0x80 >> n)) // if bit is set
- SetPixel(x + n, y, GLCD::cColor::White);
+ SetPixel(x + n, y, GRAPHLCD_White);
}
}
#endif
diff --git a/glcddrivers/framebuffer.h b/glcddrivers/framebuffer.h
index cd8f003..0d94562 100644
--- a/glcddrivers/framebuffer.h
+++ b/glcddrivers/framebuffer.h
@@ -27,8 +27,6 @@ class cDriverFramebuffer : public cDriver
{
private:
unsigned char ** LCD;
- cDriverConfig * config;
- cDriverConfig * oldConfig;
char *offbuff;
int fbfd;
struct fb_var_screeninfo vinfo;
@@ -41,7 +39,6 @@ private:
public:
cDriverFramebuffer(cDriverConfig * config);
- virtual ~cDriverFramebuffer();
virtual int Init();
virtual int DeInit();
diff --git a/glcddrivers/futabaMDM166A.c b/glcddrivers/futabaMDM166A.c
index 14b858d..dfa74b2 100644
--- a/glcddrivers/futabaMDM166A.c
+++ b/glcddrivers/futabaMDM166A.c
@@ -226,20 +226,14 @@ const char *cHIDQueue::hiderror(hid_return ret) const
cDriverFutabaMDM166A::cDriverFutabaMDM166A(cDriverConfig * config)
-: config(config)
+: cDriver(config)
, m_pDrawMem(0)
, m_pVFDMem(0)
{
- oldConfig = new cDriverConfig(*config);
m_nRefreshCounter = 0;
lastIconState = 0;
}
-cDriverFutabaMDM166A::~cDriverFutabaMDM166A()
-{
- delete oldConfig;
-}
-
int cDriverFutabaMDM166A::Init()
{
// default values
@@ -363,7 +357,7 @@ void cDriverFutabaMDM166A::SetPixel(int x, int y, uint32_t data)
c = 0x80 >> (y % 8);
//m_pDrawMem[n] |= c;
- if (data == GLCD::cColor::White)
+ if (data == GRAPHLCD_White)
m_pDrawMem[n] |= c;
else
m_pDrawMem[n] &= (0xFF ^ c);
diff --git a/glcddrivers/futabaMDM166A.h b/glcddrivers/futabaMDM166A.h
index c01a2e0..ec3b046 100644
--- a/glcddrivers/futabaMDM166A.h
+++ b/glcddrivers/futabaMDM166A.h
@@ -43,8 +43,6 @@ namespace GLCD
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;
@@ -59,7 +57,6 @@ namespace GLCD
public:
cDriverFutabaMDM166A(cDriverConfig * config);
- virtual ~cDriverFutabaMDM166A();
virtual int Init();
virtual int DeInit();
diff --git a/glcddrivers/g15daemon.c b/glcddrivers/g15daemon.c
index 88619c3..20049bc 100644
--- a/glcddrivers/g15daemon.c
+++ b/glcddrivers/g15daemon.c
@@ -107,16 +107,10 @@ namespace GLCD
{
cDriverG15daemon::cDriverG15daemon(cDriverConfig * config)
-: config(config),
+: cDriver(config),
offbuff(0),
sockfd(-1)
{
- oldConfig = new cDriverConfig(*config);
-}
-
-cDriverG15daemon::~cDriverG15daemon()
-{
- delete oldConfig;
}
int cDriverG15daemon::Init()
@@ -193,7 +187,7 @@ void cDriverG15daemon::SetPixel(int x, int y, uint32_t data)
y = height - 1 - y;
}
- offbuff[x + (width * y)] = ( (data == GLCD::cColor::White) ? 1 : 0 );
+ offbuff[x + (width * y)] = ( (data == GRAPHLCD_White) ? 1 : 0 );
}
void cDriverG15daemon::Clear()
@@ -211,7 +205,7 @@ void cDriverG15daemon::Set8Pixels(int x, int y, unsigned char data)
for (n = 0; n < 8; ++n)
{
if (data & (0x80 >> n)) // if bit is set
- SetPixel(x + n, y, GLCD::cColor::White);
+ SetPixel(x + n, y, GRAPHLCD_White);
}
}
#endif
diff --git a/glcddrivers/g15daemon.h b/glcddrivers/g15daemon.h
index 839102c..e5884bf 100644
--- a/glcddrivers/g15daemon.h
+++ b/glcddrivers/g15daemon.h
@@ -23,8 +23,6 @@ class cDriverG15daemon : public cDriver
{
private:
unsigned char ** LCD;
- cDriverConfig * config;
- cDriverConfig * oldConfig;
char *offbuff;
int sockfd;
long int screensize;
@@ -35,7 +33,6 @@ private:
public:
cDriverG15daemon(cDriverConfig * config);
- virtual ~cDriverG15daemon();
virtual int Init();
virtual int DeInit();
diff --git a/glcddrivers/gu126x64D-K610A4.c b/glcddrivers/gu126x64D-K610A4.c
index 955174a..6770467 100644
--- a/glcddrivers/gu126x64D-K610A4.c
+++ b/glcddrivers/gu126x64D-K610A4.c
@@ -91,9 +91,8 @@ static const long ADJUST_FACTOR = 100; // used to adjust timing
//-----------------------------------------------------------------------------
cDriverGU126X64D_K610A4::cDriverGU126X64D_K610A4(cDriverConfig * config)
- : port (0)
- , config (config)
- , oldConfig (0)
+ : cDriver (config)
+ , port (0)
, myNumRows (0)
, myDrawMem (0)
, myVFDMem (0)
@@ -105,14 +104,8 @@ cDriverGU126X64D_K610A4::cDriverGU126X64D_K610A4(cDriverConfig * config)
, myDataPendingCounter(0)
, myLogFlags (0)
{
- oldConfig = new cDriverConfig(*config);
} // cDriverGU126X64D_K610A4::cDriverGU126X64D_K610A4()
-//-----------------------------------------------------------------------------
-cDriverGU126X64D_K610A4::~cDriverGU126X64D_K610A4()
-{
- delete oldConfig;
-} // cDriverGU126X64D_K610A4::cDriverGU126X64D_K610A4()
//-----------------------------------------------------------------------------
int cDriverGU126X64D_K610A4::Init()
@@ -432,7 +425,7 @@ void cDriverGU126X64D_K610A4::SetPixel(int x, int y, uint32_t data)
unsigned char c = 0x80 >> (y % 8);
- if (data == GLCD::cColor::White)
+ if (data == GRAPHLCD_White)
myDrawMem[x][y/8] |= c;
else
myDrawMem[x][y/8] &= ( 0xFF ^ c );
@@ -449,7 +442,7 @@ void cDriverGU126X64D_K610A4::Set8Pixels(int x, int y, unsigned char data)
{
if ((data & (0x80 >> n)) != 0) // if bit is set
{
- setPixel(x + n, y, GLCD::cColor::White);
+ setPixel(x + n, y, GRAPHLCD_White);
} // if
} // for
} // cDriverGU126X64D_K610A4::Set8Pixels()
diff --git a/glcddrivers/gu126x64D-K610A4.h b/glcddrivers/gu126x64D-K610A4.h
index 3d989e4..422705f 100644
--- a/glcddrivers/gu126x64D-K610A4.h
+++ b/glcddrivers/gu126x64D-K610A4.h
@@ -46,7 +46,6 @@ public:
// constructor/destructor
//---------------------------------------------------------------------------
cDriverGU126X64D_K610A4(cDriverConfig * config);
- virtual ~cDriverGU126X64D_K610A4();
//---------------------------------------------------------------------------
// from cDriver
@@ -109,9 +108,6 @@ private:
//---------------------------------------------------------------------------
cParallelPort *port;
- cDriverConfig *config;
- cDriverConfig *oldConfig;
-
int myNumRows;
unsigned char **myDrawMem;
unsigned char **myVFDMem;
diff --git a/glcddrivers/gu140x32f.c b/glcddrivers/gu140x32f.c
index 3baf6f1..3cf568e 100644
--- a/glcddrivers/gu140x32f.c
+++ b/glcddrivers/gu140x32f.c
@@ -98,12 +98,10 @@ static const std::string kWiringWindows = "Windows";
cDriverGU140X32F::cDriverGU140X32F(cDriverConfig * config)
-: config(config),
+: cDriver(config),
m_pDrawMem(0),
m_pVFDMem(0)
{
- oldConfig = new cDriverConfig(*config);
-
port = new cParallelPort();
m_nRefreshCounter = 0;
@@ -112,7 +110,6 @@ cDriverGU140X32F::cDriverGU140X32F(cDriverConfig * config)
cDriverGU140X32F::~cDriverGU140X32F()
{
delete port;
- delete oldConfig;
}
int cDriverGU140X32F::Init()
@@ -350,7 +347,7 @@ void cDriverGU140X32F::SetPixel(int x, int y, uint32_t data)
n = x + ((y / 8) * width);
c = 0x80 >> (y % 8);
- if (data == GLCD::cColor::White)
+ if (data == GRAPHLCD_White)
m_pDrawMem[n] |= c;
else
m_pDrawMem[n] &= (0xFF ^ c);
@@ -367,7 +364,7 @@ void cDriverGU140X32F::Set8Pixels(int x, int y, unsigned char data)
for (n = 0; n < 8; ++n)
{
if (data & (0x80 >> n)) // if bit is set
- SetPixel(x + n, y, GLCD::cColor::White);
+ SetPixel(x + n, y, GRAPHLCD_White);
}
}
#endif
diff --git a/glcddrivers/gu140x32f.h b/glcddrivers/gu140x32f.h
index 47ab748..2a94f03 100644
--- a/glcddrivers/gu140x32f.h
+++ b/glcddrivers/gu140x32f.h
@@ -39,9 +39,6 @@ class cDriverGU140X32F : public cDriver
cParallelPort * port;
- cDriverConfig * config;
- cDriverConfig * oldConfig;
-
int m_iSizeYb;
int m_nRefreshCounter;
unsigned char *m_pDrawMem; // the draw "memory"
diff --git a/glcddrivers/gu256x64-372.c b/glcddrivers/gu256x64-372.c
index 5615708..c3eeb34 100644
--- a/glcddrivers/gu256x64-372.c
+++ b/glcddrivers/gu256x64-372.c
@@ -84,10 +84,8 @@ const unsigned char kWindowsCDLO = 0x08; //
cDriverGU256X64_372::cDriverGU256X64_372(cDriverConfig * config)
-: config(config)
+: cDriver(config)
{
- oldConfig = new cDriverConfig(*config);
-
port = new cParallelPort();
m_nRefreshCounter = 0;
@@ -95,7 +93,6 @@ cDriverGU256X64_372::cDriverGU256X64_372(cDriverConfig * config)
cDriverGU256X64_372::~cDriverGU256X64_372()
{
- delete oldConfig;
delete port;
}
@@ -366,7 +363,7 @@ void cDriverGU256X64_372::SetPixel(int x, int y, uint32_t data)
c = 0x80 >> (y % 8);
- if (data == GLCD::cColor::White)
+ if (data == GRAPHLCD_White)
m_pDrawMem[x][y/8] |= c;
else
m_pDrawMem[x][y/8] &= ( 0xFF ^ c );
@@ -383,7 +380,7 @@ void cDriverGU256X64_372::Set8Pixels(int x, int y, unsigned char data)
for (n = 0; n < 8; ++n)
{
if (data & (0x80 >> n)) // if bit is set
- SetPixel(x + n, y, GLCD::cColor::White);
+ SetPixel(x + n, y, GRAPHLCD_White);
}
}
#endif
diff --git a/glcddrivers/gu256x64-372.h b/glcddrivers/gu256x64-372.h
index 54719d0..a0d511f 100644
--- a/glcddrivers/gu256x64-372.h
+++ b/glcddrivers/gu256x64-372.h
@@ -35,9 +35,6 @@ class cDriverGU256X64_372 : public cDriver
{
cParallelPort * port;
- cDriverConfig * config;
- cDriverConfig * oldConfig;
-
int m_iSizeYb;
int m_nRefreshCounter;
diff --git a/glcddrivers/gu256x64-3900.c b/glcddrivers/gu256x64-3900.c
index 2d379bd..d135c88 100644
--- a/glcddrivers/gu256x64-3900.c
+++ b/glcddrivers/gu256x64-3900.c
@@ -104,19 +104,12 @@ static const int kInterfaceSerial = 1; // serial mode
cDriverGU256X64_3900::cDriverGU256X64_3900(cDriverConfig * config)
-: config(config)
+: cDriver(config)
{
- oldConfig = new cDriverConfig(*config);
-
portFd = -1;
m_nRefreshCounter = 0;
}
-cDriverGU256X64_3900::~cDriverGU256X64_3900()
-{
- delete oldConfig;
-}
-
int cDriverGU256X64_3900::Init()
{
int x;
@@ -525,7 +518,7 @@ void cDriverGU256X64_3900::SetPixel(int x, int y, uint32_t data)
c = 0x80 >> (y % 8);
- if (data == GLCD::cColor::White)
+ if (data == GRAPHLCD_White)
m_pDrawMem[x][y/8] |= c;
else
m_pDrawMem[x][y/8] &= ( 0xFF ^ c );
@@ -542,7 +535,7 @@ void cDriverGU256X64_3900::Set8Pixels(int x, int y, unsigned char data)
for (n = 0; n < 8; ++n)
{
if (data & (0x80 >> n)) // if bit is set
- SetPixel(x + n, y, GLCD::cColor::White);
+ SetPixel(x + n, y, GRAPHLCD_White);
}
}
#endif
diff --git a/glcddrivers/gu256x64-3900.h b/glcddrivers/gu256x64-3900.h
index 95d7d7f..9703a04 100644
--- a/glcddrivers/gu256x64-3900.h
+++ b/glcddrivers/gu256x64-3900.h
@@ -41,9 +41,6 @@ class cDriverGU256X64_3900 : public cDriver
cParallelPort * port;
int portFd;
- cDriverConfig * config;
- cDriverConfig * oldConfig;
-
int m_iSizeYb;
int m_nRefreshCounter;
int interface;
@@ -71,7 +68,6 @@ protected:
void Write(unsigned char data);
public:
cDriverGU256X64_3900(cDriverConfig * config);
- virtual ~cDriverGU256X64_3900();
virtual int Init();
virtual int DeInit();
diff --git a/glcddrivers/hd61830.c b/glcddrivers/hd61830.c
index 2f383bd..69fee54 100644
--- a/glcddrivers/hd61830.c
+++ b/glcddrivers/hd61830.c
@@ -57,10 +57,8 @@ namespace GLCD
cDriverHD61830::cDriverHD61830(cDriverConfig * config)
-: config(config)
+: cDriver(config)
{
- oldConfig = new cDriverConfig(*config);
-
port = new cParallelPort();
useSleepInit = false;
@@ -72,7 +70,6 @@ cDriverHD61830::cDriverHD61830(cDriverConfig * config)
cDriverHD61830::~cDriverHD61830()
{
delete port;
- delete oldConfig;
}
int cDriverHD61830::Init()
@@ -318,7 +315,7 @@ void cDriverHD61830::SetPixel(int x, int y, uint32_t data)
pos = 7 - pos; // reverse bit position
}
- if (data == GLCD::cColor::White)
+ if (data == GRAPHLCD_White)
newLCD[x / 8][y] |= ( 1 << pos );
else
newLCD[x / 8][y] &= ( 0xFF ^ ( 1 << pos ) );
diff --git a/glcddrivers/hd61830.h b/glcddrivers/hd61830.h
index a6908e2..4d70446 100644
--- a/glcddrivers/hd61830.h
+++ b/glcddrivers/hd61830.h
@@ -29,8 +29,6 @@ private:
unsigned char ** newLCD; // wanted state
unsigned char ** oldLCD; // current state
- cDriverConfig * config;
- cDriverConfig * oldConfig;
int refreshCounter;
long timeForPortCmdInNs;
bool useSleepInit;
diff --git a/glcddrivers/image.c b/glcddrivers/image.c
index 6a67ddd..6a89ffa 100644
--- a/glcddrivers/image.c
+++ b/glcddrivers/image.c
@@ -25,15 +25,13 @@ namespace GLCD
{
cDriverImage::cDriverImage(cDriverConfig * config)
-: config(config)
+: cDriver(config)
{
- oldConfig = new cDriverConfig(*config);
}
cDriverImage::~cDriverImage()
{
DeInit();
- delete oldConfig;
}
int cDriverImage::Init()
@@ -146,7 +144,7 @@ void cDriverImage::SetPixel(int x, int y, uint32_t data)
pos = 7 - pos; // reverse bit position
}
- if (data == GLCD::cColor::White)
+ if (data == GRAPHLCD_White)
newLCD[y * x] |= ( 1 << pos );
else
newLCD[y * x] &= ( 0xFF ^ ( 1 << pos) );
diff --git a/glcddrivers/image.h b/glcddrivers/image.h
index 972a38e..2d3cb71 100644
--- a/glcddrivers/image.h
+++ b/glcddrivers/image.h
@@ -28,8 +28,6 @@ class cDriverImage : public cDriver
private:
uint32_t * newLCD;
uint32_t * oldLCD;
- cDriverConfig * config;
- cDriverConfig * oldConfig;
int lineSize;
int counter;
diff --git a/glcddrivers/ks0108.c b/glcddrivers/ks0108.c
index 250bbcd..2a723f9 100644
--- a/glcddrivers/ks0108.c
+++ b/glcddrivers/ks0108.c
@@ -42,10 +42,8 @@ const unsigned char kCS2LO = 0x04;
cDriverKS0108::cDriverKS0108(cDriverConfig * config)
-: config(config)
+: cDriver(config)
{
- oldConfig = new cDriverConfig(*config);
-
port = new cParallelPort();
refreshCounter = 0;
@@ -56,7 +54,6 @@ cDriverKS0108::cDriverKS0108(cDriverConfig * config)
cDriverKS0108::~cDriverKS0108()
{
delete port;
- delete oldConfig;
}
int cDriverKS0108::Init()
@@ -435,7 +432,7 @@ void cDriverKS0108::SetPixel(int x, int y, uint32_t data)
pos = 7 - pos; // reverse bit position
}
- if (data == GLCD::cColor::White)
+ if (data == GRAPHLCD_White)
LCD[x / 8][y] |= (1 << pos);
else
LCD[x / 8][y] &= ( 0xFF ^ (1 << pos) );
diff --git a/glcddrivers/ks0108.h b/glcddrivers/ks0108.h
index 462c1af..ffed14f 100644
--- a/glcddrivers/ks0108.h
+++ b/glcddrivers/ks0108.h
@@ -31,8 +31,6 @@ private:
int refreshCounter;
long timeForPortCmdInNs;
long timeForLCDInNs;
- cDriverConfig * config;
- cDriverConfig * oldConfig;
bool useSleepInit;
int CheckSetup();
diff --git a/glcddrivers/network.c b/glcddrivers/network.c
index 367962b..40399bc 100644
--- a/glcddrivers/network.c
+++ b/glcddrivers/network.c
@@ -30,19 +30,13 @@ namespace GLCD
{
cDriverNetwork::cDriverNetwork(cDriverConfig * config)
-: config(config)
+: cDriver(config)
{
- oldConfig = new cDriverConfig(*config);
childTid = 0;
running = false;
clientConnected = false;
}
-cDriverNetwork::~cDriverNetwork()
-{
- delete oldConfig;
-}
-
int cDriverNetwork::Init()
{
width = config->width;
@@ -137,7 +131,7 @@ void cDriverNetwork::SetPixel(int x, int y, uint32_t data)
pos = 7 - pos; // reverse bit position
}
- if (data == GLCD::cColor::White)
+ if (data == GRAPHLCD_White)
newLCD[lineSize * y + x / 8] |= (1 << pos);
else
newLCD[lineSize * y + x / 8] &= ( 0xFF ^ (1 << pos) );
diff --git a/glcddrivers/network.h b/glcddrivers/network.h
index 934b8d0..9251c50 100644
--- a/glcddrivers/network.h
+++ b/glcddrivers/network.h
@@ -29,8 +29,6 @@ class cDriverNetwork : public cDriver
private:
unsigned char * newLCD;
unsigned char * oldLCD;
- cDriverConfig * config;
- cDriverConfig * oldConfig;
int lineSize;
bool running;
pthread_t childTid;
@@ -42,7 +40,6 @@ private:
public:
cDriverNetwork(cDriverConfig * config);
- virtual ~cDriverNetwork();
virtual int Init();
virtual int DeInit();
diff --git a/glcddrivers/noritake800.c b/glcddrivers/noritake800.c
index bb0b43a..10dd4ba 100644
--- a/glcddrivers/noritake800.c
+++ b/glcddrivers/noritake800.c
@@ -91,7 +91,7 @@ static const std::string kWiringMZ = "MZ";
#define SETPOSITION 0xff
-cDriverNoritake800::cDriverNoritake800(cDriverConfig * config)
+cDriverNoritake800::cDriverNoritake800(cDriverConfig * config) : cDriver(config)
{
int x = 0;
m_bGraphScreen0_On = true;
@@ -99,18 +99,15 @@ cDriverNoritake800::cDriverNoritake800(cDriverConfig * config)
// default initilaization for the wiring
m_nWiring = WIRING_LIQUIDMP3;
- m_Config = config;
- m_oldConfig = new cDriverConfig(* config);
-
m_pport = new cParallelPort();
m_nTimingAdjustCmd = 0;
m_nRefreshCounter = 0;
- width = m_Config->width; // 128
+ width = config->width; // 128
if (width <= 0)
width = 128;
- height = m_Config->height; // 64
+ height = config->height; // 64
if (height <= 0)
height = 64;
m_iSizeYb = (height + 7)/8; // 8
@@ -118,15 +115,15 @@ cDriverNoritake800::cDriverNoritake800(cDriverConfig * config)
//
// initialize wiring
//
- for (unsigned int i = 0; i < m_Config->options.size(); i++)
+ for (unsigned int i = 0; i < config->options.size(); i++)
{
- if (m_Config->options[i].name == "Wiring")
+ if (config->options[i].name == "Wiring")
{
- if (m_Config->options[i].value == kWiringLiquidmp3)
+ if (config->options[i].value == kWiringLiquidmp3)
{
m_nWiring = WIRING_LIQUIDMP3;
}
- else if (m_Config->options[i].value == kWiringMZ)
+ else if (config->options[i].value == kWiringMZ)
{
m_nWiring = WIRING_MZ;
}
@@ -184,7 +181,6 @@ cDriverNoritake800::~cDriverNoritake800()
}
delete[] m_pDrawMem;
delete[] m_pWiringMaskCache;
- delete m_oldConfig;
delete m_pport;
}
@@ -213,27 +209,27 @@ int cDriverNoritake800::DeInit()
int cDriverNoritake800::CheckSetup()
{
- if (m_Config->device != m_oldConfig->device ||
- m_Config->port != m_oldConfig->port ||
- m_Config->width != m_oldConfig->width ||
- m_Config->height != m_oldConfig->height)
+ if (config->device != oldConfig->device ||
+ config->port != oldConfig->port ||
+ config->width != oldConfig->width ||
+ config->height != oldConfig->height)
{
DeInit();
Init();
return 0;
}
- if (m_Config->brightness != m_oldConfig->brightness)
+ if (config->brightness != oldConfig->brightness)
{
- m_oldConfig->brightness = m_Config->brightness;
- SetBrightness(m_Config->brightness);
+ oldConfig->brightness = config->brightness;
+ SetBrightness(config->brightness);
}
- if (m_Config->upsideDown != m_oldConfig->upsideDown ||
- m_Config->invert != m_oldConfig->invert)
+ if (config->upsideDown != oldConfig->upsideDown ||
+ config->invert != oldConfig->invert)
{
- m_oldConfig->upsideDown = m_Config->upsideDown;
- m_oldConfig->invert = m_Config->invert;
+ oldConfig->upsideDown = config->upsideDown;
+ oldConfig->invert = config->invert;
return 1;
}
return 0;
@@ -244,23 +240,23 @@ int cDriverNoritake800::Init()
int x;
struct timeval tv1, tv2;
- if (m_Config->device == "")
+ if (config->device == "")
{
// use DirectIO
- if (m_pport->Open(m_Config->port) != 0)
+ if (m_pport->Open(config->port) != 0)
return -1;
uSleep(10);
}
else
{
// use ppdev
- if (m_pport->Open(m_Config->device.c_str()) != 0)
+ if (m_pport->Open(config->device.c_str()) != 0)
return -1;
}
if (nSleepInit() != 0)
{
- syslog(LOG_ERR, "%s: INFO: cannot change wait parameters Err: %s (cDriver::Init)\n", m_Config->name.c_str(), strerror(errno));
+ syslog(LOG_ERR, "%s: INFO: cannot change wait parameters Err: %s (cDriver::Init)\n", config->name.c_str(), strerror(errno));
m_bSleepIsInit = false;
}
else
@@ -270,7 +266,7 @@ int cDriverNoritake800::Init()
// benchmark port access
m_pport->Claim();
- syslog(LOG_DEBUG, "%s: benchmark started.\n", m_Config->name.c_str());
+ syslog(LOG_DEBUG, "%s: benchmark started.\n", config->name.c_str());
gettimeofday(&tv1, 0);
int nBenchIterations = 10000;
for (x = 0; x < nBenchIterations; x++)
@@ -281,7 +277,7 @@ int cDriverNoritake800::Init()
nSleepDeInit();
// calculate port command duration in nanoseconds
m_nTimingAdjustCmd = long(double((tv2.tv_sec - tv1.tv_sec) * 1000000000 + (tv2.tv_usec - tv1.tv_usec) * 1000) / double(nBenchIterations));
- syslog(LOG_DEBUG, "%s: benchmark stopped. Time for Port Command: %ldns\n", m_Config->name.c_str(), m_nTimingAdjustCmd);
+ syslog(LOG_DEBUG, "%s: benchmark stopped. Time for Port Command: %ldns\n", config->name.c_str(), m_nTimingAdjustCmd);
m_pport->Release();
// initialize display
@@ -291,13 +287,13 @@ int cDriverNoritake800::Init()
for (n=0; n < 15; n++)
{
N800Cmd(0x62);
- nSleep(100 + (100 * m_Config->adjustTiming) - m_nTimingAdjustCmd);
+ nSleep(100 + (100 * config->adjustTiming) - m_nTimingAdjustCmd);
N800Cmd(n);
- nSleep(100 + (100 * m_Config->adjustTiming) - m_nTimingAdjustCmd);
+ nSleep(100 + (100 * config->adjustTiming) - m_nTimingAdjustCmd);
N800Data(0xff);
- nSleep(100 + (100 * m_Config->adjustTiming) - m_nTimingAdjustCmd);
+ nSleep(100 + (100 * config->adjustTiming) - m_nTimingAdjustCmd);
}
- nSleep(100 + (100 * m_Config->adjustTiming) - m_nTimingAdjustCmd);
+ nSleep(100 + (100 * config->adjustTiming) - m_nTimingAdjustCmd);
N800Cmd(LAYERSOFF | LAYER0ON); // layer 0 of the graphic RAM on
@@ -313,15 +309,15 @@ int cDriverNoritake800::Init()
m_pport->Release();
- *m_oldConfig = *m_Config;
+ //*oldConfig = *config;
// Set Display SetBrightness
- SetBrightness(m_Config->brightness);
+ SetBrightness(config->brightness);
// clear display
ClearVFDMem();
Refresh(true);
- syslog(LOG_INFO, "%s: initialization done.\n", m_Config->name.c_str());
+ syslog(LOG_INFO, "%s: initialization done.\n", config->name.c_str());
return 0;
}
@@ -335,9 +331,9 @@ void cDriverNoritake800::Refresh(bool refreshAll)
if (!m_pVFDMem || !m_pDrawMem)
return;
- if (m_Config->refreshDisplay > 0)
+ if (config->refreshDisplay > 0)
{
- m_nRefreshCounter = (m_nRefreshCounter + 1) % m_Config->refreshDisplay;
+ m_nRefreshCounter = (m_nRefreshCounter + 1) % config->refreshDisplay;
if (m_nRefreshCounter == 0)
refreshAll = true;
}
@@ -357,7 +353,7 @@ void cDriverNoritake800::Refresh(bool refreshAll)
m_nRefreshCounter = 0;
// actually write to display
N800WriteByte(
- (m_pVFDMem[xb][yb]) ^ ((m_Config->invert != 0) ? 0xff : 0x00),
+ (m_pVFDMem[xb][yb]) ^ ((config->invert != 0) ? 0xff : 0x00),
xb,
yb,
0);
@@ -376,13 +372,13 @@ void cDriverNoritake800::N800Cmd(unsigned char data)
m_pport->WriteControl(m_pWiringMaskCache[0x00]);
// write to data port
m_pport->WriteData(data);
- nSleep(100 + (100 * m_Config->adjustTiming) - m_nTimingAdjustCmd);
+ nSleep(100 + (100 * config->adjustTiming) - m_nTimingAdjustCmd);
// set /WR on the control port
m_pport->WriteControl(m_pWiringMaskCache[VFDSGN_WR]);
- nSleep(100 + (100 * m_Config->adjustTiming) - m_nTimingAdjustCmd);
+ nSleep(100 + (100 * config->adjustTiming) - m_nTimingAdjustCmd);
// reset /WR on the control port
m_pport->WriteControl(m_pWiringMaskCache[0x00]);
- nSleep(100 + (100 * m_Config->adjustTiming) - m_nTimingAdjustCmd);
+ nSleep(100 + (100 * config->adjustTiming) - m_nTimingAdjustCmd);
// set direction to "port_input"
m_pport->WriteControl(LPT_CTL_HI_DIR | m_pWiringMaskCache[0x00]);
}
@@ -396,13 +392,13 @@ void cDriverNoritake800::N800Data(unsigned char data)
m_pport->WriteControl(m_pWiringMaskCache[VFDSGN_CD]);
// write to data port
m_pport->WriteData(data);
- nSleep(100 + (100 * m_Config->adjustTiming) - m_nTimingAdjustCmd);
+ nSleep(100 + (100 * config->adjustTiming) - m_nTimingAdjustCmd);
// set /WR on the control port
m_pport->WriteControl(m_pWiringMaskCache[VFDSGN_CD | VFDSGN_WR]);
- nSleep(100 + (100 * m_Config->adjustTiming) - m_nTimingAdjustCmd);
+ nSleep(100 + (100 * config->adjustTiming) - m_nTimingAdjustCmd);
// reset /WR on the control port
m_pport->WriteControl(m_pWiringMaskCache[VFDSGN_CD]);
- nSleep(100 + (100 * m_Config->adjustTiming) - m_nTimingAdjustCmd);
+ nSleep(100 + (100 * config->adjustTiming) - m_nTimingAdjustCmd);
// set direction to "port_input"
m_pport->WriteControl(LPT_CTL_HI_DIR | m_pWiringMaskCache[0x00]);
}
@@ -419,7 +415,7 @@ void cDriverNoritake800::SetPixel(int x, int y, uint32_t data)
if (y >= height || y < 0)
return;
- if (m_Config->upsideDown)
+ if (config->upsideDown)
{
x = width - 1 - x;
y = height - 1 - y;
@@ -427,7 +423,7 @@ void cDriverNoritake800::SetPixel(int x, int y, uint32_t data)
c = 0x80 >> (y % 8);
- if (data == GLCD::cColor::White)
+ if (data == GRAPHLCD_White)
m_pDrawMem[x][y/8] |= c;
else
m_pDrawMem[x][y/8] &= ( 0xFF ^ c);
diff --git a/glcddrivers/noritake800.h b/glcddrivers/noritake800.h
index f41aa7a..e7523a8 100644
--- a/glcddrivers/noritake800.h
+++ b/glcddrivers/noritake800.h
@@ -47,9 +47,6 @@ class cDriverNoritake800 : public cDriver
{
cParallelPort * m_pport;
- cDriverConfig * m_Config;
- cDriverConfig * m_oldConfig;
-
int m_iSizeYb;
int m_nRefreshCounter;
int m_nWiring;
diff --git a/glcddrivers/sed1330.c b/glcddrivers/sed1330.c
index 80a8970..588d8d3 100644
--- a/glcddrivers/sed1330.c
+++ b/glcddrivers/sed1330.c
@@ -131,10 +131,8 @@ const unsigned char kYASEDWCSLO = kSelectLow;
cDriverSED1330::cDriverSED1330(cDriverConfig * config)
-: config(config)
+: cDriver(config)
{
- oldConfig = new cDriverConfig(*config);
-
port = new cParallelPort();
refreshCounter = 0;
@@ -143,7 +141,6 @@ cDriverSED1330::cDriverSED1330(cDriverConfig * config)
cDriverSED1330::~cDriverSED1330()
{
delete port;
- delete oldConfig;
}
int cDriverSED1330::Init()
@@ -555,7 +552,7 @@ void cDriverSED1330::SetPixel(int x, int y, uint32_t data)
pos = 7 - pos; // reverse bit position
}
- if (data == GLCD::cColor::White)
+ if (data == GRAPHLCD_White)
newLCD[x / 8][y] |= (1 << pos);
else
newLCD[x / 8][y] &= ( 0xFF ^ (1 << pos) );
diff --git a/glcddrivers/sed1330.h b/glcddrivers/sed1330.h
index 6f2a837..ad2eef5 100644
--- a/glcddrivers/sed1330.h
+++ b/glcddrivers/sed1330.h
@@ -39,8 +39,6 @@ private:
unsigned char ** oldLCD; // current state
int refreshCounter;
long timeForPortCmdInNs;
- cDriverConfig * config;
- cDriverConfig * oldConfig;
bool useSleepInit;
int oscillatorFrequency;
diff --git a/glcddrivers/sed1520.c b/glcddrivers/sed1520.c
index edd445b..d48f11e 100644
--- a/glcddrivers/sed1520.c
+++ b/glcddrivers/sed1520.c
@@ -46,10 +46,8 @@ const unsigned char kLEDLO = 0x00;
cDriverSED1520::cDriverSED1520(cDriverConfig * config)
-: config(config)
+: cDriver(config)
{
- oldConfig = new cDriverConfig(*config);
-
port = new cParallelPort();
refreshCounter = 0;
@@ -58,7 +56,6 @@ cDriverSED1520::cDriverSED1520(cDriverConfig * config)
cDriverSED1520::~cDriverSED1520()
{
delete port;
- delete oldConfig;
}
int cDriverSED1520::Init()
@@ -318,7 +315,7 @@ void cDriverSED1520::SetPixel (int x, int y, uint32_t data)
pos = 7 - pos; // reverse bit position
}
- if (data == GLCD::cColor::White)
+ if (data == GRAPHLCD_White)
LCD[x / 8][y] |= ( 1 << pos );
else
LCD[x / 8][y] &= (0xFF ^ ( 1 << pos ));
diff --git a/glcddrivers/sed1520.h b/glcddrivers/sed1520.h
index 1d301ff..e72befc 100644
--- a/glcddrivers/sed1520.h
+++ b/glcddrivers/sed1520.h
@@ -30,8 +30,6 @@ private:
unsigned char ** LCD_page; // paged lcd display "memory"
int refreshCounter;
long timeForPortCmdInNs;
- cDriverConfig * config;
- cDriverConfig * oldConfig;
bool useSleepInit;
int SEAD;
diff --git a/glcddrivers/serdisp.c b/glcddrivers/serdisp.c
index 1e20cbe..e9e15c4 100644
--- a/glcddrivers/serdisp.c
+++ b/glcddrivers/serdisp.c
@@ -45,19 +45,12 @@ static bool simpleTouchChanged=false;
cDriverSerDisp::cDriverSerDisp(cDriverConfig * config)
-: config(config)
+: cDriver(config)
{
- oldConfig = new cDriverConfig(*config);
-
dd = (void *) NULL;
simpleTouchChanged = false;
}
-cDriverSerDisp::~cDriverSerDisp(void)
-{
- delete oldConfig;
-}
-
int cDriverSerDisp::Init(void)
{
char* errmsg; // error message returned by dlerror()
@@ -86,8 +79,8 @@ int cDriverSerDisp::Init(void)
/* pre-init some flags, function pointers, ... */
supports_options = 0;
- fgcol = GLCD::cColor::Black; /* set foreground colour to black */
- bgcol = GLCD::cColor::ERRCOL;
+ fgcol = GRAPHLCD_Black; /* set foreground colour to black */
+ bgcol = GRAPHLCD_ERRCOL;
// get serdisp version
fp_serdisp_getversioncode = (long int (*)()) dlsym(sdhnd, "serdisp_getversioncode");
@@ -297,9 +290,9 @@ int cDriverSerDisp::Init(void)
// self-emitting displays (like OLEDs): default background colour => black
if ( supports_options && fp_serdisp_isoption(dd, "SELFEMITTING") && (fp_serdisp_getoption(dd, "SELFEMITTING", 0)) ) {
if (!bg_forced)
- bgcol = GLCD::cColor::Black; /* set background colour to black */
+ bgcol = GRAPHLCD_Black; /* set background colour to black */
if (!fg_forced)
- fgcol = GLCD::cColor::White; /* set foreground colour to white */
+ fgcol = GRAPHLCD_White; /* set foreground colour to white */
}
width = config->width;
@@ -431,7 +424,7 @@ int cDriverSerDisp::CheckSetup()
void cDriverSerDisp::Clear(void)
{
- if (bgcol == GLCD::cColor::ERRCOL) // bgcol not set
+ if (bgcol == GRAPHLCD_ERRCOL) // bgcol not set
fp_serdisp_clearbuffer(dd);
else { /* if bgcol is set, draw background 'by hand' */
int x,y;
@@ -453,7 +446,7 @@ void cDriverSerDisp::Set8Pixels(int x, int y, unsigned char data) {
pixel = data & (1 << i);
if (pixel) {
SetPixel(start + i, y, (long)fgcol);
- } else if (!pixel && bgcol != GLCD::cColor::ERRCOL) { /* if bgcol is set: use it if pixel is not set */
+ } else if (!pixel && bgcol != GRAPHLCD_ERRCOL) { /* if bgcol is set: use it if pixel is not set */
SetPixel(start + i, y, (long)bgcol);
}
}
@@ -513,11 +506,11 @@ void cDriverSerDisp::SetBrightness(unsigned int percent)
fp_serdisp_setoption(dd, "BRIGHTNESS", (long)percent);
}
-GLCD::cColor cDriverSerDisp::GetDefaultBackgroundColor(void) {
+uint32_t cDriverSerDisp::GetDefaultBackgroundColor(void) {
if ( supports_options && fp_serdisp_isoption(dd, "SELFEMITTING") && (fp_serdisp_getoption(dd, "SELFEMITTING", 0)) ) {
- return GLCD::cColor::Black;
+ return GRAPHLCD_Black;
}
- return GLCD::cColor::White;
+ return GRAPHLCD_White;
}
diff --git a/glcddrivers/serdisp.h b/glcddrivers/serdisp.h
index 659b789..ea1be90 100644
--- a/glcddrivers/serdisp.h
+++ b/glcddrivers/serdisp.h
@@ -59,9 +59,6 @@ class cDriverSerDisp : public cDriver
{
private:
- cDriverConfig * config;
- cDriverConfig * oldConfig;
-
long serdisp_version;
int supports_options;
@@ -100,22 +97,18 @@ private:
protected:
virtual bool GetDriverFeature (const std::string & Feature, int & value);
- virtual GLCD::cColor GetDefaultBackgroundColor(void);
+ virtual uint32_t GetDefaultBackgroundColor(void);
public:
cDriverSerDisp(cDriverConfig * config);
- virtual ~cDriverSerDisp();
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, unsigned char data);
-#if 0
- virtual void SetScreen(const unsigned char * data, int width, int height, int lineSize);
-#endif
+
virtual void Refresh(bool refreshAll = false);
virtual void SetBrightness(unsigned int percent);
diff --git a/glcddrivers/simlcd.c b/glcddrivers/simlcd.c
index b7c548b..d1da90f 100644
--- a/glcddrivers/simlcd.c
+++ b/glcddrivers/simlcd.c
@@ -32,15 +32,8 @@
namespace GLCD
{
-cDriverSimLCD::cDriverSimLCD(cDriverConfig * config)
-: config(config)
+cDriverSimLCD::cDriverSimLCD(cDriverConfig * config) : cDriver(config)
{
- oldConfig = new cDriverConfig(*config);
-}
-
-cDriverSimLCD::~cDriverSimLCD(void)
-{
- delete oldConfig;
}
int cDriverSimLCD::Init(void)
@@ -120,7 +113,7 @@ void cDriverSimLCD::Clear(void)
{
for (int x = 0; x < width; x++)
{
- LCD[x][y] = GLCD::cColor::White;
+ LCD[x][y] = GRAPHLCD_White;
}
}
}
@@ -160,7 +153,7 @@ void cDriverSimLCD::Refresh(bool refreshAll)
{
for (x = 0; x < width; x++)
{
- if (LCD[x][y] == GLCD::cColor::Black)
+ if (LCD[x][y] == GRAPHLCD_Black)
{
if (!config->invert)
{
@@ -195,9 +188,9 @@ void cDriverSimLCD::Refresh(bool refreshAll)
}
}
-GLCD::cColor cDriverSimLCD::GetBackgroundColor(void)
+uint32_t cDriverSimLCD::GetBackgroundColor(void)
{
- return GLCD::cColor::White;
+ return GRAPHLCD_White;
}
bool cDriverSimLCD::GetDriverFeature(const std::string & Feature, int & value)
diff --git a/glcddrivers/simlcd.h b/glcddrivers/simlcd.h
index e79e52a..12f819c 100644
--- a/glcddrivers/simlcd.h
+++ b/glcddrivers/simlcd.h
@@ -28,14 +28,10 @@ class cDriverSimLCD : public cDriver
{
private:
uint32_t ** LCD;
- cDriverConfig * config;
- cDriverConfig * oldConfig;
-
int CheckSetup();
public:
cDriverSimLCD(cDriverConfig * config);
- virtual ~cDriverSimLCD();
virtual int Init();
virtual int DeInit();
@@ -43,7 +39,7 @@ public:
virtual void Clear();
virtual void SetPixel(int x, int y, uint32_t data);
virtual void Refresh(bool refreshAll = false);
- virtual GLCD::cColor GetBackgroundColor(void);
+ virtual uint32_t GetBackgroundColor(void);
virtual bool GetDriverFeature (const std::string & Feature, int & value);
};
diff --git a/glcddrivers/t6963c.c b/glcddrivers/t6963c.c
index de3a59f..671d4f3 100644
--- a/glcddrivers/t6963c.c
+++ b/glcddrivers/t6963c.c
@@ -108,10 +108,8 @@ const unsigned char kSerialCDLO = 0x04; //
cDriverT6963C::cDriverT6963C(cDriverConfig * config)
-: config(config)
+: cDriver(config)
{
- oldConfig = new cDriverConfig(*config);
-
port = new cParallelPort();
//width = config->width;
@@ -126,7 +124,6 @@ cDriverT6963C::cDriverT6963C(cDriverConfig * config)
cDriverT6963C::~cDriverT6963C()
{
delete port;
- delete oldConfig;
}
int cDriverT6963C::Init()
@@ -397,7 +394,7 @@ void cDriverT6963C::SetPixel(int x, int y, uint32_t data)
//int cols = (width + 6 - 1 ) / 6;
int col = x / 6;
- if (data == GLCD::cColor::White)
+ if (data == GRAPHLCD_White)
newLCD[col][y] |= (1 << pos);
else
newLCD[col][y] &= ( 0x3F ^ (1 << pos) );
@@ -412,7 +409,7 @@ void cDriverT6963C::SetPixel(int x, int y, uint32_t data)
pos = 7 - pos; // reverse bit position
}
- if (data == GLCD::cColor::White)
+ if (data == GRAPHLCD_White)
newLCD[x / 8][y] |= (1 << pos);
else
newLCD[x / 8][y] &= ( 0xFF ^ (1 << pos) );
diff --git a/glcddrivers/t6963c.h b/glcddrivers/t6963c.h
index 4377697..a9388b4 100644
--- a/glcddrivers/t6963c.h
+++ b/glcddrivers/t6963c.h
@@ -29,8 +29,6 @@ private:
cParallelPort * port;
unsigned char ** newLCD; // wanted state
unsigned char ** oldLCD; // current state
- cDriverConfig * config;
- cDriverConfig * oldConfig;
int refreshCounter;
int bidirectLPT;
int displayMode;