LCDproc development and user support list

Text archives Help


[Lcdproc] picoLCD 4x20 only 19 chars


Chronological Thread 
  • From: ethan.dicks at gmail.com (Ethan Dicks)
  • Subject: [Lcdproc] picoLCD 4x20 only 19 chars
  • Date: Sun, 23 Nov 2008 13:33:14 +1300

On Sun, Nov 23, 2008 at 11:54 AM, <hansfong at zonnet.nl> wrote:
> Not so fast....
>
> I can only get 19 character displayed on my mini-box picoLCD 4x20. The last
> character on the first line shows three vertical lines (|||), on the other
> lines the last character is blank. This is already the case when I start the
> deamon, so it seems not a client problem. I'm using lcdproc which I
> downloaded from the mini-box website, which is version 0.5.2. Any ideas?

I can't check specifically since I'm traveling and don't have my
picoLCD with me, but I did fix and submit a bug with the driver for
the 2x20 months ago that very specifically fixed writing to the full
width. I checked the CVS repository and I can't seem to find it.

In picoLCD_string(), I moved the line "x--; y--;" further up in the
routine, between the boundary checking and the string-length check,
IIRC.

If you compile with debugging on and start the server with debugging
turned up, you will probably see "%s: string overlength (>%d). Start:
%d Length: %d (%s)" errors when trying to display 20-char-long
strings.

I have a client I use for testing - it's really simple - open one
string widget for each line on the display, then fill each character
position with "X" and wait 30 seconds before quitting. It helps me
find bugs like this, or with writing to the lower-right character
position (especially when writing new drivers and having to get
line-scrolling parameters correct).

I should tidy that client up and submit it - it's really not complex,
but it is very, very handy when debugging boundary conditions.

In any case, check your source for how picoLCD_string() goes - it's
probable that my last-char fix isn't in the codebase you are working
from.

-ethan




Archive powered by MHonArc 2.6.18.

Top of page