mirror of
https://github.com/netfun2000/lcd4linux.git
synced 2026-02-27 09:44:34 +08:00
[lcd4linux @ 2004-03-19 09:17:46 by reinelt]
removed the extra 'goto' function, row and col are additional parameters of the write() function now. git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@404 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* $Id: drv_Crystalfontz.c,v 1.13 2004/03/03 03:41:02 reinelt Exp $
|
||||
/* $Id: drv_Crystalfontz.c,v 1.14 2004/03/19 09:17:46 reinelt Exp $
|
||||
*
|
||||
* new style driver for Crystalfontz display modules
|
||||
*
|
||||
@@ -23,6 +23,11 @@
|
||||
*
|
||||
*
|
||||
* $Log: drv_Crystalfontz.c,v $
|
||||
* Revision 1.14 2004/03/19 09:17:46 reinelt
|
||||
*
|
||||
* removed the extra 'goto' function, row and col are additional parameters
|
||||
* of the write() function now.
|
||||
*
|
||||
* Revision 1.13 2004/03/03 03:41:02 reinelt
|
||||
* Crystalfontz Contrast issue fixed
|
||||
*
|
||||
@@ -105,7 +110,6 @@ static char Name[]="Crystalfontz";
|
||||
|
||||
static int Model;
|
||||
static int Protocol;
|
||||
static int Row, Col;
|
||||
|
||||
// ring buffer for bytes received from the display
|
||||
static unsigned char RingBuffer[256];
|
||||
@@ -328,56 +332,41 @@ static void drv_CF_send (int cmd, int len, char *data)
|
||||
}
|
||||
|
||||
|
||||
static void drv_CF_write1 (unsigned char *string, int len)
|
||||
{
|
||||
drv_generic_serial_write (string, len);
|
||||
}
|
||||
|
||||
|
||||
static void drv_CF_write2 (unsigned char *string, int len)
|
||||
{
|
||||
// limit length
|
||||
if (Col+len>16) len=16-Col;
|
||||
if (len<0) len=0;
|
||||
|
||||
// sanity check
|
||||
if (Row>=2 || Col+len>16) {
|
||||
error ("%s: internal error: write outside linebuffer bounds!", Name);
|
||||
return;
|
||||
}
|
||||
memcpy (Line+16*Row+Col, string, len);
|
||||
drv_CF_send (7+Row, 16, Line+16*Row);
|
||||
}
|
||||
|
||||
|
||||
static void drv_CF_write3 (unsigned char *string, int len)
|
||||
{
|
||||
debug ("write3(<%.*s>,%d)", len, string, len);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
static void drv_CF_goto1 (int row, int col)
|
||||
static void drv_CF_write1 (int row, int col, unsigned char *data, int len)
|
||||
{
|
||||
char cmd[3]="\021xy"; // set cursor position
|
||||
|
||||
if (row==0 && col==0) {
|
||||
drv_CF_write1("\001", 1); // cursor home
|
||||
drv_generic_serial_write ("\001", 1); // cursor home
|
||||
} else {
|
||||
cmd[1]=(char)col;
|
||||
cmd[2]=(char)row;
|
||||
drv_CF_write1(cmd, 3);
|
||||
drv_generic_serial_write (cmd, 3);
|
||||
}
|
||||
|
||||
drv_generic_serial_write (data, len);
|
||||
}
|
||||
|
||||
static void drv_CF_goto23 (int row, int col)
|
||||
|
||||
static void drv_CF_write2 (int row, int col, unsigned char *data, int len)
|
||||
{
|
||||
// as the 633 does not have random access to the display content,
|
||||
// and the 631 needs coordinates with random access,
|
||||
// we just store the needed cursor position
|
||||
Row=row;
|
||||
Col=col;
|
||||
// limit length
|
||||
if (col+len>16) len=16-col;
|
||||
if (len<0) len=0;
|
||||
|
||||
// sanity check
|
||||
if (row>=2 || col+len>16) {
|
||||
error ("%s: internal error: write outside linebuffer bounds!", Name);
|
||||
return;
|
||||
}
|
||||
memcpy (Line+16*row+col, data, len);
|
||||
drv_CF_send (7+row, 16, Line+16*row);
|
||||
}
|
||||
|
||||
|
||||
static void drv_CF_write3 (int row, int col, unsigned char *data, int len)
|
||||
{
|
||||
debug ("write3(<%.*s>,%d)", len, data, len);
|
||||
}
|
||||
|
||||
|
||||
@@ -387,8 +376,8 @@ static void drv_CF_defchar1 (int ascii, unsigned char *buffer)
|
||||
|
||||
// user-defineable chars start at 128, but are defined at 0
|
||||
cmd[1]=(char)(ascii-CHAR0);
|
||||
drv_CF_write1 (cmd, 2);
|
||||
drv_CF_write1 (buffer, 8);
|
||||
drv_generic_serial_write (cmd, 2);
|
||||
drv_generic_serial_write (buffer, 8);
|
||||
}
|
||||
|
||||
|
||||
@@ -422,7 +411,7 @@ static int drv_CF_contrast (int contrast)
|
||||
if (Contrast > 100) Contrast = 100;
|
||||
buffer[0] = 15; // Set LCD Contrast
|
||||
buffer[1] = Contrast;
|
||||
drv_CF_write1 (buffer, 2);
|
||||
drv_generic_serial_write (buffer, 2);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
@@ -457,7 +446,7 @@ static int drv_CF_backlight (int backlight)
|
||||
case 1:
|
||||
buffer[0] = 14; // Set LCD Backlight
|
||||
buffer[1] = Backlight;
|
||||
drv_CF_write1 (buffer, 2);
|
||||
drv_generic_serial_write (buffer, 2);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
@@ -611,10 +600,10 @@ static int drv_CF_scan_DOW (unsigned char index)
|
||||
// init sequences for 626, 632, 634, 636
|
||||
static void drv_CF_start_1 (void)
|
||||
{
|
||||
drv_CF_write1 ("\014", 1); // Form Feed (Clear Display)
|
||||
drv_CF_write1 ("\004", 1); // hide cursor
|
||||
drv_CF_write1 ("\024", 1); // scroll off
|
||||
drv_CF_write1 ("\030", 1); // wrap off
|
||||
drv_generic_serial_write ("\014", 1); // Form Feed (Clear Display)
|
||||
drv_generic_serial_write ("\004", 1); // hide cursor
|
||||
drv_generic_serial_write ("\024", 1); // scroll off
|
||||
drv_generic_serial_write ("\030", 1); // wrap off
|
||||
}
|
||||
|
||||
|
||||
@@ -852,14 +841,12 @@ int drv_CF_init (char *section)
|
||||
case 1:
|
||||
CHAR0 = 128; // ASCII of first user-defineable char
|
||||
GOTO_COST = 3; // number of bytes a goto command requires
|
||||
drv_generic_text_real_goto = drv_CF_goto1;
|
||||
drv_generic_text_real_write = drv_CF_write1;
|
||||
drv_generic_text_real_defchar = drv_CF_defchar1;
|
||||
break;
|
||||
case 2:
|
||||
CHAR0 = 0; // ASCII of first user-defineable char
|
||||
GOTO_COST = 20; // there is no goto on 633
|
||||
drv_generic_text_real_goto = drv_CF_goto23;
|
||||
drv_generic_text_real_write = drv_CF_write2;
|
||||
drv_generic_text_real_defchar = drv_CF_defchar23;
|
||||
break;
|
||||
@@ -867,7 +854,6 @@ int drv_CF_init (char *section)
|
||||
CHAR0 = 0; // ASCII of first user-defineable char
|
||||
// Fixme:
|
||||
GOTO_COST = 3; // number of bytes a goto command requires
|
||||
drv_generic_text_real_goto = drv_CF_goto23;
|
||||
drv_generic_text_real_write = drv_CF_write2;
|
||||
drv_generic_text_real_defchar = drv_CF_defchar23;
|
||||
break;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: drv_Cwlinux.c,v 1.3 2004/02/14 11:56:17 reinelt Exp $
|
||||
/* $Id: drv_Cwlinux.c,v 1.4 2004/03/19 09:17:46 reinelt Exp $
|
||||
*
|
||||
* new style driver for Cwlinux display modules
|
||||
*
|
||||
@@ -23,6 +23,11 @@
|
||||
*
|
||||
*
|
||||
* $Log: drv_Cwlinux.c,v $
|
||||
* Revision 1.4 2004/03/19 09:17:46 reinelt
|
||||
*
|
||||
* removed the extra 'goto' function, row and col are additional parameters
|
||||
* of the write() function now.
|
||||
*
|
||||
* Revision 1.3 2004/02/14 11:56:17 reinelt
|
||||
* M50530 driver ported
|
||||
* changed lots of 'char' to 'unsigned char'
|
||||
@@ -95,12 +100,15 @@ static MODEL Models[] = {
|
||||
// *** hardware dependant functions ***
|
||||
// ****************************************
|
||||
|
||||
static void drv_CW_goto (int row, int col)
|
||||
static void drv_CW_write (int row, int col, unsigned char *data, int len)
|
||||
{
|
||||
char cmd[6]="\376Gxy\375";
|
||||
|
||||
cmd[2]=(char)col;
|
||||
cmd[3]=(char)row;
|
||||
drv_generic_serial_write(cmd, 5);
|
||||
drv_generic_serial_write (cmd, 5);
|
||||
|
||||
drv_generic_serial_write (data, len);
|
||||
}
|
||||
|
||||
|
||||
@@ -279,8 +287,7 @@ int drv_CW_init (char *section)
|
||||
GOTO_COST = 3; // number of bytes a goto command requires
|
||||
|
||||
// real worker functions
|
||||
drv_generic_text_real_write = drv_generic_serial_write;
|
||||
drv_generic_text_real_goto = drv_CW_goto;
|
||||
drv_generic_text_real_write = drv_CW_write;
|
||||
|
||||
switch (Protocol) {
|
||||
case 1:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: drv_HD44780.c,v 1.16 2004/03/11 06:39:58 reinelt Exp $
|
||||
/* $Id: drv_HD44780.c,v 1.17 2004/03/19 09:17:46 reinelt Exp $
|
||||
*
|
||||
* new style driver for HD44780-based displays
|
||||
*
|
||||
@@ -29,6 +29,11 @@
|
||||
*
|
||||
*
|
||||
* $Log: drv_HD44780.c,v $
|
||||
* Revision 1.17 2004/03/19 09:17:46 reinelt
|
||||
*
|
||||
* removed the extra 'goto' function, row and col are additional parameters
|
||||
* of the write() function now.
|
||||
*
|
||||
* Revision 1.16 2004/03/11 06:39:58 reinelt
|
||||
* big patch from Martin:
|
||||
* - reuse filehandles
|
||||
@@ -480,9 +485,10 @@ static void drv_HD_goto (int row, int col)
|
||||
}
|
||||
|
||||
|
||||
static void drv_HD_write (unsigned char *string, int len)
|
||||
static void drv_HD_write (int row, int col, unsigned char *data, int len)
|
||||
{
|
||||
drv_HD_data (currController, string, len, T_EXEC);
|
||||
drv_HD_goto (row, col);
|
||||
drv_HD_data (currController, data, len, T_EXEC);
|
||||
}
|
||||
|
||||
|
||||
@@ -730,7 +736,6 @@ int drv_HD_init (char *section)
|
||||
|
||||
// real worker functions
|
||||
drv_generic_text_real_write = drv_HD_write;
|
||||
drv_generic_text_real_goto = drv_HD_goto;
|
||||
drv_generic_text_real_defchar = drv_HD_defchar;
|
||||
|
||||
|
||||
|
||||
34
drv_M50530.c
34
drv_M50530.c
@@ -1,4 +1,4 @@
|
||||
/* $Id: drv_M50530.c,v 1.2 2004/02/15 21:43:43 reinelt Exp $
|
||||
/* $Id: drv_M50530.c,v 1.3 2004/03/19 09:17:46 reinelt Exp $
|
||||
*
|
||||
* new style driver for M50530-based displays
|
||||
*
|
||||
@@ -23,6 +23,11 @@
|
||||
*
|
||||
*
|
||||
* $Log: drv_M50530.c,v $
|
||||
* Revision 1.3 2004/03/19 09:17:46 reinelt
|
||||
*
|
||||
* removed the extra 'goto' function, row and col are additional parameters
|
||||
* of the write() function now.
|
||||
*
|
||||
* Revision 1.2 2004/02/15 21:43:43 reinelt
|
||||
* T6963 driver nearly finished
|
||||
* framework for graphic displays done
|
||||
@@ -122,31 +127,33 @@ static void drv_M5_command (unsigned int cmd, int delay)
|
||||
}
|
||||
|
||||
|
||||
static void drv_M5_write (unsigned char *string, int len)
|
||||
static void drv_M5_write (int row, int col, unsigned char *data, int len)
|
||||
{
|
||||
unsigned int cmd;
|
||||
|
||||
unsigned int pos;
|
||||
|
||||
pos=row*48+col;
|
||||
if (row>3) pos-=168;
|
||||
drv_M5_command (0x300|pos, 20);
|
||||
|
||||
while (len--) {
|
||||
cmd=*string++;
|
||||
cmd=*data++;
|
||||
drv_M5_command (0x100|cmd, 20);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void drv_M5_goto (int row, int col)
|
||||
{
|
||||
int pos=row*48+col;
|
||||
if (row>3) pos-=168;
|
||||
drv_M5_command (0x300|pos, 20);
|
||||
}
|
||||
|
||||
|
||||
static void drv_M5_defchar (int ascii, unsigned char *buffer)
|
||||
{
|
||||
int i;
|
||||
|
||||
drv_M5_command (0x300+192+8*(ascii-CHAR0), 20);
|
||||
|
||||
// Fixme: looks like the M50530 cannot control the bottom line
|
||||
// therefore we have only 7 bytes here
|
||||
drv_M5_write (buffer, 7);
|
||||
for (i=0; i<7; i++) {
|
||||
drv_M5_command (0x100|buffer[i], 20);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -283,7 +290,6 @@ int drv_M5_init (char *section)
|
||||
|
||||
// real worker functions
|
||||
drv_generic_text_real_write = drv_M5_write;
|
||||
drv_generic_text_real_goto = drv_M5_goto;
|
||||
drv_generic_text_real_defchar = drv_M5_defchar;
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: drv_MatrixOrbital.c,v 1.20 2004/02/14 11:56:17 reinelt Exp $
|
||||
/* $Id: drv_MatrixOrbital.c,v 1.21 2004/03/19 09:17:46 reinelt Exp $
|
||||
*
|
||||
* new style driver for Matrix Orbital serial display modules
|
||||
*
|
||||
@@ -23,6 +23,11 @@
|
||||
*
|
||||
*
|
||||
* $Log: drv_MatrixOrbital.c,v $
|
||||
* Revision 1.21 2004/03/19 09:17:46 reinelt
|
||||
*
|
||||
* removed the extra 'goto' function, row and col are additional parameters
|
||||
* of the write() function now.
|
||||
*
|
||||
* Revision 1.20 2004/02/14 11:56:17 reinelt
|
||||
* M50530 driver ported
|
||||
* changed lots of 'char' to 'unsigned char'
|
||||
@@ -187,12 +192,15 @@ static MODEL Models[] = {
|
||||
// *** hardware dependant functions ***
|
||||
// ****************************************
|
||||
|
||||
static void drv_MO_goto (int row, int col)
|
||||
static void drv_MO_write (int row, int col, unsigned char *data, int len)
|
||||
{
|
||||
char cmd[5]="\376Gyx";
|
||||
|
||||
cmd[2]=(char)col+1;
|
||||
cmd[3]=(char)row+1;
|
||||
drv_generic_serial_write(cmd,4);
|
||||
|
||||
drv_generic_serial_write (data, len);
|
||||
}
|
||||
|
||||
|
||||
@@ -468,8 +476,7 @@ int drv_MO_init (char *section)
|
||||
GOTO_COST=4; // number of bytes a goto command requires
|
||||
|
||||
// real worker functions
|
||||
drv_generic_text_real_write = drv_generic_serial_write;
|
||||
drv_generic_text_real_goto = drv_MO_goto;
|
||||
drv_generic_text_real_write = drv_MO_write;
|
||||
drv_generic_text_real_defchar = drv_MO_defchar;
|
||||
|
||||
|
||||
|
||||
38
drv_USBLCD.c
38
drv_USBLCD.c
@@ -1,4 +1,4 @@
|
||||
/* $Id: drv_USBLCD.c,v 1.1 2004/02/15 08:22:47 reinelt Exp $
|
||||
/* $Id: drv_USBLCD.c,v 1.2 2004/03/19 09:17:46 reinelt Exp $
|
||||
*
|
||||
* new style driver for USBLCD displays
|
||||
*
|
||||
@@ -26,6 +26,11 @@
|
||||
*
|
||||
*
|
||||
* $Log: drv_USBLCD.c,v $
|
||||
* Revision 1.2 2004/03/19 09:17:46 reinelt
|
||||
*
|
||||
* removed the extra 'goto' function, row and col are additional parameters
|
||||
* of the write() function now.
|
||||
*
|
||||
* Revision 1.1 2004/02/15 08:22:47 reinelt
|
||||
* ported USBLCD driver to NextGeneration
|
||||
* added drv_M50530.c (I forgot yesterday, sorry)
|
||||
@@ -109,28 +114,30 @@ static void drv_UL_command (unsigned char cmd)
|
||||
}
|
||||
|
||||
|
||||
static void drv_UL_write (unsigned char *string, int len)
|
||||
{
|
||||
while (len--) {
|
||||
if(*string==0) *BufPtr++=*string;
|
||||
*BufPtr++=*string++;
|
||||
}
|
||||
drv_UL_send();
|
||||
}
|
||||
|
||||
|
||||
static void drv_UL_goto (int row, int col)
|
||||
static void drv_UL_write (int row, int col, unsigned char *data, int len)
|
||||
{
|
||||
int pos=(row%2)*64+(row/2)*20+col;
|
||||
drv_UL_command (0x80|pos);
|
||||
}
|
||||
|
||||
while (len--) {
|
||||
if(*data==0) *BufPtr++=*data;
|
||||
*BufPtr++=*data++;
|
||||
}
|
||||
|
||||
drv_UL_send();
|
||||
}
|
||||
|
||||
static void drv_UL_defchar (int ascii, unsigned char *buffer)
|
||||
{
|
||||
int i;
|
||||
|
||||
drv_UL_command (0x40|8*ascii);
|
||||
drv_UL_write (buffer, 8);
|
||||
// drv_UL_write() will call drv_UL_send(), so don't call it here!
|
||||
|
||||
for (i=0; i<8; i++) {
|
||||
*BufPtr++ = *buffer++;
|
||||
}
|
||||
|
||||
drv_UL_send();
|
||||
}
|
||||
|
||||
|
||||
@@ -283,7 +290,6 @@ int drv_UL_init (char *section)
|
||||
|
||||
// real worker functions
|
||||
drv_generic_text_real_write = drv_UL_write;
|
||||
drv_generic_text_real_goto = drv_UL_goto;
|
||||
drv_generic_text_real_defchar = drv_UL_defchar;
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: drv_generic_text.c,v 1.12 2004/03/03 03:47:04 reinelt Exp $
|
||||
/* $Id: drv_generic_text.c,v 1.13 2004/03/19 09:17:46 reinelt Exp $
|
||||
*
|
||||
* generic driver helper for text-based displays
|
||||
*
|
||||
@@ -23,6 +23,11 @@
|
||||
*
|
||||
*
|
||||
* $Log: drv_generic_text.c,v $
|
||||
* Revision 1.13 2004/03/19 09:17:46 reinelt
|
||||
*
|
||||
* removed the extra 'goto' function, row and col are additional parameters
|
||||
* of the write() function now.
|
||||
*
|
||||
* Revision 1.12 2004/03/03 03:47:04 reinelt
|
||||
* big patch from Martin Hejl:
|
||||
* - use qprintf() where appropriate
|
||||
@@ -211,7 +216,7 @@ int drv_generic_text_draw (WIDGET *W)
|
||||
{
|
||||
WIDGET_TEXT *Text=W->data;
|
||||
char *txt, *fb1, *fb2;
|
||||
int row, col, len, end;
|
||||
int row, col, col0, len, end;
|
||||
|
||||
row=W->row;
|
||||
col=W->col;
|
||||
@@ -232,7 +237,7 @@ int drv_generic_text_draw (WIDGET *W)
|
||||
for (; col<=end && col<DCOLS; col++) {
|
||||
int pos1, pos2, equal;
|
||||
if (fb1[col]==fb2[col]) continue;
|
||||
drv_generic_text_real_goto (row, col);
|
||||
col0 = col;
|
||||
for (pos1=col, pos2=pos1, col++, equal=0; col<=end && col<DCOLS; col++) {
|
||||
if (fb1[col]==fb2[col]) {
|
||||
// If we find just one equal byte, we don't break, because this
|
||||
@@ -243,8 +248,8 @@ int drv_generic_text_draw (WIDGET *W)
|
||||
equal=0;
|
||||
}
|
||||
}
|
||||
memcpy (fb2+pos1, fb1+pos1, pos2-pos1+1);
|
||||
drv_generic_text_real_write (fb2+pos1, pos2-pos1+1);
|
||||
memcpy ( fb2+pos1, fb1+pos1, pos2-pos1+1);
|
||||
drv_generic_text_real_write (row, col0, fb2+pos1, pos2-pos1+1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -297,8 +302,7 @@ int drv_generic_text_icon_draw (WIDGET *W)
|
||||
// maybe send icon to the display
|
||||
if (DisplayFB[row*DCOLS+col]!=ascii) {
|
||||
DisplayFB[row*DCOLS+col]=ascii;
|
||||
drv_generic_text_real_goto (row, col);
|
||||
drv_generic_text_real_write (DisplayFB+row*DCOLS+col, 1);
|
||||
drv_generic_text_real_write (row, col, DisplayFB+row*DCOLS+col, 1);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -577,7 +581,7 @@ static void drv_generic_text_bar_define_chars(void)
|
||||
int drv_generic_text_bar_draw (WIDGET *W)
|
||||
{
|
||||
WIDGET_BAR *Bar = W->data;
|
||||
int row, col, len, res, max, val1, val2;
|
||||
int row, col, col0, len, res, max, val1, val2;
|
||||
int c, n, s;
|
||||
DIRECTION dir;
|
||||
|
||||
@@ -639,7 +643,7 @@ int drv_generic_text_bar_draw (WIDGET *W)
|
||||
for (col=0; col<DCOLS; col++) {
|
||||
int pos1, pos2, equal;
|
||||
if (LayoutFB[row*LCOLS+col]==DisplayFB[row*DCOLS+col]) continue;
|
||||
drv_generic_text_real_goto (row, col);
|
||||
col0 = col;
|
||||
for (pos1=col, pos2=pos1, col++, equal=0; col<DCOLS; col++) {
|
||||
if (LayoutFB[row*LCOLS+col]==DisplayFB[row*DCOLS+col]) {
|
||||
// If we find just one equal byte, we don't break, because this
|
||||
@@ -650,8 +654,8 @@ int drv_generic_text_bar_draw (WIDGET *W)
|
||||
equal=0;
|
||||
}
|
||||
}
|
||||
memcpy (DisplayFB+row*DCOLS+pos1, LayoutFB+row*LCOLS+pos1, pos2-pos1+1);
|
||||
drv_generic_text_real_write (DisplayFB+row*DCOLS+pos1, pos2-pos1+1);
|
||||
memcpy ( DisplayFB+row*DCOLS+pos1, LayoutFB+row*LCOLS+pos1, pos2-pos1+1);
|
||||
drv_generic_text_real_write (row, col0, DisplayFB+row*DCOLS+pos1, pos2-pos1+1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: drv_generic_text.h,v 1.7 2004/02/18 06:39:20 reinelt Exp $
|
||||
/* $Id: drv_generic_text.h,v 1.8 2004/03/19 09:17:46 reinelt Exp $
|
||||
*
|
||||
* generic driver helper for text-based displays
|
||||
*
|
||||
@@ -23,6 +23,11 @@
|
||||
*
|
||||
*
|
||||
* $Log: drv_generic_text.h,v $
|
||||
* Revision 1.8 2004/03/19 09:17:46 reinelt
|
||||
*
|
||||
* removed the extra 'goto' function, row and col are additional parameters
|
||||
* of the write() function now.
|
||||
*
|
||||
* Revision 1.7 2004/02/18 06:39:20 reinelt
|
||||
* T6963 driver for graphic displays finished
|
||||
*
|
||||
@@ -76,8 +81,7 @@ extern int CHARS, CHAR0; // number of user-defineable characters, ASCII of first
|
||||
extern int ICONS; // number of user-defineable characters reserved for icons
|
||||
|
||||
// these functions must be implemented by the real driver
|
||||
void (*drv_generic_text_real_goto)(int row, int col);
|
||||
void (*drv_generic_text_real_write)(unsigned char *buffer, int len);
|
||||
void (*drv_generic_text_real_write)(int row, int col, unsigned char *data, int len);
|
||||
void (*drv_generic_text_real_defchar)(int ascii, unsigned char *buffer);
|
||||
|
||||
// generic functions and widget callbacks
|
||||
|
||||
Reference in New Issue
Block a user