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?

Thanks
Attachments:
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.
-Olaf
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?
-Olaf
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.

Thanks
Sorry, only registered users may post in this forum.

Click here to login