aboutsummaryrefslogtreecommitdiffstats
path: root/drv_HD44780.c
diff options
context:
space:
mode:
authorreinelt <>2004-06-02 09:41:19 +0000
committerreinelt <>2004-06-02 09:41:19 +0000
commitbd38ae11ad3a2e784d134014fd37b1d48c3d3579 (patch)
treefac33297acc1a4d6d49c686f0cac8f2139face8e /drv_HD44780.c
parentb718f02e5410321865b8e051ca3f33986e218c43 (diff)
downloadlcd4linux-bd38ae11ad3a2e784d134014fd37b1d48c3d3579.tar.gz
[lcd4linux @ 2004-06-02 09:41:19 by reinelt]
prepared support for startup splash screen
Diffstat (limited to '')
-rw-r--r--drv_HD44780.c50
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) {