/[smecontribs]/rpms/lcdproc/contribs7/lcdproc-0.5.2-roamer.patch
ViewVC logotype

Annotation of /rpms/lcdproc/contribs7/lcdproc-0.5.2-roamer.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Sat Apr 12 21:18:02 2008 UTC (16 years, 7 months ago) by slords
Branch: MAIN
Add roamer

1 slords 1.1 --- lcdproc-0.5.2/server/drivers/Makefile.am.roamer 2007-04-14 08:39:53.000000000 -0600
2     +++ lcdproc-0.5.2/server/drivers/Makefile.am 2008-04-12 14:49:28.000000000 -0600
3     @@ -19,7 +19,7 @@
4     #LIBS =
5    
6     pkglib_PROGRAMS = @DRIVERS@
7     -EXTRA_PROGRAMS = bayrad CFontz CFontz633 CFontzPacket curses CwLnx ea65 EyeboxOne g15 glcdlib glk hd44780 icp_a106 imon IOWarrior irman joy lb216 lcdm001 lcterm lirc MD8800 ms6931 mtc_s16209x MtxOrb NoritakeVFD picolcd pyramid sed1330 sed1520 serialPOS serialVFD stv5730 svga t6963 text tyan sli ula200 xosd
8     +EXTRA_PROGRAMS = bayrad CFontz CFontz633 CFontzPacket curses CwLnx ea65 EyeboxOne g15 glcdlib glk hd44780 icp_a106 imon IOWarrior irman joy lb216 lcdm001 lcterm lirc MD8800 ms6931 mtc_s16209x MtxOrb NoritakeVFD picolcd pyramid roamer sed1330 sed1520 serialPOS serialVFD stv5730 svga t6963 text tyan sli ula200 xosd
9     noinst_LIBRARIES = libLCD.a libbignum.a
10    
11     IOWarrior_CFLAGS = @libusb_cflags@ $(AM_CFLAGS)
12     @@ -89,6 +89,7 @@
13     NoritakeVFD_SOURCES = lcd.h lcd_lib.h NoritakeVFD.c NoritakeVFD.h report.h
14     picolcd_SOURCES = lcd.h picolcd.h picolcd.c report.h
15     pyramid_SOURCES = lcd.h pylcd.c pylcd.h
16     +roamer_SOURCES = lcd.h lcd_lib.h roamer.h roamer.c report.h
17     sed1330_SOURCES = lcd.h sed1330.h sed1330.c port.h lpt-port.h timing.h report.h
18     sed1520_SOURCES = lcd.h sed1520.c sed1520.h sed1520fm.c sed1520fm.h port.h report.h
19     serialPOS_SOURCES = lcd.h lcd_lib.h serialPOS.c serialPOS.h report.h adv_bignum.h
20     --- lcdproc-0.5.2/server/drivers/Makefile.in.roamer 2007-04-27 04:40:28.000000000 -0600
21     +++ lcdproc-0.5.2/server/drivers/Makefile.in 2008-04-12 14:57:41.000000000 -0600
22     @@ -46,10 +46,10 @@
23     lcdm001$(EXEEXT) lcterm$(EXEEXT) lirc$(EXEEXT) MD8800$(EXEEXT) \
24     ms6931$(EXEEXT) mtc_s16209x$(EXEEXT) MtxOrb$(EXEEXT) \
25     NoritakeVFD$(EXEEXT) picolcd$(EXEEXT) pyramid$(EXEEXT) \
26     - sed1330$(EXEEXT) sed1520$(EXEEXT) serialPOS$(EXEEXT) \
27     - serialVFD$(EXEEXT) stv5730$(EXEEXT) svga$(EXEEXT) \
28     - t6963$(EXEEXT) text$(EXEEXT) tyan$(EXEEXT) sli$(EXEEXT) \
29     - ula200$(EXEEXT) xosd$(EXEEXT)
30     + roamer$(EXEEXT) sed1330$(EXEEXT) sed1520$(EXEEXT) \
31     + serialPOS$(EXEEXT) serialVFD$(EXEEXT) stv5730$(EXEEXT) \
32     + svga$(EXEEXT) t6963$(EXEEXT) text$(EXEEXT) tyan$(EXEEXT) \
33     + sli$(EXEEXT) ula200$(EXEEXT) xosd$(EXEEXT)
34     subdir = server/drivers
35     DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
36     ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
37     @@ -157,6 +157,9 @@
38     am_pyramid_OBJECTS = pylcd.$(OBJEXT)
39     pyramid_OBJECTS = $(am_pyramid_OBJECTS)
40     pyramid_DEPENDENCIES = libLCD.a
41     +am_roamer_OBJECTS = pylcd.$(OBJEXT)
42     +roamer_OBJECTS = $(am_roamer_OBJECTS)
43     +roamer_DEPENDENCIES = libLCD.a
44     am_sed1330_OBJECTS = sed1330.$(OBJEXT)
45     sed1330_OBJECTS = $(am_sed1330_OBJECTS)
46     sed1330_LDADD = $(LDADD)
47     @@ -211,11 +214,11 @@
48     $(irman_SOURCES) $(joy_SOURCES) $(lb216_SOURCES) \
49     $(lcdm001_SOURCES) $(lcterm_SOURCES) $(lirc_SOURCES) \
50     $(ms6931_SOURCES) $(mtc_s16209x_SOURCES) $(picolcd_SOURCES) \
51     - $(pyramid_SOURCES) $(sed1330_SOURCES) $(sed1520_SOURCES) \
52     - $(serialPOS_SOURCES) $(serialVFD_SOURCES) $(sli_SOURCES) \
53     - $(stv5730_SOURCES) $(svga_SOURCES) $(t6963_SOURCES) \
54     - $(text_SOURCES) $(tyan_SOURCES) $(ula200_SOURCES) \
55     - $(xosd_SOURCES)
56     + $(pyramid_SOURCES) $(roamer_SOURCES) $(sed1330_SOURCES) \
57     + $(sed1520_SOURCES) $(serialPOS_SOURCES) $(serialVFD_SOURCES) \
58     + $(sli_SOURCES) $(stv5730_SOURCES) $(svga_SOURCES) \
59     + $(t6963_SOURCES) $(text_SOURCES) $(tyan_SOURCES) \
60     + $(ula200_SOURCES) $(xosd_SOURCES)
61     DIST_SOURCES = $(libLCD_a_SOURCES) $(libbignum_a_SOURCES) \
62     $(CFontz_SOURCES) $(CFontz633_SOURCES) $(CFontzPacket_SOURCES) \
63     $(CwLnx_SOURCES) $(EyeboxOne_SOURCES) $(IOWarrior_SOURCES) \
64     @@ -227,10 +230,11 @@
65     $(joy_SOURCES) $(lb216_SOURCES) $(lcdm001_SOURCES) \
66     $(lcterm_SOURCES) $(lirc_SOURCES) $(ms6931_SOURCES) \
67     $(mtc_s16209x_SOURCES) $(picolcd_SOURCES) $(pyramid_SOURCES) \
68     - $(sed1330_SOURCES) $(sed1520_SOURCES) $(serialPOS_SOURCES) \
69     - $(serialVFD_SOURCES) $(sli_SOURCES) $(stv5730_SOURCES) \
70     - $(svga_SOURCES) $(t6963_SOURCES) $(text_SOURCES) \
71     - $(tyan_SOURCES) $(ula200_SOURCES) $(xosd_SOURCES)
72     + $(roamer_SOURCES) $(sed1330_SOURCES) $(sed1520_SOURCES) \
73     + $(serialPOS_SOURCES) $(serialVFD_SOURCES) $(sli_SOURCES) \
74     + $(stv5730_SOURCES) $(svga_SOURCES) $(t6963_SOURCES) \
75     + $(text_SOURCES) $(tyan_SOURCES) $(ula200_SOURCES) \
76     + $(xosd_SOURCES)
77     ETAGS = etags
78     CTAGS = ctags
79     DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
80     @@ -374,6 +378,7 @@
81     NoritakeVFD_LDADD = libLCD.a
82     picolcd_LDADD = libLCD.a @LIBUSBLCD@
83     pyramid_LDADD = libLCD.a
84     +roamer_LDADD = libLCD.a
85     serialPOS_LDADD = libLCD.a libbignum.a
86     serialVFD_LDADD = libLCD.a libbignum.a
87     svga_LDADD = @LIBSVGA@
88     @@ -413,6 +418,7 @@
89     NoritakeVFD_SOURCES = lcd.h lcd_lib.h NoritakeVFD.c NoritakeVFD.h report.h
90     picolcd_SOURCES = lcd.h picolcd.h picolcd.c report.h
91     pyramid_SOURCES = lcd.h pylcd.c pylcd.h
92     +roamer_SOURCES = lcd.h lcd_lib.h roamer.h roamer.c report.h
93     sed1330_SOURCES = lcd.h sed1330.h sed1330.c port.h lpt-port.h timing.h report.h
94     sed1520_SOURCES = lcd.h sed1520.c sed1520.h sed1520fm.c sed1520fm.h port.h report.h
95     serialPOS_SOURCES = lcd.h lcd_lib.h serialPOS.c serialPOS.h report.h adv_bignum.h
96     @@ -577,6 +583,9 @@
97     pyramid$(EXEEXT): $(pyramid_OBJECTS) $(pyramid_DEPENDENCIES)
98     @rm -f pyramid$(EXEEXT)
99     $(LINK) $(pyramid_LDFLAGS) $(pyramid_OBJECTS) $(pyramid_LDADD) $(LIBS)
100     +roamer$(EXEEXT): $(roamer_OBJECTS) $(roamer_DEPENDENCIES)
101     + @rm -f roamer$(EXEEXT)
102     + $(LINK) $(roamer_LDFLAGS) $(roamer_OBJECTS) $(roamer_LDADD) $(LIBS)
103     sed1330$(EXEEXT): $(sed1330_OBJECTS) $(sed1330_DEPENDENCIES)
104     @rm -f sed1330$(EXEEXT)
105     $(LINK) $(sed1330_LDFLAGS) $(sed1330_OBJECTS) $(sed1330_LDADD) $(LIBS)
106     --- lcdproc-0.5.2/server/drivers/roamer.c.roamer 2008-04-12 14:58:09.000000000 -0600
107     +++ lcdproc-0.5.2/server/drivers/roamer.c 2008-04-11 22:39:15.000000000 -0600
108     @@ -0,0 +1,387 @@
109     +/* This is the LCDproc driver for Rackable Systems Roamer LCD.
110     +
111     + Copyright (C) 2008 Shad L. Lords
112     +
113     + This program is free software; you can redistribute it and/or modify
114     + it under the terms of the GNU General Public License as published by
115     + the Free Software Foundation; either version 2 of the License, or
116     + any later version.
117     +
118     + This program is distributed in the hope that it will be useful,
119     + but WITHOUT ANY WARRANTY; without even the implied warranty of
120     + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
121     + GNU General Public License for more details.
122     +
123     + You should have received a copy of the GNU General Public License
124     + along with this program; if not, write to the Free Software
125     + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
126     +
127     +
128     + List of driver entry point:
129     +
130     + init Implemented.
131     + close Implemented.
132     + width Implemented.
133     + height Implemented.
134     + clear Implemented by space filling no custom char info.
135     + flush Implemented.
136     + string Implemented.
137     + chr Implemented.
138     + set_contrast Implemented.
139     + backlight Implemented.
140     + */
141     +
142     +#include <stdlib.h>
143     +#include <stdio.h>
144     +#include <unistd.h>
145     +#include <termios.h>
146     +#include <fcntl.h>
147     +#include <string.h>
148     +#include <errno.h>
149     +
150     +#ifdef HAVE_CONFIG_H
151     +#include "config.h"
152     +#endif
153     +
154     +#include "lcd.h"
155     +#include "roamer.h"
156     +#include "report.h"
157     +
158     +// Variables
159     +typedef struct {
160     + int fd;
161     + char lcd_init[3];
162     + char lcd_close[4];
163     + int width;
164     + int height;
165     + char *framebuf;
166     + char *backingstore;
167     + char beat;
168     +} PrivateData;
169     +
170     +// Vars for the server core
171     +MODULE_EXPORT char *api_version = API_VERSION;
172     +MODULE_EXPORT int stay_in_foreground = 0;
173     +MODULE_EXPORT int supports_multiple = 1;
174     +MODULE_EXPORT char *symbol_prefix = "roamer_";
175     +
176     +
177     +MODULE_EXPORT int
178     +roamer_init (Driver *drvthis)
179     +{
180     + struct termios portset;
181     +
182     + char device[256] = DEFAULT_DEVICE;
183     + int speed = DEFAULT_SPEED;
184     + char size[256] = DEFAULT_SIZE;
185     + char buf[256] = "";
186     + int tmp, w, h;
187     +
188     + PrivateData *p;
189     +
190     + /* Alocate and store private data */
191     + p = (PrivateData *) malloc(sizeof(PrivateData));
192     + if (p == NULL)
193     + return -1;
194     + if (drvthis->store_private_ptr(drvthis, p))
195     + return -1;
196     +
197     + /* Initialise the PrivateData structure */
198     + p->fd = -1;
199     +
200     + p->width = LCD_DEFAULT_WIDTH;
201     + p->height = LCD_DEFAULT_HEIGHT;
202     +
203     + p->framebuf = NULL;
204     + p->backingstore = NULL;
205     +
206     + /* Control codes for display */
207     + snprintf(p->lcd_init, 3, "%c%c", 0x1e, 0x1d);
208     + snprintf(p->lcd_close, 4, "%c%c%c", 0x1e, 0x1b, 0x1b);
209     +
210     + /* Get serial device to use */
211     + strncpy(device, drvthis->config_get_string(drvthis->name, "Device", 0, DEFAULT_DEVICE), sizeof(device));
212     + device[sizeof(device)-1] = '\0';
213     + report(RPT_INFO, "%s: using Device %s", drvthis->name, device);
214     +
215     + /* Get display size */
216     + strncpy(size, drvthis->config_get_string(drvthis->name, "Size", 0, DEFAULT_SIZE), sizeof(size));
217     + size[sizeof(size)-1] = '\0';
218     + if ((sscanf(size, "%dx%d", &w, &h) != 2)
219     + || (w <= 0) || (w > LCD_MAX_WIDTH)
220     + || (h <= 0) || (h > LCD_MAX_HEIGHT)) {
221     + report(RPT_WARNING, "%s: cannot read Size: %s; using default %s",
222     + drvthis->name, size, DEFAULT_SIZE);
223     + sscanf(DEFAULT_SIZE , "%dx%d", &w, &h);
224     + }
225     + p->width = w;
226     + p->height = h;
227     +
228     + /* Get speed */
229     + tmp = drvthis->config_get_int(drvthis->name, "Speed", 0, DEFAULT_SPEED);
230     + switch (tmp) {
231     + case 1200:
232     + speed = B1200;
233     + break;
234     + case 2400:
235     + speed = B2400;
236     + break;
237     + case 4800:
238     + speed = B4800;
239     + break;
240     + case 9600:
241     + speed = B9600;
242     + break;
243     + default:
244     + speed = B9600;
245     + report(RPT_WARNING, "%s: Speed must be 1200, 2400, 4800 or 9600; using default %d",
246     + drvthis->name, tmp);
247     + }
248     +
249     + /* Set up io port correctly, and open it... */
250     + p->fd = open(device, O_RDWR | O_NOCTTY);
251     + if (p->fd == -1) {
252     + report(RPT_ERR, "%s: open(%s) failed (%s)", drvthis->name, device, strerror(errno));
253     + if (errno == EACCES)
254     + report(RPT_ERR, "%s: %s device could not be opened...", drvthis->name, device);
255     + return -1;
256     + }
257     + report(RPT_INFO, "%s: opened display on %s", drvthis->name, device);
258     +
259     + tcgetattr(p->fd, &portset);
260     +
261     + // THIS ALL COMMENTED OUT BECAUSE WE NEED TO SET TIMEOUTS
262     + /* We use RAW mode */
263     +#ifdef HAVE_CFMAKERAW_NOT
264     + /* The easy way */
265     + cfmakeraw(&portset);
266     +#else
267     + /* The hard way */
268     + portset.c_iflag &= ~( IGNBRK | BRKINT | PARMRK | ISTRIP
269     + | INLCR | IGNCR | ICRNL | IXON );
270     + portset.c_oflag &= ~OPOST;
271     + portset.c_lflag &= ~( ECHO | ECHONL | ICANON | ISIG | IEXTEN );
272     + portset.c_cflag &= ~( CSIZE | PARENB | CRTSCTS );
273     + portset.c_cflag |= CS8 | CREAD | CLOCAL;
274     + portset.c_cc[VMIN] = 1;
275     + portset.c_cc[VTIME] = 3;
276     +#endif
277     +
278     + /* Set port speed */
279     + cfsetospeed(&portset, speed);
280     + cfsetispeed(&portset, B0);
281     +
282     + /* Do it... */
283     + tcsetattr(p->fd, TCSANOW, &portset);
284     +
285     + write(p->fd, p->lcd_init, sizeof(p->lcd_init)-1);
286     +
287     + /* Make sure the frame buffer is there... */
288     + p->framebuf = (unsigned char *) calloc(p->width * p->height, 1);
289     + if (p->framebuf == NULL) {
290     + report(RPT_ERR, "%s: unable to create framebuffer", drvthis->name);
291     + return -1;
292     + }
293     + memset(p->framebuf, ' ', p->width * p->height);
294     +
295     + /* make sure the framebuffer backing store is there... */
296     + p->backingstore = (unsigned char *) malloc(p->width * p->height);
297     + if (p->backingstore == NULL) {
298     + report(RPT_ERR, "%s: unable to create framebuffer backing store", drvthis->name);
299     + return -1;
300     + }
301     + memset(p->backingstore, ' ', p->width * p->height);
302     +
303     + /* set initial LCD configuration */
304     + roamer_clear(drvthis);
305     +
306     + report(RPT_DEBUG, "%s: init() done", drvthis->name);
307     +
308     + return 1;
309     +}
310     +
311     +/////////////////////////////////////////////////////////////////
312     +// Closes the device
313     +//
314     +MODULE_EXPORT void
315     +roamer_close (Driver *drvthis)
316     +{
317     + PrivateData *p = drvthis->private_data;
318     +
319     + if (p != NULL) {
320     + write(p->fd, p->lcd_close, sizeof(p->lcd_close)-1);
321     +
322     + if (p->fd >= 0)
323     + close(p->fd);
324     +
325     + if (p->framebuf)
326     + free(p->framebuf);
327     + p->framebuf = NULL;
328     +
329     + if (p->backingstore)
330     + free(p->backingstore);
331     + p->backingstore = NULL;
332     +
333     + free(p);
334     + }
335     + drvthis->store_private_ptr(drvthis, NULL);
336     + report(RPT_DEBUG, "%s: closed", drvthis->name);
337     +}
338     +
339     +/////////////////////////////////////////////////////////////////
340     +// Returns the display width
341     +//
342     +MODULE_EXPORT int
343     +roamer_width (Driver *drvthis)
344     +{
345     + PrivateData *p = drvthis->private_data;
346     +
347     + return p->width;
348     +}
349     +
350     +/////////////////////////////////////////////////////////////////
351     +// Returns the display height
352     +//
353     +MODULE_EXPORT int
354     +roamer_height (Driver *drvthis)
355     +{
356     + PrivateData *p = drvthis->private_data;
357     +
358     + return p->height;
359     +}
360     +
361     +/////////////////////////////////////////////////////////////////
362     +// Clears the LCD screen
363     +//
364     +MODULE_EXPORT void
365     +roamer_clear (Driver *drvthis)
366     +{
367     + PrivateData *p = drvthis->private_data;
368     +
369     + /* replace all chars in framebuf with spaces */
370     + memset(p->framebuf, ' ', (p->width * p->height));
371     +
372     + report(RPT_DEBUG, "%s: cleared framebuffer", drvthis->name);
373     +}
374     +
375     +//////////////////////////////////////////////////////////////////
376     +// Flushes all output to the lcd...
377     +//
378     +MODULE_EXPORT void
379     +roamer_flush (Driver *drvthis)
380     +{
381     + PrivateData *p = drvthis->private_data;
382     +
383     + char out[ (p->width*p->height) + 2 ];
384     +
385     + report(RPT_DEBUG, "%s Framebuf: '%.*s'", drvthis->name, p->width*p->height, p->framebuf);
386     + report(RPT_DEBUG, "%s Backingstore: '%.*s'", drvthis->name, p->width*p->height, p->backingstore);
387     +
388     + // skip over identical buffers
389     + if ( memcmp(p->framebuf, p->backingstore, p->width*p->height) == 0) {
390     + return;
391     + }
392     +
393     + snprintf(out, p->width*p->height+2, "M%.*s", p->width*p->height, p->framebuf);
394     + report(RPT_DEBUG, "%s writing: M%.*s", drvthis->name, p->width*p->height, p->framebuf);
395     +
396     + write(p->fd, out, sizeof(out)-1);
397     +
398     + memcpy(p->backingstore, p->framebuf, p->width * p->height);
399     + report(RPT_DEBUG, "%s: frame buffer flushed", drvthis->name);
400     +}
401     +
402     +/////////////////////////////////////////////////////////////////
403     +// Prints a string on the lcd display, at position (x,y). The
404     +// upper-left is (1,1), and the lower right should be (20,4).
405     +//
406     +MODULE_EXPORT void
407     +roamer_string (Driver *drvthis, int x, int y, const char string[])
408     +{
409     + PrivateData *p = drvthis->private_data;
410     + int i;
411     +
412     + x--; y--; // Convert 1-based coords to 0-based...
413     +
414     + if ((y < 0) || (y >= p->height))
415     + return;
416     +
417     + for (i = 0; (string[i] != '\0') && (x < p->width); i++, x++) {
418     + if (x >= 0) // no write left of left border
419     + p->framebuf[(y * p->width) + x] = string[i];
420     + }
421     + report(RPT_DEBUG, "%s: printed string at (%d,%d)", drvthis->name, x, y);
422     +}
423     +
424     +/////////////////////////////////////////////////////////////////
425     +// Prints a character on the lcd display, at position (x,y). The
426     +// upper-left is (1,1), and the lower right should be (20,4).
427     +//
428     +MODULE_EXPORT void
429     +roamer_chr (Driver *drvthis, int x, int y, char c)
430     +{
431     + PrivateData *p = drvthis->private_data;
432     +
433     + x--; y--; // Convert 1-based coords to 0-based...
434     +
435     + if (c == '#')
436     + c = 0xFF;
437     +
438     + if ((x >= 0) && (y >= 0) && (x < p->width) && (y < p->height))
439     + p->framebuf[(y * p->width) + x] = c;
440     +
441     + report(RPT_DEBUG, "%s: writing character %02X to position (%d,%d)", drvthis->name, c, x, y);
442     +}
443     +
444     +/////////////////////////////////////////////////////////////
445     +// Does the heartbeat...
446     +//
447     +MODULE_EXPORT void
448     +roamer_heartbeat (Driver *drvthis, int state)
449     +{
450     + PrivateData *p = drvthis->private_data;
451     +
452     + static int timer = 0;
453     + static int saved_state = HEARTBEAT_ON;
454     + char out[3];
455     + char beat;
456     +
457     + if (state)
458     + saved_state = state;
459     + if (state == HEARTBEAT_ON) {
460     + beat = ((timer + 4) & 4) ? '1' : '0';
461     +// if (p->beat != beat) {
462     +// snprintf(out, 4, "L%c", beat);
463     +// write(p->fd, out, sizeof(out)-1);
464     +// }
465     +// p->beat = beat;
466     +
467     + roamer_chr(drvthis, p->width, 1, (beat == '1') ? '#' : ' ');
468     + roamer_flush(drvthis);
469     + }
470     + timer++;
471     + timer &= 0x0F;
472     +}
473     +
474     +/////////////////////////////////////////////////////////////////
475     +// Sets the contrast
476     +//
477     +MODULE_EXPORT void
478     +roamer_set_contrast (Driver *drvthis, int promille)
479     +{
480     + //PrivateData *p = drvthis->private_data;
481     +
482     + report(RPT_DEBUG, "%s: contrast (%d)", drvthis->name, promille);
483     +}
484     +
485     +/////////////////////////////////////////////////////////////////
486     +// Sets the backlight brightness
487     +//
488     +MODULE_EXPORT void
489     +roamer_backlight (Driver *drvthis, int on)
490     +{
491     + //PrivateData *p = drvthis->private_data;
492     +
493     + report(RPT_DEBUG, "%s: backlight (%s)", drvthis->name, (on) ? "ON" : "OFF");
494     +}
495     +
496     --- lcdproc-0.5.2/server/drivers/roamer.h.roamer 2008-04-12 14:58:12.000000000 -0600
497     +++ lcdproc-0.5.2/server/drivers/roamer.h 2008-04-11 16:05:31.000000000 -0600
498     @@ -0,0 +1,23 @@
499     +#ifndef LCD_ROAMER_H
500     +#define LCD_ROAMER_H
501     +
502     +#include "lcd.h"
503     +
504     +#define DEFAULT_DEVICE "/dev/ttyS0"
505     +#define DEFAULT_SPEED 9600
506     +#define DEFAULT_SIZE "20x2"
507     +
508     +
509     +MODULE_EXPORT int roamer_init (Driver *drvthis);
510     +MODULE_EXPORT void roamer_close (Driver *drvthis);
511     +MODULE_EXPORT int roamer_width (Driver *drvthis);
512     +MODULE_EXPORT int roamer_height (Driver *drvthis);
513     +MODULE_EXPORT void roamer_clear (Driver *drvthis);
514     +MODULE_EXPORT void roamer_flush (Driver *drvthis);
515     +MODULE_EXPORT void roamer_string (Driver *drvthis, int x, int y, const char string[]);
516     +MODULE_EXPORT void roamer_chr (Driver *drvthis, int x, int y, char c);
517     +MODULE_EXPORT void roamer_heartbeat (Driver *drvthis, int state);
518     +MODULE_EXPORT void roamer_set_contrast (Driver *drvthis, int promille);
519     +MODULE_EXPORT void roamer_backlight (Driver *drvthis, int on);
520     +
521     +#endif
522     --- lcdproc-0.5.2/docs/lcdproc-user/drivers/roamer.dockbook.roamer 2008-04-12 14:38:40.000000000 -0600
523     +++ lcdproc-0.5.2/docs/lcdproc-user/drivers/roamer.dockbook 2008-04-12 14:41:53.000000000 -0600
524     @@ -0,0 +1,68 @@
525     +<sect1 id="roamer-howto">
526     +<title>The roamer Driver</title>
527     +
528     +<para>
529     +This section talks about using LCDproc with LCD displays that use the
530     +roamer chipset.
531     +</para>
532     +
533     +<!-- ## Text driver ## -->
534     +<sect2 id="roamer-config">
535     +<title>Configuration in LCDd.conf</title>
536     +
537     +<sect3 id="roamer-config-section">
538     +<title>[roamer]</title>
539     +
540     +<variablelist>
541     +
542     +<varlistentry>
543     + <term>
544     + <command>Size=</command>
545     + <arg choice="plain">
546     + <replaceable>WIDTH</replaceable>
547     + <literal>x</literal>
548     + <replaceable>HEIGHT</replaceable>
549     + </arg>
550     + </term>
551     + <listitem><para>
552     + Set the display size [default: <literal>20x2</literal>]
553     + </para></listitem>
554     +</varlistentry>
555     +
556     +<varlistentry>
557     + <term>
558     + <command>Device=</command>
559     + <arg choice="plain"><replaceable>DEVICE</replaceable></arg>
560     + </term>
561     + <listitem><para>
562     + Device to use in serial mode. Usual values are <filename>/dev/ttyS0</filename> or
563     + <filename>/dev/ttyS1</filename>. Default is <filename>/dev/ttyS0</filename>.
564     + </para></listitem>
565     +</varlistentry>
566     +
567     +<varlistentry>
568     + <term>
569     + <command>Speed=</command>
570     + <arg choice="plain">
571     + <group choice="req">
572     + <arg choice="plain"><literal>1200</literal></arg>
573     + <arg choice="plain"><literal>2400</literal></arg>
574     + <arg choice="plain"><literal><emphasis>9600</emphasis></literal></arg>
575     + <arg choice="plain"><literal>19200</literal></arg>
576     + <arg choice="plain"><literal>115200</literal></arg>
577     + </group>
578     + </arg>
579     + </term>
580     + <listitem><para>
581     + Set the the baud rate communication with the POS display.
582     + If not given the default of <literal>9600</literal> is used.
583     + </para></listitem>
584     +</varlistentry>
585     +
586     +</variablelist>
587     +
588     +</sect3>
589     +
590     +</sect2>
591     +
592     +</sect1>
593     --- lcdproc-0.5.2/docs/lcdproc-user/drivers/Makefile.am.roamer 2007-04-27 03:41:19.000000000 -0600
594     +++ lcdproc-0.5.2/docs/lcdproc-user/drivers/Makefile.am 2008-04-12 14:42:29.000000000 -0600
595     @@ -29,6 +29,7 @@
596     picolcd.docbook \
597     ppttrouble.docbook \
598     pylcd.docbook \
599     + roamer.docbook \
600     sed1330.docbook \
601     sed1520.docbook \
602     serialPOS.docbook \
603     --- lcdproc-0.5.2/docs/lcdproc-user/drivers/Makefile.in.roamer 2008-04-12 14:43:51.000000000 -0600
604     +++ lcdproc-0.5.2/docs/lcdproc-user/drivers/Makefile.in 2008-04-12 14:42:52.000000000 -0600
605     @@ -190,6 +190,7 @@
606     picolcd.docbook \
607     ppttrouble.docbook \
608     pylcd.docbook \
609     + roamer.docbook \
610     sed1330.docbook \
611     sed1520.docbook \
612     serialPOS.docbook \
613     --- lcdproc-0.5.2/docs/lcdproc-user/drivers.docbook.roamer 2007-04-14 08:38:34.000000000 -0600
614     +++ lcdproc-0.5.2/docs/lcdproc-user/drivers.docbook 2008-04-12 14:44:17.000000000 -0600
615     @@ -35,6 +35,7 @@
616     &NoritakeVFD;
617     &picolcd;
618     &pylcd;
619     +&roamer;
620     &sed1330;
621     &sed1520;
622     &serialPOS;
623     --- lcdproc-0.5.2/docs/lcdproc-user/lcdproc-user.docbook.roamer 2007-04-14 08:38:34.000000000 -0600
624     +++ lcdproc-0.5.2/docs/lcdproc-user/lcdproc-user.docbook 2008-04-12 14:44:49.000000000 -0600
625     @@ -41,6 +41,7 @@
626     <!ENTITY NoritakeVFD SYSTEM "drivers/NoritakeVFD.docbook">
627     <!ENTITY picolcd SYSTEM "drivers/picolcd.docbook">
628     <!ENTITY pylcd SYSTEM "drivers/pylcd.docbook">
629     + <!ENTITY roamer SYSTEM "drivers/roamer.docbook">
630     <!ENTITY sed1330 SYSTEM "drivers/sed1330.docbook">
631     <!ENTITY sed1520 SYSTEM "drivers/sed1520.docbook">
632     <!ENTITY serialPOS SYSTEM "drivers/serialPOS.docbook">
633     --- lcdproc-0.5.2/configure.roamer 2007-04-27 04:40:29.000000000 -0600
634     +++ lcdproc-0.5.2/configure 2008-04-12 14:37:28.000000000 -0600
635     @@ -1329,9 +1329,9 @@
636     bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,ea65,
637     EyeboxOne,g15,glcdlib,glk,hd44780,icp_a106,imon,IOWarrior,
638     irman,joy,lb216,lcdm001,lcterm,lirc,MD8800,ms6931,
639     - mtc_s16209x,MtxOrb,NoritakeVFD,picolcd,pyramid,sed1330
640     - sed1520,serialPOS,serialVFD,sli,stv5730,svga,t6963,text,
641     - tyan,ula200,xosd
642     + mtc_s16209x,MtxOrb,NoritakeVFD,picolcd,pyramid,roamer,
643     + sed1330,sed1520,serialPOS,serialVFD,sli,stv5730,svga,
644     + t6963,text,tyan,ula200,xosd
645     'all' compiles all drivers;
646     'all,!xxx,!yyy' de-selects previously selected drivers
647     --enable-seamless-hbars no gaps in horizontal bar graphs (if HW supports it)
648     @@ -9699,7 +9699,7 @@
649     fi
650    
651    
652     -allDrivers=bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,ea65,EyeboxOne,g15,glcdlib,glk,hd44780,icp_a106,imon,IOWarrior,irman,joy,lb216,lcdm001,lcterm,lirc,MD8800,ms6931,mtc_s16209x,MtxOrb,NoritakeVFD,picolcd,pyramid,sed1330,sed1520,serialPOS,serialVFD,sli,stv5730,svga,t6963,text,tyan,ula200,xosd
653     +allDrivers=bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,ea65,EyeboxOne,g15,glcdlib,glk,hd44780,icp_a106,imon,IOWarrior,irman,joy,lb216,lcdm001,lcterm,lirc,MD8800,ms6931,mtc_s16209x,MtxOrb,NoritakeVFD,picolcd,pyramid,roamer,sed1330,sed1520,serialPOS,serialVFD,sli,stv5730,svga,t6963,text,tyan,ula200,xosd
654    
655     drivers=`echo $drivers | sed -e 's/,/ /g'`
656    
657     @@ -12454,6 +12454,10 @@
658     DRIVERS="$DRIVERS pyramid${SO}"
659     actdrivers="$actdrivers pyramid"
660     ;;
661     + roamer)
662     + DRIVERS="$DRIVERS roamer${SO}"
663     + actdrivers="$actdrivers roamer"
664     + ;;
665     sed1330)
666     if test "$ac_cv_port_have_lpt" = yes
667     then
668     --- lcdproc-0.5.2/acinclude.m4.roamer 2007-04-14 08:39:28.000000000 -0600
669     +++ lcdproc-0.5.2/acinclude.m4 2008-04-12 14:35:14.000000000 -0600
670     @@ -8,15 +8,15 @@
671     [ bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,ea65,]
672     [ EyeboxOne,g15,glcdlib,glk,hd44780,icp_a106,imon,IOWarrior,]
673     [ irman,joy,lb216,lcdm001,lcterm,lirc,MD8800,ms6931,]
674     - [ mtc_s16209x,MtxOrb,NoritakeVFD,picolcd,pyramid,sed1330]
675     - [ sed1520,serialPOS,serialVFD,sli,stv5730,svga,t6963,text,]
676     - [ tyan,ula200,xosd]
677     + [ mtc_s16209x,MtxOrb,NoritakeVFD,picolcd,pyramid,roamer,]
678     + [ sed1330,sed1520,serialPOS,serialVFD,sli,stv5730,svga,]
679     + [ t6963,text,tyan,ula200,xosd]
680     [ 'all' compiles all drivers;]
681     [ 'all,!xxx,!yyy' de-selects previously selected drivers],
682     drivers="$enableval",
683     drivers=[bayrad,CFontz,CFontz633,curses,CwLnx,glk,lb216,lcdm001,MtxOrb,pyramid,text])
684    
685     -allDrivers=[bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,ea65,EyeboxOne,g15,glcdlib,glk,hd44780,icp_a106,imon,IOWarrior,irman,joy,lb216,lcdm001,lcterm,lirc,MD8800,ms6931,mtc_s16209x,MtxOrb,NoritakeVFD,picolcd,pyramid,sed1330,sed1520,serialPOS,serialVFD,sli,stv5730,svga,t6963,text,tyan,ula200,xosd]
686     +allDrivers=[bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,ea65,EyeboxOne,g15,glcdlib,glk,hd44780,icp_a106,imon,IOWarrior,irman,joy,lb216,lcdm001,lcterm,lirc,MD8800,ms6931,mtc_s16209x,MtxOrb,NoritakeVFD,picolcd,pyramid,roamer,sed1330,sed1520,serialPOS,serialVFD,sli,stv5730,svga,t6963,text,tyan,ula200,xosd]
687    
688     drivers=`echo $drivers | sed -e 's/,/ /g'`
689    
690     @@ -297,6 +297,10 @@
691     DRIVERS="$DRIVERS pyramid${SO}"
692     actdrivers=["$actdrivers pyramid"]
693     ;;
694     + roamer)
695     + DRIVERS="$DRIVERS roamer${SO}"
696     + actdrivers=["$actdrivers roamer"]
697     + ;;
698     sed1330)
699     if test "$ac_cv_port_have_lpt" = yes
700     then
701     --- lcdproc-0.5.2/LCDd.conf.roamer 2007-04-25 13:56:43.000000000 -0600
702     +++ lcdproc-0.5.2/LCDd.conf 2008-04-12 14:46:45.000000000 -0600
703     @@ -39,8 +39,9 @@
704     # bayrad, CFontz, CFontz633, CFontzPacket, curses, CwLnx, ea65,
705     # EyeboxOne, g15, glcdlib, glk, hd44780, icp_a106, imon, IOWarrior,
706     # irman, joy, lb216, lcdm001, lcterm, lirc, MD8800, ms6931, mtc_s16209x,
707     -# MtxOrb, NoritakeVFD, picolcd, pyramid, sed1330, sed1520, serialPOS,
708     -# serialVFD, sli, stv5730, svga, t6963, text, tyan, ula200, xosd
709     +# MtxOrb, NoritakeVFD, picolcd, pyramid, roamer, sed1330, sed1520,
710     +# serialPOS, serialVFD, sli, stv5730, svga, t6963, text, tyan, ula200,
711     +# xosd
712     Driver=curses
713    
714     # Tells the driver to bind to the given interface
715     @@ -754,6 +755,20 @@
716    
717    
718    
719     +## roamer display driver ##
720     +[roamer]
721     +
722     +# Device to use in serial modea [default: /dev/lcd]
723     +Device=/dev/ttyS0
724     +
725     +# Specifies the size of the display in characters. [default: 20x2]
726     +Size=20x2
727     +
728     +# communication baud rate with the display [default: 9600; legal: 1200, 2400, 19200, 115200]
729     +Speed=9600
730     +
731     +
732     +
733     ## Seiko Epson 1330 driver ##
734     [sed1330]
735    

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed