[lcd4linux @ 2000-03-22 15:36:21 by reinelt]

added '-l' switch (list drivers)
generic pixmap driver added
X11 Framework done

git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@16 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
This commit is contained in:
reinelt
2000-03-22 15:36:21 +00:00
parent 6f0d2a7f02
commit 71bb97d178
10 changed files with 1230 additions and 18 deletions
+4 -1
View File
@@ -15,7 +15,10 @@ lcd4linux_SOURCES = \
isdn.c isdn.h \
filter.c filter.h \
display.c display.h \
pixmap.c pixmap.h \
fontmap.c fontmap.h \
Skeleton.c \
MatrixOrbital.c
MatrixOrbital.c \
XWindow.c
+7 -5
View File
@@ -68,7 +68,7 @@ CLEANFILES = *~
AM_CFLAGS = -Wall
bin_PROGRAMS = lcd4linux
lcd4linux_SOURCES = lcd4linux.c cfg.c cfg.h parser.c parser.h processor.c processor.h system.c system.h isdn.c isdn.h filter.c filter.h display.c display.h Skeleton.c MatrixOrbital.c
lcd4linux_SOURCES = lcd4linux.c cfg.c cfg.h parser.c parser.h processor.c processor.h system.c system.h isdn.c isdn.h filter.c filter.h display.c display.h pixmap.c pixmap.h fontmap.c fontmap.h Skeleton.c MatrixOrbital.c XWindow.c
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -81,7 +81,8 @@ CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
lcd4linux_OBJECTS = lcd4linux.o cfg.o parser.o processor.o system.o \
isdn.o filter.o display.o Skeleton.o MatrixOrbital.o
isdn.o filter.o display.o pixmap.o fontmap.o Skeleton.o MatrixOrbital.o \
XWindow.o
lcd4linux_LDADD = $(LDADD)
lcd4linux_DEPENDENCIES =
lcd4linux_LDFLAGS =
@@ -97,9 +98,10 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
GZIP_ENV = --best
DEP_FILES = .deps/MatrixOrbital.P .deps/Skeleton.P .deps/cfg.P \
.deps/display.P .deps/filter.P .deps/isdn.P .deps/lcd4linux.P \
.deps/parser.P .deps/processor.P .deps/system.P
DEP_FILES = .deps/MatrixOrbital.P .deps/Skeleton.P .deps/XWindow.P \
.deps/cfg.P .deps/display.P .deps/filter.P .deps/fontmap.P .deps/isdn.P \
.deps/lcd4linux.P .deps/parser.P .deps/pixmap.P .deps/processor.P \
.deps/system.P
SOURCES = $(lcd4linux_SOURCES)
OBJECTS = $(lcd4linux_OBJECTS)
+115
View File
@@ -0,0 +1,115 @@
/* $Id: XWindow.c,v 1.1 2000/03/22 15:36:21 reinelt Exp $
*
* driver for X11
*
* Copyright 1999, 2000 by Michael Reinelt (reinelt@eunet.at)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*
* $Log: XWindow.c,v $
* Revision 1.1 2000/03/22 15:36:21 reinelt
*
* added '-l' switch (list drivers)
* generic pixmap driver added
* X11 Framework done
*
*/
/*
*
* exported fuctions:
*
* struct DISPLAY XWindow[]
*
*/
#include <stdlib.h>
#include <stdio.h>
#include "cfg.h"
#include "display.h"
#include "pixmap.h"
#define BARS ( BAR_L | BAR_R | BAR_U | BAR_D | BAR_H2 | BAR_V2 )
static DISPLAY Display;
int X_flush (void)
{
int r, c;
for (r=0; r<Display.rows*Display.yres; r++) {
for (c=0; c<Display.cols*Display.xres; c++) {
printf ("%c", Pixmap[r*Display.cols*Display.xres+c] ? '#':'.');
}
printf ("\n");
}
printf ("\n");
return 0;
}
int X_clear (void)
{
if (pix_clear()!=0)
return -1;
if (X_flush()!=0)
return -1;
return 0;
}
int X_init (DISPLAY *Self)
{
int rows=-1;
int cols=-1;
rows=atoi(cfg_get("rows"));
cols=atoi(cfg_get("columns"));
if (rows<1 || cols<1) {
fprintf (stderr, "X11: incorrect number of rows or columns\n");
return -1;
}
if (pix_init (rows, cols)!=0) {
fprintf (stderr, "X11: pix_init(%d, %d) failed\n", rows, cols);
return -1;
}
Self->rows=rows;
Self->cols=cols;
Display=*Self;
pix_clear();
return 0;
}
int X_put (int row, int col, char *text)
{
return pix_put (row, col, text);
}
int X_bar (int type, int row, int col, int max, int len1, int len2)
{
return pix_bar (type, row, col, max, len1, len2);
}
DISPLAY XWindow[] = {
{ "X11", 0, 0, XRES, YRES, BARS, X_init, X_clear, X_put, X_bar, X_flush },
{ "" }
};
+30 -3
View File
@@ -1,4 +1,4 @@
/* $Id: display.c,v 1.8 2000/03/19 08:41:28 reinelt Exp $
/* $Id: display.c,v 1.9 2000/03/22 15:36:21 reinelt Exp $
*
* framework for device drivers
*
@@ -20,6 +20,12 @@
*
*
* $Log: display.c,v $
* Revision 1.9 2000/03/22 15:36:21 reinelt
*
* added '-l' switch (list drivers)
* generic pixmap driver added
* X11 Framework done
*
* Revision 1.8 2000/03/19 08:41:28 reinelt
*
* documentation available! README, README.MatrixOrbital, README.Drivers
@@ -58,6 +64,9 @@
/*
* exported functions:
*
* lcd_list (void)
* lists all available drivers to stdout
*
* lcd_init (char *display)
* initializes the named driver
*
@@ -87,16 +96,34 @@
extern DISPLAY Skeleton[];
extern DISPLAY MatrixOrbital[];
extern DISPLAY XWindow[];
FAMILY Driver[] = {
{ "Skeleton", Skeleton },
{ "MatrixOrbital", MatrixOrbital },
{ "Skeleton", Skeleton },
{ "Matrix Orbital", MatrixOrbital },
{ "X Window System", XWindow },
{ "" }
};
static DISPLAY *Display = NULL;
int lcd_list (void)
{
int i, j;
printf ("available display drivers:");
for (i=0; Driver[i].name[0]; i++) {
printf ("\n %-16s:", Driver[i].name);
for (j=0; Driver[i].Display[j].name[0]; j++) {
printf (" %s", Driver[i].Display[j].name);
}
}
printf ("\n");
return 0;
}
int lcd_init (char *display)
{
int i, j;
+8 -1
View File
@@ -1,4 +1,4 @@
/* $Id: display.h,v 1.7 2000/03/17 09:21:42 reinelt Exp $
/* $Id: display.h,v 1.8 2000/03/22 15:36:21 reinelt Exp $
*
* framework for device drivers
*
@@ -20,6 +20,12 @@
*
*
* $Log: display.h,v $
* Revision 1.8 2000/03/22 15:36:21 reinelt
*
* added '-l' switch (list drivers)
* generic pixmap driver added
* X11 Framework done
*
* Revision 1.7 2000/03/17 09:21:42 reinelt
*
* various memory statistics added
@@ -81,6 +87,7 @@ typedef struct {
DISPLAY *Display;
} FAMILY;
int lcd_list (void);
int lcd_init (char *display);
int lcd_query (int *rows, int *cols, int *xres, int *yres, int *bars);
int lcd_clear (void);
+837
View File
@@ -0,0 +1,837 @@
/* $Id: fontmap.c,v 1.1 2000/03/22 15:36:21 reinelt Exp $
*
* 5x8 font
*
* Copyright 1999, 2000 by Michael Reinelt (reinelt@eunet.at)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*
* $Log: fontmap.c,v $
* Revision 1.1 2000/03/22 15:36:21 reinelt
*
* added '-l' switch (list drivers)
* generic pixmap driver added
* X11 Framework done
*
*/
#include "pixmap.h"
#include "fontmap.h"
#define b______ 0x00
#define b_____O 0x01
#define b____O_ 0x02
#define b____OO 0x03
#define b___O__ 0x04
#define b___O_O 0x05
#define b___OO_ 0x06
#define b___OOO 0x07
#define b__O___ 0x08
#define b__O__O 0x09
#define b__O_O_ 0x0a
#define b__O_OO 0x0b
#define b__OO__ 0x0c
#define b__OO_O 0x0d
#define b__OOO_ 0x0e
#define b__OOOO 0x0f
#define b_O____ 0x10
#define b_O___O 0x11
#define b_O__O_ 0x12
#define b_O__OO 0x13
#define b_O_O__ 0x14
#define b_O_O_O 0x15
#define b_O_OO_ 0x16
#define b_O_OOO 0x17
#define b_OO___ 0x18
#define b_OO__O 0x19
#define b_OO_O_ 0x1a
#define b_OO_OO 0x1b
#define b_OOO__ 0x1c
#define b_OOO_O 0x1d
#define b_OOOO_ 0x1e
#define b_OOOOO 0x1f
unsigned char Fontmap[256][8]={
[0x20] { b______,
b______,
b______,
b______,
b______,
b______,
b______,
b______ },
[0x21] { b___O__,
b___O__,
b___O__,
b___O__,
b______,
b______,
b___O__,
b______ },
[0x22] { b__O_O_,
b__O_O_,
b__O_O_,
b______,
b______,
b______,
b______,
b______ },
[0x23] { b__O_O_,
b__O_O_,
b_OOOOO,
b__O_O_,
b_OOOOO,
b__O_O_,
b__O_O_,
b______ },
[0x24] { b___O__,
b__OOOO,
b_O_O__,
b__OOO_,
b___O_O,
b_OOOO_,
b___O__,
b______ },
[0x25] { b_OO___,
b_OO__O,
b____O_,
b___O__,
b__O___,
b_O__OO,
b____OO,
b______ },
[0x26] { b__OO__,
b_O__O_,
b_O_O__,
b__O___,
b_O_O_O,
b_O__O_,
b__OO_O,
b______ },
[0x27] { b__OO__,
b___O__,
b__O___,
b______,
b______,
b______,
b______,
b______ },
[0x28] { b____O_,
b___O__,
b__O___,
b__O___,
b__O___,
b___O__,
b____O_,
b______ },
[0x29] { b__O___,
b___O__,
b____O_,
b____O_,
b____O_,
b___O__,
b__O___,
b______ },
[0x2a] { b______,
b___O__,
b_O_O_O,
b__OOO_,
b_O_O_O,
b___O__,
b______,
b______ },
[0x2b] { b______,
b___O__,
b___O__,
b_OOOOO,
b___O__,
b___O__,
b______,
b______ },
[0x2c] { b______,
b______,
b______,
b______,
b__OO__,
b___O__,
b__O___,
b______ },
[0x2d] { b______,
b______,
b______,
b_OOOOO,
b______,
b______,
b______,
b______ },
[0x2e] { b______,
b______,
b______,
b______,
b______,
b__OO__,
b__OO__,
b______ },
[0x2f] { b______,
b_____O,
b____O_,
b___O__,
b__O___,
b_O____,
b______,
b______ },
[0x30] { b__OOO_,
b_O___O,
b_O__OO,
b_O_O_O,
b_OO__O,
b_O___O,
b__OOO_,
b______ },
[0x31] { b___O__,
b__OO__,
b___O__,
b___O__,
b___O__,
b___O__,
b__OOO_,
b______ },
[0x32] { b__OOO_,
b_O___O,
b_____O,
b____O_,
b___O__,
b__O___,
b_OOOOO,
b______ },
[0x33] { b_OOOOO,
b____O_,
b___O__,
b____O_,
b_____O,
b_O___O,
b__OOO_,
b______ },
[0x34] { b____O_,
b___OO_,
b__O_O_,
b_O__O_,
b_OOOOO,
b____O_,
b____O_,
b______ },
[0x35] { b_OOOOO,
b_O____,
b_O____,
b_OOOO_,
b_____O,
b_O___O,
b__OOO_,
b______ },
[0x36] { b___OO_,
b__O___,
b_O____,
b_OOOO_,
b_O___O,
b_O___O,
b__OOO_,
b______ },
[0x37] { b_OOOOO,
b_____O,
b____O_,
b___O__,
b__O___,
b__O___,
b__O___,
b______ },
[0x38] { b__OOO_,
b_O___O,
b_O___O,
b__OOO_,
b_O___O,
b_O___O,
b__OOO_,
b______ },
[0x39] { b__OOO_,
b_O___O,
b_O___O,
b__OOOO,
b_____O,
b____O_,
b__OO__,
b______ },
[0x3a] { b______,
b__OO__,
b__OO__,
b______,
b__OO__,
b__OO__,
b______,
b______ },
[0x3b] { b______,
b__OO__,
b__OO__,
b______,
b__OO__,
b___O__,
b__O___,
b______ },
[0x3c] { b____O_,
b___O__,
b__O___,
b_O____,
b__O___,
b___O__,
b____O_,
b______ },
[0x3d] { b______,
b______,
b_OOOOO,
b______,
b_OOOOO,
b______,
b______,
b______ },
[0x3e] { b_O____,
b__O___,
b___O__,
b____O_,
b___O__,
b__O___,
b_O____,
b______ },
[0x3f] { b__OOO_,
b_O___O,
b_____O,
b____O_,
b___O__,
b______,
b___O__,
b______ },
[0x40] { b__OOO_,
b_O___O,
b_____O,
b__OO_O,
b_O_O_O,
b_O_O_O,
b__OOO_,
b______ },
[0x41] { b__OOO_,
b_O___O,
b_O___O,
b_O___O,
b_OOOOO,
b_O___O,
b_O___O,
b______ },
[0x42] { b_OOOO_,
b_O___O,
b_O___O,
b_OOOO_,
b_O___O,
b_O___O,
b_OOOO_,
b______ },
[0x43] { b__OOO_,
b_O___O,
b_O____,
b_O____,
b_O____,
b_O___O,
b__OOO_,
b______ },
[0x44] { b_OOO__,
b_O__O_,
b_O___O,
b_O___O,
b_O___O,
b_O__O_,
b_OOO__,
b______ },
[0x45] { b_OOOOO,
b_O____,
b_O____,
b_OOOO_,
b_O____,
b_O____,
b_OOOOO,
b______ },
[0x46] { b_OOOOO,
b_O____,
b_O____,
b_OOOO_,
b_O____,
b_O____,
b_O____,
b______ },
[0x47] { b__OOO_,
b_O___O,
b_O____,
b_O_OOO,
b_O___O,
b_O___O,
b__OOOO,
b______ },
[0x48] { b_O___O,
b_O___O,
b_O___O,
b_OOOOO,
b_O___O,
b_O___O,
b_O___O,
b______ },
[0x49] { b__OOO_,
b___O__,
b___O__,
b___O__,
b___O__,
b___O__,
b__OOO_,
b______ },
[0x4a] { b___OOO,
b____O_,
b____O_,
b____O_,
b____O_,
b_O__O_,
b__OO__,
b______ },
[0x4b] { b_O___O,
b_O__O_,
b_O_O__,
b_OO___,
b_O_O__,
b_O__O_,
b_O___O,
b______ },
[0x4c] { b_O____,
b_O____,
b_O____,
b_O____,
b_O____,
b_O____,
b_OOOOO,
b______ },
[0x4d] { b_O___O,
b_OO_OO,
b_O_O_O,
b_O_O_O,
b_O___O,
b_O___O,
b_O___O,
b______ },
[0x4e] { b_O___O,
b_O___O,
b_OO__O,
b_O_O_O,
b_O__OO,
b_O___O,
b_O___O,
b______ },
[0x4f] { b__OOO_,
b_O___O,
b_O___O,
b_O___O,
b_O___O,
b_O___O,
b__OOO_,
b______ },
[0x50] { b_OOOO_,
b_O___O,
b_O___O,
b_OOOO_,
b_O____,
b_O____,
b_O____,
b______ },
[0x51] { b__OOO_,
b_O___O,
b_O___O,
b_O___O,
b_O_O_O,
b_O__O_,
b__OO_O,
b______ },
[0x52] { b_OOOO_,
b_O___O,
b_O___O,
b_OOOO_,
b_O_O__,
b_O__O_,
b_O___O,
b______ },
[0x53] { b__OOOO,
b_O____,
b_O____,
b__OOO_,
b_____O,
b_____O,
b_OOOO_,
b______ },
[0x54] { b_OOOOO,
b___O__,
b___O__,
b___O__,
b___O__,
b___O__,
b___O__,
b______ },
[0x55] { b_O___O,
b_O___O,
b_O___O,
b_O___O,
b_O___O,
b_O___O,
b__OOO_,
b______ },
[0x56] { b_O___O,
b_O___O,
b_O___O,
b_O___O,
b_O___O,
b__O_O_,
b___O__,
b______ },
[0x57] { b_O___O,
b_O___O,
b_O___O,
b_O_O_O,
b_O_O_O,
b_O_O_O,
b__O_O_,
b______ },
[0x58] { b_O___O,
b_O___O,
b__O_O_,
b___O__,
b__O_O_,
b_O___O,
b_O___O,
b______ },
[0x59] { b_O___O,
b_O___O,
b_O___O,
b__O_O_,
b___O__,
b___O__,
b___O__,
b______ },
[0x5a] { b_OOOOO,
b_____O,
b____O_,
b___O__,
b__O___,
b_O____,
b_OOOOO,
b______ },
[0x5b] { b__OOO_,
b__O___,
b__O___,
b__O___,
b__O___,
b__O___,
b__OOO_,
b______ },
[0x5c] { b_O___O,
b__O_O_,
b_OOOOO,
b___O__,
b_OOOOO,
b___O__,
b___O__,
b______ },
[0x5d] { b__OOO_,
b____O_,
b____O_,
b____O_,
b____O_,
b____O_,
b__OOO_,
b______ },
[0x5e] { b___O__,
b__O_O_,
b_O___O,
b______,
b______,
b______,
b______,
b______ },
[0x5f] { b______,
b______,
b______,
b______,
b______,
b______,
b_OOOOO,
b______ },
[0x60] { b__O___,
b___O__,
b____O_,
b______,
b______,
b______,
b______,
b______ },
[0x61] { b______,
b______,
b__OOO_,
b_____O,
b__OOOO,
b_O___O,
b__OOOO,
b______ },
[0x62] { b_O____,
b_O____,
b_O____,
b_O_OO_,
b_OO__O,
b_O___O,
b_OOOO_,
b______ },
[0x63] { b______,
b______,
b__OOO_,
b_O____,
b_O____,
b_O___O,
b__OOO_,
b______ },
[0x64] { b_____O,
b_____O,
b_____O,
b__OO_O,
b_O__OO,
b_O___O,
b__OOOO,
b______ },
[0x65] { b______,
b______,
b__OOO_,
b_O___O,
b_OOOOO,
b_O____,
b__OOO_,
b______ },
[0x66] { b___OO_,
b__O__O,
b__O___,
b_OOO__,
b__O___,
b__O___,
b__O___,
b______ },
[0x67] { b______,
b__OOOO,
b_O___O,
b_O___O,
b__OOOO,
b_____O,
b__OOO_,
b______ },
[0x68] { b_O____,
b_O____,
b_O_OO_,
b_OO__O,
b_O___O,
b_O___O,
b_O___O,
b______ },
[0x69] { b______,
b___O__,
b______,
b__OO__,
b___O__,
b___O__,
b__OOO_,
b______ },
[0x6a] { b____O_,
b______,
b___OO_,
b____O_,
b____O_,
b_O__O_,
b__OO__,
b______ },
[0x6b] { b__O___,
b__O___,
b__O__O,
b__O_O_,
b__OO__,
b__O_O_,
b__O__O,
b______ },
[0x6c] { b__OO__,
b___O__,
b___O__,
b___O__,
b___O__,
b___O__,
b__OOO_,
b______ },
[0x6d] { b______,
b______,
b_OO_O_,
b_O_O_O,
b_O_O_O,
b_O___O,
b_O___O,
b______ },
[0x6e] { b______,
b______,
b_OOOO_,
b_O___O,
b_O___O,
b_O___O,
b_O___O,
b______ },
[0x6f] { b______,
b______,
b__OOO_,
b_O___O,
b_O___O,
b_O___O,
b__OOO_,
b______ },
[0x70] { b______,
b______,
b_OOOO_,
b_O___O,
b_OOOO_,
b_O____,
b_O____,
b______ },
[0x71] { b______,
b______,
b__OO_O,
b_O__OO,
b__OOOO,
b_____O,
b_____O,
b______ },
[0x72] { b______,
b______,
b_O_OO_,
b_OO__O,
b_O____,
b_O____,
b_O____,
b______ },
[0x73] { b______,
b______,
b__OOO_,
b_O____,
b__OOO_,
b_____O,
b_OOOO_,
b______ },
[0x74] { b__O___,
b_OOO__,
b__O___,
b__O___,
b__O___,
b__O__O,
b___OO_,
b______ },
[0x75] { b______,
b______,
b_O___O,
b_O___O,
b_O___O,
b_O__OO,
b__OO_O,
b______ },
[0x76] { b______,
b______,
b_O___O,
b_O___O,
b_O___O,
b__O_O_,
b___O__,
b______ },
[0x77] { b______,
b______,
b_O___O,
b_O___O,
b_O___O,
b_O_O_O,
b__O_O_,
b______ },
[0x78] { b______,
b______,
b_O___O,
b__O_O_,
b___O__,
b__O_O_,
b_O___O,
b______ },
[0x79] { b______,
b______,
b_O___O,
b_O___O,
b__OOOO,
b_____O,
b__OOO_,
b______ },
[0x7a] { b______,
b______,
b_OOOOO,
b____O_,
b___O__,
b__O___,
b_OOOOO,
b______ },
[0x7b] { b____O_,
b___O__,
b___O__,
b__O___,
b___O__,
b___O__,
b____O_,
b______ },
[0x7c] { b___O__,
b___O__,
b___O__,
b___O__,
b___O__,
b___O__,
b___O__,
b______ },
[0x7d] { b__O___,
b___O__,
b___O__,
b____O_,
b___O__,
b___O__,
b__O___,
b______ },
[0x7e] { b______,
b___O__,
b____O_,
b_OOOOO,
b____O_,
b___O__,
b______,
b______ },
[0x7f] { b______,
b___O__,
b__O___,
b_OOOOO,
b__O___,
b___O__,
b______,
b______ },
};
+12 -4
View File
@@ -1,4 +1,4 @@
/* $Id: lcd4linux.c,v 1.8 2000/03/22 07:33:50 reinelt Exp $
/* $Id: lcd4linux.c,v 1.9 2000/03/22 15:36:21 reinelt Exp $
*
* LCD4Linux
*
@@ -20,6 +20,12 @@
*
*
* $Log: lcd4linux.c,v $
* Revision 1.9 2000/03/22 15:36:21 reinelt
*
* added '-l' switch (list drivers)
* generic pixmap driver added
* X11 Framework done
*
* Revision 1.8 2000/03/22 07:33:50 reinelt
*
* FAQ added
@@ -67,11 +73,12 @@
#include "display.h"
#include "processor.h"
char *release="LCD4Linux V" VERSION " (c) 2000 Michael Reinelt <reinelt@eunet.at>";
int tick, tack;
static void usage(void)
{
printf ("LCD4Linux V" VERSION " (c) 2000 Michael Reinelt <reinelt@eunet.at>\n");
printf ("%s\n", release);
printf ("usage: lcd4linux [-h] [-l] [-f config-file]\n");
}
@@ -87,7 +94,8 @@ void main (int argc, char *argv[])
usage();
exit(0);
case 'l':
usage();
printf ("%s\n", release);
lcd_list();
exit(0);
case 'f':
cfg=optarg;
@@ -134,7 +142,7 @@ void main (int argc, char *argv[])
process_init();
lcd_clear();
lcd_put (1, 1, "** LCD4Linux V" VERSION " **");
lcd_put (1, 1, "* LCD4Linux V" VERSION " *");
lcd_put (2, 1, " (c) 2000 M.Reinelt");
lcd_flush();
+8 -4
View File
@@ -1,8 +1,12 @@
Display LCD2041
Port /dev/ttyS2
Speed 19200
Contrast 160
#Display LCD2041
#Port /dev/ttyS2
#Speed 19200
#Contrast 160
Display X11
rows 2
columns 20
#Row1 "*** %o %v ***"
#Row2 "%p CPU %r MB RAM"
#Row3 "Busy %cu%% $r10cs+cb"
+165
View File
@@ -0,0 +1,165 @@
/* $Id: pixmap.c,v 1.1 2000/03/22 15:36:21 reinelt Exp $
*
* generic pixmap driver
*
* Copyright 1999, 2000 by Michael Reinelt (reinelt@eunet.at)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*
* $Log: pixmap.c,v $
* Revision 1.1 2000/03/22 15:36:21 reinelt
*
* added '-l' switch (list drivers)
* generic pixmap driver added
* X11 Framework done
*
*/
/*
* exported functions:
*
* int pix_clear(void);
* clears the pixmap
*
* int pix_init (int r, int c);
* allocates & clear pixmap wit r rows and c columns
*
* int pix_put (int row, int col, char *text);
* draws text into the pixmap
*
* int pix_bar (int type, int row, int col, int max, int len1, int len2);
* draws a bar into the pixmap
*
*/
#include <stdlib.h>
#include <stdio.h>
#include "display.h"
#include "pixmap.h"
#include "fontmap.h"
static int rows=0;
static int cols=0;
unsigned char *Pixmap=NULL;
int pix_clear(void)
{
int i;
for (i=0; i<rows*cols; i++) {
Pixmap[i]=0;
}
return 0;
}
int pix_init (int r, int c)
{
if (r<1 || c<1)
return -1;
if (Pixmap)
free (Pixmap);
rows=r*YRES;
cols=c*XRES;
if ((Pixmap=malloc (rows*cols*sizeof(unsigned char)))==NULL)
return -1;
return pix_clear();
}
int pix_put (int row, int col, char *text)
{
int c, x, y, mask;
row*=YRES;
col*=XRES;
while (*text && col<cols) {
c=*text;
for (y=0; y<YRES; y++) {
mask=1<<XRES;
for (x=0; x<XRES; x++) {
mask>>=1;
Pixmap[(row+y)*cols+col+x]=Fontmap[c][y]&mask?1:0;
}
}
col+=XRES;
text++;
}
return 0;
}
int pix_bar (int type, int row, int col, int max, int len1, int len2)
{
int i, x, y, len, rev;
unsigned char *p;
row*=YRES;
col*=XRES;
if (type & BAR_H) {
if (max>cols-col)
max=cols-col;
} else {
if (max>rows-row)
max=rows-row;
}
if (len1<1) len1=1;
else if (len1>max) len1=max;
if (len2<1) len2=1;
else if (len2>max) len2=max;
rev=0;
switch (type) {
case BAR_L:
len1=max-len1;
len2=max-len2;
rev=1;
case BAR_R:
for (y=0; y<YRES; y++) {
len=y<YRES/2?len1:len2;
for (x=0; x<max; x++) {
Pixmap[(row+y)*cols+col+x]=x<len?!rev:rev;
}
}
break;
case BAR_U:
len1=max-len1;
len2=max-len2;
rev=1;
case BAR_D:
for (y=0; y<max; y++) {
for (x=0; x<XRES; x++) {
len=x<XRES/2?len1:len2;
Pixmap[(row+y)*cols+col+x]=y<len?!rev:rev;
}
}
break;
}
return 0;
}
+44
View File
@@ -0,0 +1,44 @@
/* $Id: pixmap.h,v 1.1 2000/03/22 15:36:21 reinelt Exp $
*
* generic pixmap driver
*
* Copyright 1999, 2000 by Michael Reinelt (reinelt@eunet.at)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*
* $Log: pixmap.h,v $
* Revision 1.1 2000/03/22 15:36:21 reinelt
*
* added '-l' switch (list drivers)
* generic pixmap driver added
* X11 Framework done
*
*/
#ifndef _PIXMAP_H_
#define _PIXMAP_H_
#define XRES 6
#define YRES 8
extern unsigned char *Pixmap;
int pix_clear(void);
int pix_init (int r, int c);
int pix_put (int row, int col, char *text);
int pix_bar (int type, int row, int col, int max, int len1, int len2);
#endif