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 dynamik.sytes.net (Sven Mertens)
  • Subject: [Lcdproc] HD44780-winamp gets overflooded with Hearts after upgrading to CVS
  • Date: Thu Mar 10 20:20:00 2005

[ for complete Thread please refer to the archive]
> Sven Mertens escribió:
>> Hi!
>>
>> I'm a stupid noob, aren't I? ;)
>> First I tried 'fprintf (stderr,"%s", p->framebuf);" placed in the end
>> of HD44780_flush.
>>
>> This is exactly was happend:
>> server:/compile/lcdproc_cvs3/server # ./LCDd
>> LCDd version CVS-current-20050310 starting
>> Using Configuration File: /etc/LCDd.conf
>> LCDd CVS-current-20050310, LCDproc Protocol 0.3
>> Part of LCDproc
>> Copyright (C) 1998-2003 William Ferrell, Scott Scriven
>> and many other contributors
>>
>> 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
>> of the License, 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.
>>
>> The file COPYING contains the GNU General Public License.
>> 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
>> USA.
>>
>> Listening for queries on 127.0.0.1:13666
>> HD44780 20x4 LPT 0x378 LCDproc Server LCDproc Server
>> LCDproc Server LCDproc Server LCDproc Server LCDproc Server
>> LCDproc Server LCDproc Server LCDproc Server LCDproc Server LCDproc
>> Server LCDproc Server LCDproc Server LCDproc Server LCDproc Server
>> LCDproc Server LCDproc Server LCDproc Server LCDproc Server
>> LCDproc Server LCDproc Server LCDproc Server LCDproc Server Server
>> shutting down on SIGINT
>> server:/compile/lcdproc_cvs3/server # LCDproc and Linux!
>>
>>
>> I think that was intendend, since it printed out an "LCDproc" every
>> second. I noticed that it prints a lot of spaces. (Are this the hearts
>> i can see on my display?)
>> Now I tried the little for-loop you suggested.
>> That happened:
>>
>> Listening for queries on 127.0.0.1:13666
>>
>> 0x480x440x340x340x370x380x300x200x320x300x780x340x200x200x200x200x200x200x200x200x4C0x500x540x200x300x780x330x370x380x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x20
>>
>>
>> 0x60x60x200x4C0x430x440x700x720x6F0x630x200x530x650x720x760x650x720x200x6
>> 0x60x60x200x4C0x430x440x700x720x6F0x630x200x530x650x720x760x650x720x200x6
>> 0x60x60x200x4C0x430x440x700x720x6F0x630x200x530x650x720x760x650x720x200x6
>> 0x60x60x200x4C0x430x440x700x720x6F0x630x200x530x650x720x760x650x720x200x6
>> 0x60x60x200x4C0x430x440x700x720x6F0x630x200x530x650x720x760x650x720x200x6
>> 0x60x60x200x4C0x430x440x700x720x6F0x630x200x530x650x720x760x650x720x200x6
>> 0x60x60x200x4C0x430x440x700x720x6F0x630x200x530x650x720x760x650x720x200x6
>> 0x60x60x200x4C0x430x440x700x720x6F0x630x200x530x650x720x760x650x720x200x6Server
>>
>> shutting down on SIGINT
>>
>> 0x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x540x680x610x6E0x6B0x730x200x660x6F0x720x200x750x730x690x6E0x670x200x200x200x4C0x430x440x700x720x6F0x630x200x610x6E0x640x200x4C0x690x6E0x750x780x210x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x
>>
>>
>>
>>
>> I noticed it is printing me the hex-numbers of the framebuffer. Since
>> I'm out of time I will have a look on this later, in the evening, (its
>> afternoon here).
>
>
>
> Well, if you try this for-loop
> ---
> fprintf (stderr,"\n");
> for (i=0; p->framebuf[i];i++)
> fprintf (stderr, "0x%02X ",p->framebuf[i]);
> ---
> you'll get this
>
> (........) 0x48 0x44 0x34 0x34 0x37 0x38 0x30 0x20 0x32 0x30 0x78 0x34
> 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x4C 0x50 0x54 0x20 0x30 0x78
> 0x33 0x37 0x38 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20
> 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20
> 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20
> 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x06 0x06
> 0x20 0x4C 0x43 0x44 0x70 0x72 0x6F 0x63 0x20 0x53 0x65 0x72 0x76 0x65
> 0x72 0x20 0x06 (........)
>
> so you can see that the program is filling spaces with spaces 0x20 :)
> At now you can remove the for-loop because we now what we wanted to
> know.
>
> I was looking for differences between the lcdproc-0.4.5 and
> lcdproc-0.5 version of this driver.
> Please change the line 442 form
>
> char ch; to
> unsigned char ch;
> .........................
>



Hi, thanks for your quick reply.

Let me make a short note to Joris in advance:
Please take my excuses for beeing impolite to the list, this was not
intended. I've read it is recommended to leave the mails untouched. Not
knowing it better I did so. Since this is my first mailing-list, I made
this mistake. It will not occur again.

So, back to the display. I modified the line as you recommended.
Then I recompiled (meanwhile I wrote a script doing this for me) and
started the daemon.
The result was exactly nothing. The display didn't show anything.

I remembered that I recently resetted the display, and started (and
killed) the 0.4.5 to bring up my LCD to life.
After that I restarted the 0.5 daemon and got the wellknown hearts. ( I
tried 18x4 and 20x4 ).
I inserted a "fprintf (stderr,"Test");" a line above 442 to see if my
changes are noticed and compiled in. After a recompile I could see that
they are. Sorry, your modification didn't work.
Please let me ask what I have done here. Well, I know char's wich are,
if I remember correctly, strings with exactly 1 character length. But I
don't know what an unsigned char is, so, if you have the time, tell me,
maybe I can understand what I was doing to the code ;)


---------------- silly guesses from a newbie --------------------------
----------please correct if wrong and ignore if stupid ;) -------------

Since I have to use 0.4.5 to initialize my display (it does really
nothing if 0.5 is started without starting and killing 0.4.5 in
advance), is it possible that there's a problem with the
display-initialization?

As you described, the displaymemory or displaybuffer gets filled with
"spaces" wich aren't spaces because the empty char gets overwritten by
lcdproc with the heart.

As my display does nothing before it was initialized with 0.4.5 there's
perhaps (additionally to our heart-related problem) a problem with the
initialization of the display.
And, finally, maybe the 0.4.5 places the heart at another place in the
memory as 0.5, so, if 0.5 is started (and doesn't initialize or reset
the display) there are the hearts when the controller / chargenerator /
whatever is activated.

---------------------- End of silly guesses ----------------------------

With best regards,
Sven Mertens





Archive powered by MHonArc 2.6.18.

Top of page