mirror of
https://github.com/netfun2000/lcd4linux.git
synced 2026-02-27 09:44:34 +08:00
[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:
+4
-1
@@ -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
@@ -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)
|
||||
|
||||
|
||||
@@ -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 },
|
||||
{ "" }
|
||||
};
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
@@ -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();
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user