LCDproc development and user support list

Text archives Help

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

Chronological Thread 
  • From: dura-zell AT (Sven Mertens)
  • Subject: [Lcdproc] HD44780-winamp gets overflooded with Hearts after upgrading to CVS
  • Date: Fri Mar 11 13:45:01 2005

Joris Robijn schrieb:
> On 10 Mar 2005 at 22:43, Sven Mertens wrote:
>>Hi Joris,
>>I hope you didn't misunderstood my last post. I never wanted to blame
>>anybody for what is happening between lcdproc, my parallelport and the
> Don't worry, I didn't. But someone's got to do the job and right now I'm
> quite busy and I don't have a display that has this problem.
Don't bother, if you have things to do wich are more important so do
them. I can wait and my display can wait too. :)
I've always in mind that you and the others are doing this stuff in your
sparetime as I'm doing this in my sparetime too.
> No reason to blame your english either.
>>Ah, and I believe I have understood that the initialization is a complex
> On itself it is not. It is only the fact that it has to work for all
> devices it supports and all modes. It is not something to change
> lighthearted.
Didn't want to change this lighthearted, didn't want to change anything
if not told to do so or understood it ;)
>>Version 0.5 CVS
>>Normal compile, as downloaded from the website.
>>Doesn't show up on the display, no errors on the console / log
>>Modified compile with suggestions from Andrés Trapanotto:
>>Compiles, runs, but did not show anything on the display
> Try increasing the debuglevel and check the logging. Something should
> appear at some moment. The hd44780 driver can log what it doing with the
> display. You need to compile with --enable-debug to get more debug
> output.
> I understand why you still start 0.4.5 . You're right it points to an
> init problem. Compare what exactly the code does in sequence in 0.4.5
> and 0.5. Try increasing the delays in the code, or maybe swapping
> something in the sequence.
> Joris
> --
> Joris Robijn
> <joris AT>
> Mobile: +31 6 288 41 964
> // To understand recursion, we must first understand recursion


I've previous compiled with --enabled-debug and it didn't gave me a clue
whats wrong here. So, now I've got an idea what to look for and did it
Currently I'm using a script wich cleans, configures, makes the lcdproc,
starts the server, connects a client for 30 secs and kills them all
after that. Every output from the programs is redirected into logfiles.
(If you want to see the files or my script just tell me, I will send
them to the list or directly to your mailadress)

I think that is a good starting point. I've compiled 0.5 and 0.4.5 and
compared the output between the LCDd logfiles.

Let me say, as far as I can see, there's nothing unusual in the output.
I've read nearly the whole file without finding anything what looks like
an error for me. I also had a look with textsearch for common words like
"error, missing, fail" wich didn't brought me a reasonable result. The
only thing I can say is that the 0.4.5 generates less debugmessages than
the 0.5. I reviewed the compilelog too, there are some messages about
"comparison between signed and unsigned" and "declared but unused" but
nothing more. Is this a hint?

So, I had a look at the code. Since I don't know C I can only look for
"logical" errors or problems, I can't look at the code-syntax or
something like this. My main-view was at hd44780_init in hd44780.c and
the refered function in hd44780-winamp.c

So, since I'm a stupid newbie I have to ask some stupid questions wich
may help to understand and therefore help to find eventually a weak
point somewhere ;)

1. Is this the code to generate a delay:
p->hd44780_functions->uPause (p, 40);
How long does this particular example delays? 0.040 secs?

2. HD44780_init has this comment:
// Opens com port and sets baud correctly...
Does this mean it refers only to serial COM-Ports e.g. COM1, COM2?

3. Are I'm right when I assume that the framebuffer is a space in
computermemory and NOT at the display? (Like a framebuffer on a
graphicscard is a space on the videoram and not in the monitor)

4. Why are there two of them, it seems that there's a framebuffer wich
the programm writes to and a second buffer wich holds the actual content
of the LCD. Doesn't have the LCD a memory so the contents has to be
continously pushed to it?

5. Does
"connectionMapping[p->connectiontype_index].init_fn (drvthis);"
in file "hd44780.c (line 350)"
initialize my display with function
"hd_init_winamp (Driver *drvthis)"
in file "hd44780-winamp.c" ?
If not, where can I place a delay and where are the initfunctions?

Sorry for so many questions.

You told me to have a look at the code, to compare the code and watch
and compare the logfiles. As you are busy and don't have a display wich
has my problems I like to do some work for you, but maybe I'm to new to
this stuff, so if you can give me some hints where I can exactly look i
would welcome this.

If you have something where I can read to get an answer to my questions
(the above listed ones) feel free to give me a link or fill my mailbox
with docs. ;)
If it would help to take my old C-book wich has, hardly used, found a
place on my desktop, I will take it and try to learn something about C.

Just tell me what I can do and where I can look. Just at this moment my
programming experience is limited to basic, php and bash-scripting :-/ I
just don't understand the code in these files lying in the lcdproc dirs.
Short: I _would_ like to help, to do something, since _I'm_ the one who
has problems and _you_ are the one who helps me, but I don't know how.

Sven Mertens

Archive powered by MHonArc 2.6.18.

Top of page