Welcome! Log In Create A New Profile

Advanced

Getting Graphical LCD to work with Marlin?

Posted by Mazaw 
Getting Graphical LCD to work with Marlin?
September 23, 2013 09:05PM
I was looking to upgrade my electronics and took the opportunity to play around with getting an LCD working.

I picked up a RAMBo, a Full Graphic Smart Controller, and this adapter.

On the software side, I fetched the latest release of Marlin (June, I didn't do a get of the current working set, just in case something might have broken it), and modified the proper files as prescribed on this Wiki page.

When I plugged it all in, I was getting feedback from pushing the encoder and the SD card was working. But the screen was blank. I traced the pins on the LCD to pins on the RAMBo and found that:
LCD_E is connected to EXT-2 pin 9 (PJ2, pin #65)
LCD_RW is connected to EXT-2 pin 7 (PG3, pin #28)
LCD_RS is connected to EXT-2 pin 5 (PG4, pin #29)

So I modified pins.h for:
#define LCD_PINS_RS 29
#define LCD_PINS_ENABLE 28
#define LCD_PINS_D4 65

to line up with the schematic of the display here.

I noticed that on the Smart Controller Schematic, the header pins were reversed to what I had and verified worked with power and the buzzer (although M300 doesn't work as-is, confirmed the buzzer works based on the feedback of clicking it as implemented in lcd_implementation_quick_feedback()).

Suspicious, I hooked up a logic analyzer and noticed that the state of these pins never change!

While I have some electronics experience, and some AVR experience, and some software experience (just enough of each to be dangerous!), I have very little experience with the Arduino software suite and the software patterns already established in Marlin.

I'm thinking the pins in question are not configured as output, but I can't quite figure out where such things are actually done.

Has anyone been down this path before and can save me from trying to trace the code in the Arduino UI?
Sorry, only registered users may post in this forum.

Click here to login