LCDproc development and user support list

Text archives Help

[Lcdproc] HD44780-winamp gets overflooded with Hearts after upgrading to CVS

Chronological Thread 
  • From: peter AT (Peter Marschall)
  • Subject: [Lcdproc] HD44780-winamp gets overflooded with Hearts after upgrading to CVS
  • Date: Sat Mar 12 15:09:02 2005


I' ltry to answer some of the questions

On Saturday 12 March 2005 12:59, Sven Mertens wrote:
> At the beginning: Am I allowed to deactivate the output of the GNU
> License while I'm testing? (i.e. comment out the function call.) I will
> put it back when I'm finnished. It fills up 2 screens of my terminal
> wich I'm using here (SSH with putty) as I'm not sitting directly in
> front of the computer wich is the LCD connected to (the computer has no
> monitor). Without it it would make the logfiles more readable.

For testing purposes this should be O.K. as long as it is only temporarily.
Please note: I am not a lawyer

> As I'm through with reading the hd44780 related files, today I've taken
> the main.c wich is, as far I have understood, the file wich is the LCDd
> executable formed from, and drivers.c / driver.c wich seems to parse the
> driverlist and calls their init functions.
> What does the "->" in
> "driver->init = driver_init;"
> mean? I've found those "->" in many ohter places too. Knowing this may
> help to understand the structure of the code.

This is an element of the C language and references structure elements from
pointers to the structure

In the case above the variable 'driver' is a pointer to the structure 'struct
lcd_logical_driver' which contains an element called 'init' which is defined
as a pointer to a function taking 2 arguments and returning an integer.

'driver->init = driver_init;' now sets the init element of the structure
'struct lcd_logical_driver' that the variable 'driver' points to to
the value 'driver_init'.

> Whats the meaning of "waving to the parent"? Is this a signal wich is
> send to the LCDd executable after it has created a daemonized process in
> the background to tell the LCDd the process was created sucessfully? And
> what is the signal "SIGUSR1" wich is send to the parent?

wave_to_parent() is used from the fork()ed child to send the
parent process the information that child startup went OK.
The parent process then terminates and the child runs in daemon mode.
SIGUSR1 is one of the POSIX signal names, and is to be used for
user/application specific purposes.

> I found a loop wich is loading a set of drivers in main.c. Is this a
> feature for future realeases wich allows to support more than one
> display type Or is this used to load an internal
> keypad/LED-latch/key-matrix driver?

I guess you already can have two drivers loaded.
(But this is only a wild guess)

> I found some timing related functions in timing.h and in hd4480.c Wich
> ones are used, e.g. wich one do I have to modify if I want to do some
> silly experiments?

If you talk about uPause() in hd4480.c and timing_uPause() in tming.h
you may note that uPause() calls timing_uPause()

> I found that in hd44780.c at line 255:
> "memset(p->cc_dirty, 1, NUM_CCs); /* all custom chars dirty */"
> What is the meaning of "dirty chars" ?

Without looking at the code 'dirty' here should mean eith 'undefined'
or 'needs to be redrawn'

> So, as I'm finnished with that I'll take a break, getting confused by
> reading all the incomprehensible codelines ;) Maybe the answers to my
> questions above will help me to continue. Btw, the above mentioned book
> is a C++ book, it won't help me :/

C++ is a superset of C. So the book might help.
But a pure C book that does not cover the parts of C++ that are
not part of C will surely be better suited.

Peter Marschall
peter AT

Archive powered by MHonArc 2.6.18.

Top of page