Skip to content

Commit d8ce1d7

Browse files
author
reinelt
committed
[lcd4linux @ 2004-06-05 06:13:11 by reinelt]
splash screen for all text-based display drivers git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@463 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
1 parent edad39d commit d8ce1d7

9 files changed

+327
-69
lines changed

drv_BeckmannEgle.c

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $Id: drv_BeckmannEgle.c,v 1.4 2004/06/02 09:41:19 reinelt Exp $
1+
/* $Id: drv_BeckmannEgle.c,v 1.5 2004/06/05 06:13:11 reinelt Exp $
22
*
33
* driver for Beckmann+Egle mini terminals
44
* Copyright 2000 Michael Reinelt <reinelt@eunet.at>
@@ -22,6 +22,10 @@
2222
*
2323
*
2424
* $Log: drv_BeckmannEgle.c,v $
25+
* Revision 1.5 2004/06/05 06:13:11 reinelt
26+
*
27+
* splash screen for all text-based display drivers
28+
*
2529
* Revision 1.4 2004/06/02 09:41:19 reinelt
2630
*
2731
* prepared support for startup splash screen
@@ -60,6 +64,7 @@
6064

6165
#include "debug.h"
6266
#include "cfg.h"
67+
#include "qprintf.h"
6368
#include "plugin.h"
6469
#include "widget.h"
6570
#include "widget_text.h"
@@ -138,7 +143,13 @@ static void drv_BE_defchar (int ascii, unsigned char *matrix)
138143
}
139144

140145

141-
static int drv_BE_start (char *section)
146+
static void drv_BE_clear (void)
147+
{
148+
drv_generic_serial_write ("\033&#", 3); // clear
149+
}
150+
151+
152+
static int drv_BE_start (char *section, int quiet)
142153
{
143154
int i;
144155
char *model;
@@ -170,8 +181,17 @@ static int drv_BE_start (char *section)
170181
buffer[4] = Models[Model].type;
171182
drv_generic_serial_write (buffer, 4); // select display type
172183
drv_generic_serial_write ("\033&D", 3); // cursor off
173-
drv_generic_serial_write ("\033&#", 3); // clear
174184

185+
drv_BE_clear();
186+
187+
if (!quiet) {
188+
char buffer[40];
189+
qprintf(buffer, sizeof(buffer), "B+E %s", Models[Model].name);
190+
if (drv_generic_text_greet (buffer)) {
191+
sleep (3);
192+
drv_BE_clear();
193+
}
194+
}
175195
return 0;
176196
}
177197

@@ -228,7 +248,7 @@ int drv_BE_init (char *section, int quiet)
228248

229249

230250
// start display
231-
if ((ret=drv_BE_start (section))!=0)
251+
if ((ret=drv_BE_start (section, quiet))!=0)
232252
return ret;
233253

234254
// initialize generic text driver
@@ -273,9 +293,17 @@ int drv_BE_init (char *section, int quiet)
273293
int drv_BE_quit (void) {
274294

275295
info("%s: shutting down.", Name);
276-
drv_generic_serial_close();
296+
277297
drv_generic_text_quit();
278298

299+
// clear display
300+
drv_BE_clear();
301+
302+
// say goodbye...
303+
drv_generic_text_greet ("goodbye!");
304+
305+
drv_generic_serial_close();
306+
279307
return (0);
280308
}
281309

drv_Crystalfontz.c

Lines changed: 52 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $Id: drv_Crystalfontz.c,v 1.23 2004/06/02 09:41:19 reinelt Exp $
1+
/* $Id: drv_Crystalfontz.c,v 1.24 2004/06/05 06:13:11 reinelt Exp $
22
*
33
* new style driver for Crystalfontz display modules
44
*
@@ -23,6 +23,10 @@
2323
*
2424
*
2525
* $Log: drv_Crystalfontz.c,v $
26+
* Revision 1.24 2004/06/05 06:13:11 reinelt
27+
*
28+
* splash screen for all text-based display drivers
29+
*
2630
* Revision 1.23 2004/06/02 09:41:19 reinelt
2731
*
2832
* prepared support for startup splash screen
@@ -135,6 +139,7 @@
135139

136140
#include "debug.h"
137141
#include "cfg.h"
142+
#include "qprintf.h"
138143
#include "timer.h"
139144
#include "plugin.h"
140145
#include "widget.h"
@@ -667,6 +672,21 @@ static int drv_CF_scan_DOW (unsigned char index)
667672
}
668673

669674

675+
// clear display
676+
static void drv_CF_clear (void)
677+
{
678+
switch (Protocol) {
679+
case 1:
680+
drv_generic_serial_write ("\014", 1);
681+
break;
682+
case 2:
683+
case 3:
684+
drv_CF_send ( 6, 0, NULL);
685+
break;
686+
}
687+
}
688+
689+
670690
// init sequences for 626, 632, 634, 636
671691
static void drv_CF_start_1 (void)
672692
{
@@ -780,25 +800,30 @@ static int drv_CF_start (char *section)
780800
Protocol = Models[Model].protocol;
781801
Payload = Models[Model].payload;
782802

783-
// regularly process display answers
784-
// Fixme: make 100msec configurable
785-
timer_add (drv_CF_timer, NULL, 100, 0);
786803

787804
switch (Protocol) {
805+
788806
case 1:
789807
drv_CF_start_1();
790808
break;
809+
791810
case 2:
811+
// regularly process display answers
812+
// Fixme: make 100msec configurable
813+
timer_add (drv_CF_timer, NULL, 100, 0);
792814
drv_CF_start_2();
815+
// clear 633 linebuffer
816+
memset (Line, ' ', sizeof(Line));
793817
break;
818+
794819
case 3:
820+
// regularly process display answers
821+
// Fixme: make 100msec configurable
822+
timer_add (drv_CF_timer, NULL, 100, 0);
795823
drv_CF_start_3();
796824
break;
797825
}
798826

799-
// clear 633 linebuffer
800-
memset (Line, ' ', sizeof(Line));
801-
802827
// set contrast
803828
if (cfg_number(section, "Contrast", 0, 0, 255, &i)>0) {
804829
drv_CF_contrast(i);
@@ -914,8 +939,9 @@ int drv_CF_init (char *section, int quiet)
914939
int ret;
915940

916941
// start display
917-
if ((ret=drv_CF_start (section))!=0)
942+
if ((ret = drv_CF_start (section)) != 0) {
918943
return ret;
944+
}
919945

920946
// display preferences
921947
XRES = 6; // pixel width of one char
@@ -944,6 +970,15 @@ int drv_CF_init (char *section, int quiet)
944970
break;
945971
}
946972

973+
if (!quiet) {
974+
char buffer[40];
975+
qprintf(buffer, sizeof(buffer), "%s %s", Name, Models[Model].name);
976+
if (drv_generic_text_greet (buffer)) {
977+
sleep (3);
978+
drv_CF_clear();
979+
}
980+
}
981+
947982
// initialize generic text driver
948983
if ((ret=drv_generic_text_init(section, Name))!=0)
949984
return ret;
@@ -991,8 +1026,16 @@ int drv_CF_init (char *section, int quiet)
9911026
int drv_CF_quit (void) {
9921027

9931028
info("%s: shutting down.", Name);
994-
drv_generic_serial_close();
1029+
9951030
drv_generic_text_quit();
1031+
1032+
// clear display
1033+
drv_CF_clear();
1034+
1035+
// say goodbye...
1036+
drv_generic_text_greet ("goodbye!");
1037+
1038+
drv_generic_serial_close();
9961039

9971040
return (0);
9981041
}

drv_Curses.c

Lines changed: 35 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $Id: drv_Curses.c,v 1.2 2004/06/02 09:41:19 reinelt Exp $
1+
/* $Id: drv_Curses.c,v 1.3 2004/06/05 06:13:11 reinelt Exp $
22
*
33
* pure ncurses based text driver
44
*
@@ -26,6 +26,10 @@
2626
*
2727
*
2828
* $Log: drv_Curses.c,v $
29+
* Revision 1.3 2004/06/05 06:13:11 reinelt
30+
*
31+
* splash screen for all text-based display drivers
32+
*
2933
* Revision 1.2 2004/06/02 09:41:19 reinelt
3034
*
3135
* prepared support for startup splash screen
@@ -55,6 +59,7 @@
5559

5660
#include "debug.h"
5761
#include "cfg.h"
62+
#include "qprintf.h"
5863
#include "plugin.h"
5964
#include "widget.h"
6065
#include "widget_text.h"
@@ -75,6 +80,14 @@ static int EROWS;
7580
// *** hardware dependant functions ***
7681
// ****************************************
7782

83+
static void drv_Curs_clear (void)
84+
{
85+
werase (w);
86+
box (w, 0, 0);
87+
wrefresh (w);
88+
}
89+
90+
7891
static void drv_Curs_write (int row, int col, unsigned char *data, int len)
7992
{
8093
char *p;
@@ -86,7 +99,6 @@ static void drv_Curs_write (int row, int col, unsigned char *data, int len)
8699
if (col < DCOLS) {
87100
if (DCOLS-col < len ) len = DCOLS-col;
88101
mvwprintw(w, row+1 , col+1, "%.*s", DCOLS-col, data);
89-
box(w, 0, 0);
90102
wmove(w, DROWS+1, 0);
91103
wrefresh(w);
92104
}
@@ -141,7 +153,7 @@ int curses_error(char *buffer)
141153
}
142154

143155

144-
static int drv_Curs_start (char *section)
156+
static int drv_Curs_start (char *section, int quiet)
145157
{
146158
char *s;
147159

@@ -181,10 +193,17 @@ static int drv_Curs_start (char *section)
181193
wrefresh(e);
182194
}
183195

184-
werase (w);
185-
box (w, 0, 0);
186-
wrefresh (w);
196+
drv_Curs_clear();
187197

198+
if (!quiet) {
199+
char buffer[40];
200+
qprintf(buffer, sizeof(buffer), "%s %dx%d", Name, DCOLS, DROWS);
201+
if (drv_generic_text_greet (buffer)) {
202+
sleep (3);
203+
drv_Curs_clear();
204+
}
205+
}
206+
188207
return 0;
189208
}
190209

@@ -235,8 +254,9 @@ int drv_Curs_init (char *section, int quiet)
235254
drv_generic_text_real_defchar = drv_Curs_defchar;
236255

237256
// start display
238-
if ((ret = drv_Curs_start (section)) != 0)
257+
if ((ret = drv_Curs_start (section, quiet)) != 0) {
239258
return ret;
259+
}
240260

241261
// initialize generic text driver
242262
if ((ret = drv_generic_text_init(section, Name)) != 0)
@@ -271,7 +291,15 @@ int drv_Curs_init (char *section, int quiet)
271291
int drv_Curs_quit (void) {
272292

273293
info("%s: shutting down.", Name);
294+
274295
drv_generic_text_quit();
296+
297+
// clear display
298+
drv_Curs_clear();
299+
300+
// say goodbye...
301+
drv_generic_text_greet ("goodbye!");
302+
275303
endwin();
276304

277305
return (0);

0 commit comments

Comments
 (0)