diff options
author | reinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2004-06-02 09:41:19 +0000 |
---|---|---|
committer | reinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2004-06-02 09:41:19 +0000 |
commit | 246b8539fe86f8e6636e18b65b70da3169dfabd6 (patch) | |
tree | fac33297acc1a4d6d49c686f0cac8f2139face8e /drv_HD44780.c | |
parent | b07a5205b19d8e46596d748af8e070bfd58949e5 (diff) | |
download | lcd4linux-246b8539fe86f8e6636e18b65b70da3169dfabd6.tar.gz |
[lcd4linux @ 2004-06-02 09:41:19 by reinelt]
prepared support for startup splash screen
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@461 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
Diffstat (limited to 'drv_HD44780.c')
-rw-r--r-- | drv_HD44780.c | 50 |
1 files changed, 48 insertions, 2 deletions
diff --git a/drv_HD44780.c b/drv_HD44780.c index 026160a..6833dd9 100644 --- a/drv_HD44780.c +++ b/drv_HD44780.c @@ -1,4 +1,4 @@ -/* $Id: drv_HD44780.c,v 1.24 2004/06/01 06:45:29 reinelt Exp $ +/* $Id: drv_HD44780.c,v 1.25 2004/06/02 09:41:19 reinelt Exp $ * * new style driver for HD44780-based displays * @@ -29,6 +29,10 @@ * * * $Log: drv_HD44780.c,v $ + * Revision 1.25 2004/06/02 09:41:19 reinelt + * + * prepared support for startup splash screen + * * Revision 1.24 2004/06/01 06:45:29 reinelt * * some Fixme's processed @@ -162,6 +166,7 @@ #include "debug.h" #include "cfg.h" #include "udelay.h" +#include "qprintf.h" #include "plugin.h" #include "widget.h" #include "widget_text.h" @@ -770,7 +775,7 @@ int drv_HD_list (void) // initialize driver & display -int drv_HD_init (char *section) +int drv_HD_init (char *section, int quiet) { WIDGET_CLASS wc; int asc255bug; @@ -836,6 +841,47 @@ int drv_HD_init (char *section) } +// say hello to the user +static int drv_HD_greet (int start_stop) +{ + int flag = 0; + char buffer[40]; + char *msg; + + drv_HD_command (allControllers, 0x01, T_CLEAR); // clear *both* displays + + msg = drv_hello (1, DCOLS); + if (msg != NULL) { + drv_HD_write (0, (DCOLS-strlen(msg))/2, msg, strlen(msg)); + flag = 1; + } + + if (DROWS >= 2) { + msg = drv_hello (2, DCOLS); + if (msg != NULL) { + drv_HD_write (1, (DCOLS-strlen(msg))/2, msg, strlen(msg)); + flag = 1; + } + } + + if (DROWS >= 3) { + qprintf(buffer, sizeof(buffer), "HD44780 %dx%d", DCOLS, DROWS); + msg = buffer; + if (strlen(msg) <= DCOLS) { + drv_HD_write (2, (DCOLS-strlen(msg))/2, msg, strlen(msg)); + flag = 1; + } + } + + if (flag && start_stop) { + sleep (3); + drv_HD_command (allControllers, 0x01, T_CLEAR); // clear *both* displays + } + + return 0; +} + + // close driver & display int drv_HD_quit (void) { |