Welcome! Log In Create A New Profile


LCD12864 menu scroll down problem

Posted by xkymo 
LCD12864 menu scroll down problem
November 04, 2015 10:22AM
Hi everyone!

I have a problem with my 3D Printer and the LCD12864.
When I enter a menu with more than 5 lines, when I scroll down, it overlays the first line like I show in the pictures. It only happens when scrolling down, not up.
Does any one has this problem? or it is a regular thing?

open | download - 2015-11-04 15.13.59.jpg (536.9 KB)
open | download - 2015-11-04 15.14.07.jpg (504.8 KB)
Re: LCD12864 menu scroll down problem
November 05, 2015 05:11AM
What firmware are you running? Looks like a bug to me.
Re: LCD12864 menu scroll down problem
November 05, 2015 05:13AM
I use a modified marlin to BCN3D+. I saw the original marlin and the main things are equal. It is strange but don't know why.
Re: LCD12864 menu scroll down problem
November 06, 2015 02:58AM
Maybe the text definitions are different? One of the strings have an invisible CR+LF command at the end?
Re: LCD12864 menu scroll down problem
November 06, 2015 07:40AM
I had a similar problem with my Tiny OLED controller, which basically uses the same LCD interface of Marlin as the 128x64 smart graphic controller you use. I had the same kind of overlay when scrolling down, but in my case the overlay was only on the upper half of the upmost line.

I first noted that when I increased ENCODER_STEPS_PER_MENU_ITEM in Configutation.h, the overlay disappeared after scrolling down one more intermediate step after the line scroll. But I did not really like to have to do several encoder steps for scrolling the menu...

I finally got the problem fixed by changing lcdDrawUpdate=1 to lcdDrawUpdate=2 in line 208 of ultralcd.cpp (I use Marlin 1.0.3dev):
      if (encoderLine >= currentMenuViewOffset + LCD_HEIGHT) { currentMenuViewOffset = encoderLine - LCD_HEIGHT + 1; lcdDrawUpdate = 1; _lineNr = currentMenuViewOffset - 1; _drawLineNr = -1; } \

I don't know if this also helps in your case, for me it seems to work, even though the overlay is still quickly visible for some milliseconds, but then gets redrawn correctly.


PS: BTW it was the comment in the following line of ultralcd.cpp which got me suspecting that the problem might be related to lcdDrawUpdate:
lcdDrawUpdate = 2;                  /* Set to none-zero when the LCD needs to draw, decreased after every draw. Set to 2 in LCD routines so the LCD gets at least 1 full redraw (first redraw is partial) */
Re: LCD12864 menu scroll down problem
November 06, 2015 08:55AM
Thank you very much for all the anwsers. I've got the problem solved. It was that lcdDrawUpdate =1.

This wasn't really a problem but it was annoying.

Sorry, only registered users may post in this forum.

Click here to login