[Lcdproc] Re: lcdproc-0.5.1 and serialized HD44780 on k-data
wake-up 2.0 module
Frank Jepsen
lcdproc@jepsennet.de
Thu Feb 1 08:49:01 2007
Hello Bernd,
> Well, here are my thoughts on that more from a user perspective. :-)
>
> I am personally not in favor of a change of the vdr-wakeup "firmeware" for one
> practical reason - I have no possibility (yet) to to update it! I would
> further argue, of cause a little selfish ;-), that this might be true for
> some other vdr-wakeup users...
>
If you're able to build this device into your computer, you should be
able to program new firmware into it. All you need is a DIN25 connector
for your parallel port, two resistors, some cable and PonyProg. All
described on my web site.
> As I interpret the LCDd.conf WaitTime=2 forces the cycling of e.g. lcdproc
> client screens with this frequency. So I agree with Matheo that showing
> client screen only for 2 seconds might be in some cases too short.
>
> This brings me to the idea to propose the introduction of a LCDd.conf
> value "ForcedFullRedrawTime" *) with a default of e.g. 10 sec. In the case of
> vdr-wakeup it should be set to 2 sec. This value should work independantly
> from the client(s) used, because e.g. airlcd <http://airlcd.sourceforge.net/>
> maintains its own screen duration time. I recognized that the backlight was
> shot off if I used the standard screen duration of 8 sec.
>
> *) Another perspective is to argue that this "problem" is vdr-wakeup specific
> and not worth to spend an extra config option. So, if no other hardwares or
> usage situations would benefit from it I would think this could
> be "hardcoded" only for the vdr-wakeup variant.
>
> Frank - didn't you do more or less exactly this in
> your "lcdproc-0.4.5-fj2.diff"? At least thats my rudimentary interpretation
> of what is meant with [...
> + // force full refresh of display
> + if (refreshdisplay > 0 && time(NULL) > nextfullrefresh)
> + {
> + refreshAll = 1;
> + nextfullrefresh=time(NULL)+5;
> + } ...] and some other code...
>
I wrongly thought Waittime is something like my RefreshDisplay from my
original patch:
RefreshDisplay=5
# Force full refresh of display every 5 seconds.
# Default: 0 (no forced refreshs)
I was forced to use this option because in my early firmware versions I
had a bug that caused an overflow in the RS232 receive buffer, which
results in lost data and destroyed display which was never restored.
GraphLCD had a similar option to make sure that the display gets
refreshed after errors in data transfer. After correcting the error in
the firmware I never had to use this option again.
But perhaps this option is a good thing as a workaround in cases where
you can't garantee 0% data transfer errors due to long cables, bad
firmware etc.
A KeepAlive option which sends a NOP every now and then would also be
nice. It is like a watchdog function. So the external device can see if
the LCDproc software or the PC is still working properly, which was the
reason for the timeout in my firmware. As NOP you can perhaps use a
refresh of just one character in the upper left corner. This should be
compatible with all connection types and can be implemented at the same
position as RefreshDisplay.
Bye Frank