aboutsummaryrefslogtreecommitdiffstats
ModeNameSize
-rw-r--r--BeckmannEgle.c11937logstatsplain
-rw-r--r--COPYING17992logstatsplain
-rw-r--r--CREDITS978logstatsplain
-rw-r--r--Crystalfontz.c12690logstatsplain
-rw-r--r--Crystalfontz.h2373logstatsplain
-rw-r--r--FAQ310logstatsplain
-rw-r--r--HD44780.c13346logstatsplain
-rw-r--r--INSTALL7832logstatsplain
-rw-r--r--Makefile.am1046logstatsplain
-rw-r--r--Makefile.in11476logstatsplain
-rw-r--r--MatrixOrbital.c13767logstatsplain
-rw-r--r--PalmPilot.c6976logstatsplain
-rw-r--r--README7115logstatsplain
-rw-r--r--README.Crystalfontz1921logstatsplain
-rw-r--r--README.Drivers1910logstatsplain
-rw-r--r--README.HD447804660logstatsplain
-rw-r--r--README.HD44780.GPO1675logstatsplain
-rw-r--r--README.KDE1431logstatsplain
-rw-r--r--README.MatrixOrbital2567logstatsplain
-rw-r--r--README.Png1787logstatsplain
-rw-r--r--README.Raster2320logstatsplain
-rw-r--r--README.Webinterface1036logstatsplain
-rw-r--r--README.X111973logstatsplain
-rw-r--r--Raster.c9750logstatsplain
-rw-r--r--SIN.c5432logstatsplain
-rw-r--r--Skeleton.c2436logstatsplain
-rw-r--r--TODO1472logstatsplain
-rw-r--r--XWindow.c13611logstatsplain
-rw-r--r--aclocal.m43539logstatsplain
-rw-r--r--battery.c3608logstatsplain
-rw-r--r--battery.h1056logstatsplain
-rw-r--r--cfg.c6649logstatsplain
-rw-r--r--cfg.h1277logstatsplain
-rwxr-xr-xconfigure100729logstatsplain
-rw-r--r--configure.in2759logstatsplain
-rw-r--r--debug.c2097logstatsplain
-rw-r--r--debug.h1458logstatsplain
-rw-r--r--display.c7215logstatsplain
-rw-r--r--display.h3283logstatsplain
-rw-r--r--exec.c1697logstatsplain
-rw-r--r--exec.h1083logstatsplain
-rw-r--r--filter.c4077logstatsplain
-rw-r--r--filter.h1087logstatsplain
-rw-r--r--fontmap.c12318logstatsplain
-rw-r--r--fontmap.h1015logstatsplain
-rwxr-xr-xinstall-sh5598logstatsplain
-rw-r--r--isdn.c3592logstatsplain
-rw-r--r--isdn.h1309logstatsplain
-rw-r--r--lcd4kde.conf224logstatsplain
-rw-r--r--lcd4linux.c9819logstatsplain
-rw-r--r--lcd4linux.conf.sample1604logstatsplain
-rw-r--r--lcd4linux.kdelnk285logstatsplain
-rw-r--r--lcd4linux.lsm533logstatsplain
-rw-r--r--lcd4linux.xpm1441logstatsplain
-rw-r--r--lock.c3903logstatsplain
-rw-r--r--lock.h1101logstatsplain
-rw-r--r--mail.c3943logstatsplain
-rw-r--r--mail.h1054logstatsplain
-rwxr-xr-xmissing6283logstatsplain
-rwxr-xr-xmkinstalldirs725logstatsplain
-rwxr-xr-xnph-png987logstatsplain
-rw-r--r--parser.c8493logstatsplain
-rw-r--r--parser.h3078logstatsplain
-rw-r--r--pixmap.c3814logstatsplain
-rw-r--r--pixmap.h1551logstatsplain
-rw-r--r--png.html113logstatsplain
-rw-r--r--processor.c14325logstatsplain
-rw-r--r--processor.h1102logstatsplain
-rw-r--r--seti.c5859logstatsplain
-rw-r--r--seti.h1206logstatsplain
-rw-r--r--system.c18214logstatsplain
-rw-r--r--system.h2354logstatsplain
-rw-r--r--udelay.c2703logstatsplain
-rw-r--r--udelay.h1315logstatsplain
> } return 0; } static int drv_EFN_close(void) { /* close whatever port you've opened */ drv_EFN_clear(); close(DataSocket); return 0; } /* dummy function that sends something to the display */ static void drv_EFN_send(const char *data, const unsigned int len) { int n, i; // transport command stirng to EUG 100 n = write(DataSocket, data, len); if (n < 0) { error("%s:drv_EFN_send: Failed to write to data socket\n", Name); // return(-1); } /* printf("EFN_send: "); for(i=0;i<n;i++) { printf("0x%02x ",data[i]); } printf("\n"); */ } /* text mode displays only */ static void drv_EFN_clear(void) { char *cmd; int max_char, max_cmd, k; max_char = DROWS * DCOLS; max_cmd = 3 * max_char; // each EFN module expects 3 bytes if ((cmd = malloc(max_cmd)) == NULL) { error("%s : Failed to allocate memory in drv_Sample_write\n", Name); // return -1; } else { /* do whatever is necessary to clear the display */ for (k = 0; k < max_char; k++) { cmd[(3 * k) + 0] = 0xff; cmd[(3 * k) + 1] = k + 1; cmd[(3 * k) + 2] = ' '; } drv_EFN_send(cmd, max_cmd); drv_EFN_send(cmd, max_cmd); free(cmd); //return 0; } } /* text mode displays only */ static void drv_EFN_write(const int row, const int col, const char *data, int len) { char *cmd; int offset, i, k, max_char, max_cmd; max_char = DROWS * DCOLS; max_cmd = 3 * max_char; // each LED blocks expects a 3 byte sequence if ((cmd = (char *) malloc(max_cmd)) == NULL) { error("%s : Failed to allocate memory in drv_Sample_write\n", Name); //return -1; } else { /* do the cursor positioning here */ offset = ((row) * DCOLS) + col; for (i = max_char - offset, k = 0; ((i > 0) && (k < len)); i--, k++) { cmd[(3 * k) + 0] = 0xff; cmd[(3 * k) + 1] = i; cmd[(3 * k) + 2] = data[k]; } /* send string to the display twice (to make transmission * reliable) */ drv_EFN_send(cmd, 3 * (k)); drv_EFN_send(cmd, 3 * (k)); free(cmd); // return 0; } } static void drv_EFN_defchar(const int ascii, const unsigned char *matrix) { error("%s:drv_EFN_defchar: Function not supported by EFN modules\n", Name); } /* start text mode display */ static int drv_EFN_start(const char *section) { int rows = -1, cols = -1; char *s; s = cfg_get(section, "Host", NULL); if (s == NULL || *s == '\0') { error("%s: no '%s.Host' entry from %s", Name, section, cfg_source()); return -1; } if (sscanf(s, "%s", &Host) != 1) { error("%s: bad %s.Size '%s' from %s", Name, section, s, cfg_source()); free(s); return -1; } if (cfg_number(section, "Port", 1000, 0, 65535, &Port) < 0) return -1; s = cfg_get(section, "Size", NULL); if (s == NULL || *s == '\0') { error("%s: no '%s.Size' entry from %s", Name, section, cfg_source()); return -1; } if (sscanf(s, "%dx%d", &cols, &rows) != 2 || rows < 1 || cols < 1) { error("%s: bad %s.Size '%s' from %s", Name, section, s, cfg_source()); free(s); return -1; } DROWS = rows; DCOLS = cols; /* open communication with the display */ if (drv_EFN_open(section) < 0) { return -1; } /* initialize display */ drv_EFN_clear(); /* clear display */ return 0; } /****************************************/ /*** plugins ***/ /****************************************/ /****************************************/ /*** widget callbacks ***/ /****************************************/ /****************************************/ /*** exported functions ***/ /****************************************/ /* list models */ int drv_EFN_list(void) { printf("EFN LED modules + EUG100 Ethernet to serial convertor"); return 0; } /* initialize driver & display */ /* use this function for a text display */ int drv_EFN_init(const char *section, const int quiet) { WIDGET_CLASS wc; int ret; info("%s: %s", Name, "$Rev: 773 $"); /* display preferences */ /* real worker functions */ drv_generic_text_real_write = drv_EFN_write; drv_generic_text_real_defchar = drv_EFN_defchar; /* start display */ if ((ret = drv_EFN_start(section)) != 0) return ret; if (!quiet) { char buffer[40]; qprintf(buffer, sizeof(buffer), "%s %dx%d", Name, DCOLS, DROWS); sleep(3); drv_EFN_clear(); } /* initialize generic text driver */ if ((ret = drv_generic_text_init(section, Name)) != 0) return ret; /* register text widget */ wc = Widget_Text; wc.draw = drv_generic_text_draw; widget_register(&wc); return 0; } /* close driver & display */ /* use this function for a text display */ int drv_EFN_quit(const int quiet) { info("%s: shutting down.", Name); drv_generic_text_quit(); /* clear display */ drv_EFN_clear(); /* say goodbye... */ if (!quiet) { drv_generic_text_greet("goodbye!", NULL); } debug("closing connection"); drv_EFN_close(); return (0); } /* close driver & display */ /* use this one for a text display */ DRIVER drv_EFN = { .name = Name, .list = drv_EFN_list, .init = drv_EFN_init, .quit = drv_EFN_quit, };