mirror of
https://github.com/netfun2000/lcd4linux.git
synced 2026-02-27 09:44:34 +08:00
[lcd4linux @ 2001-03-14 16:47:41 by reinelt]
minor cleanups git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@120 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
This commit is contained in:
@@ -3,6 +3,12 @@ Herbert Rosmanith <herp@wildsau.idv-edu.uni-linz.ac.at>
|
||||
CrystalFontz driver
|
||||
lots of ideas and bugfixes
|
||||
|
||||
Leopold Tötsch <lt@toetsch.at>
|
||||
PNG driver
|
||||
POP & IMAP client
|
||||
simple web interface
|
||||
lots of (well, sometimes too much :-) ideas
|
||||
|
||||
Michael Mueller <m.mueller@netsystec.de>
|
||||
support for Beckmann & Egle driver
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: HD44780.c,v 1.16 2001/03/14 15:30:53 reinelt Exp $
|
||||
/* $Id: HD44780.c,v 1.17 2001/03/14 16:47:41 reinelt Exp $
|
||||
*
|
||||
* driver for display modules based on the HD44780 chip
|
||||
*
|
||||
@@ -20,6 +20,9 @@
|
||||
*
|
||||
*
|
||||
* $Log: HD44780.c,v $
|
||||
* Revision 1.17 2001/03/14 16:47:41 reinelt
|
||||
* minor cleanups
|
||||
*
|
||||
* Revision 1.16 2001/03/14 15:30:53 reinelt
|
||||
*
|
||||
* make ppdev compatible to earlier kernels
|
||||
@@ -219,19 +222,18 @@ static void HD_command (unsigned char cmd, int delay)
|
||||
// wait
|
||||
udelay(delay);
|
||||
|
||||
} else {
|
||||
} else
|
||||
|
||||
#endif
|
||||
|
||||
outb (cmd, Port); // put data on DB1..DB8
|
||||
outb (0x02, Port+2); // set Enable = bit 0 invertet
|
||||
udelay (1);
|
||||
outb (0x03, Port+2); // clear Enable
|
||||
udelay (delay);
|
||||
{
|
||||
outb (cmd, Port); // put data on DB1..DB8
|
||||
outb (0x02, Port+2); // set Enable = bit 0 invertet
|
||||
udelay (1);
|
||||
outb (0x03, Port+2); // clear Enable
|
||||
udelay (delay);
|
||||
|
||||
#ifdef WITH_PPDEV
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
static void HD_write (char *string, int len, int delay)
|
||||
@@ -259,26 +261,27 @@ static void HD_write (char *string, int len, int delay)
|
||||
udelay(delay);
|
||||
}
|
||||
|
||||
} else {
|
||||
} else
|
||||
|
||||
#endif
|
||||
|
||||
while (len--) {
|
||||
outb (*string++, Port); // put data on DB1..DB8
|
||||
outb (0x00, Port+2); // set Enable = bit 0 invertet
|
||||
udelay (1);
|
||||
outb (0x01, Port+2); // clear Enable
|
||||
udelay (delay);
|
||||
{
|
||||
while (len--) {
|
||||
outb (*string++, Port); // put data on DB1..DB8
|
||||
outb (0x00, Port+2); // set Enable = bit 0 invertet
|
||||
udelay (1);
|
||||
outb (0x01, Port+2); // clear Enable
|
||||
udelay (delay);
|
||||
}
|
||||
}
|
||||
#ifdef WITH_PPDEV
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
static void HD_setGPO (int bits)
|
||||
{
|
||||
if (Lcd.gpos>0) {
|
||||
|
||||
#ifdef WITH_PPDEV
|
||||
|
||||
if (PPdev) {
|
||||
|
||||
// put data on DB1..DB8
|
||||
@@ -287,25 +290,24 @@ static void HD_setGPO (int bits)
|
||||
// toggle INIT
|
||||
HD_toggle(PARPORT_CONTROL_INIT);
|
||||
|
||||
} else {
|
||||
#endif
|
||||
|
||||
outb (bits, Port); // put data on DB1..DB8
|
||||
outb (0x05, Port+2); // set INIT = bit 2 invertet
|
||||
udelay (1);
|
||||
outb (0x03, Port+2); // clear INIT
|
||||
udelay (1);
|
||||
|
||||
#ifdef WITH_PPDEV
|
||||
}
|
||||
} else
|
||||
|
||||
#endif
|
||||
|
||||
{
|
||||
outb (bits, Port); // put data on DB1..DB8
|
||||
outb (0x05, Port+2); // set INIT = bit 2 invertet
|
||||
udelay (1);
|
||||
outb (0x03, Port+2); // clear INIT
|
||||
udelay (1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static int HD_open (void)
|
||||
{
|
||||
|
||||
#ifdef WITH_PPDEV
|
||||
|
||||
if (PPdev) {
|
||||
debug ("using ppdev %s", PPdev);
|
||||
PPfd=open(PPdev, O_RDWR);
|
||||
@@ -313,7 +315,9 @@ static int HD_open (void)
|
||||
error ("open(%s) failed: %s", PPdev, strerror(errno));
|
||||
return -1;
|
||||
}
|
||||
|
||||
#if 0
|
||||
// FIXME: This doesn't work for some reason...
|
||||
if (ioctl(PPfd, PPEXCL)) {
|
||||
error ("ioctl(%s, PPEXCL) failed: %s", PPdev, strerror(errno));
|
||||
return -1;
|
||||
@@ -323,17 +327,18 @@ static int HD_open (void)
|
||||
error ("ioctl(%s, PPCLAIM) failed: %s", PPdev, strerror(errno));
|
||||
return -1;
|
||||
}
|
||||
} else {
|
||||
#endif
|
||||
debug ("using raw port 0x%x", Port);
|
||||
if (ioperm(Port, 3, 1)!=0) {
|
||||
error ("HD44780: ioperm(0x%x) failed: %s", Port, strerror(errno));
|
||||
return -1;
|
||||
}
|
||||
#ifdef WITH_PPDEV
|
||||
}
|
||||
} else
|
||||
|
||||
#endif
|
||||
|
||||
{
|
||||
debug ("using raw port 0x%x", Port);
|
||||
if (ioperm(Port, 3, 1)!=0) {
|
||||
error ("HD44780: ioperm(0x%x) failed: %s", Port, strerror(errno));
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
HD_command (0x30, 4100); // 8 Bit mode, wait 4.1 ms
|
||||
HD_command (0x30, 100); // 8 Bit mode, wait 100 us
|
||||
HD_command (0x30, 4100); // 8 Bit mode, wait 4.1 ms
|
||||
|
||||
@@ -70,3 +70,10 @@ remove USE_OLD_UDELAY after wide testing of new udelay code
|
||||
|
||||
2001-03-14 Leopold Toetsch <lt@toetsch.at>
|
||||
improve unseen for mbox (check Status:)
|
||||
|
||||
2001-03-14 Michael Reinelt <reinelt@eunet.at>
|
||||
add a new Token 'nc' for 'network collisions'
|
||||
|
||||
2001-03-14 Michael Reinelt <reinelt@eunet.at>
|
||||
add translation tables ('german umlauts' don't
|
||||
follow any scheme on most displays)
|
||||
|
||||
Reference in New Issue
Block a user