bperrybap:
the characters you print go to CGRAM rather than to the display. (it will corrupt your custom characters).
To work around it you must do a clear(), home() or setCursor() before after calling createChar() before you print something.
Thats probably what saved me then. I don';t think there's any time when I print anything to the display without an initial SetCursor() call.
bperrybap:
hd44780 does not have this issue. And since hd44780 can also read data/characters from the LCD, it not only puts the display back into DDRAM mode after createChar() but also restores the cursor position to where it was prior to calling createChar().
Not other library does this.--- bill
It should not surprise you that I've spent at least as much time "tweaking" what I do in various displays on that little LCD, as I spent on the program's operational logic. ![]()
One issue, I do wish the contrast control were under software control rather than needing to physically adjust that trim pot. Its a fine line to get it as near perfect as possible, especially in response to displays with changing content. And I tend to make my project breadboard mount behind it with the screw holes provided, so its impossible to make the adjustment once its all built together. I'll have to remember to place a hole behind the POT location when I cut a PC board!