LCD: 2x20 versus 4x20

OK guys, I've got it. It was one of those "think outside the box" solutions, just as I was beginning to like the taste of cardboard.

I tried sending *21* or more characters, in my case, by echoing them to the OWFS file "message". Every time, it put it on line 1 as anticipated, but then went a little nuts and started on line 3. But until tonight I didn't do what now seems obvious: take that test a little further.

One would think you'd write line 1,2,3,4 but it doesn't show up that way. In the code that generates the strings, send it 4, 20-character lines, but in the format line 1,3,2,4. They have to be exactly 20 characters long- it's a good place like printf to do the padding...but this seems to work beautifully- no code changes, no soldering, just one small change to the way you address it.

I now have a temperature/humidity/solar board and a 4x20 LCD in a loop on a Linux box. The output looks like:

Ambient T: 76.662
Humidity: 47.595
Solar: 0.00098
Climate: norm

Another note: if you use "message" to send it out there, you'll notice a flicker- that's it clearing the screen before each update of your data. Using the "screen" file removes the flicker completely; that might mask your updates, if the changes are small. Either way, it's your choice.

I couldn't upload the Perl code; I'm not permitted. I'll put it on someplace.