Forum under maintenance. Please contact us at customer_service@beeverycreative.com

install RepRap_Full_Graphic_Smart_Controller - get a compiler error on MARLIN 1.1.1

The versatility of an entry-level 3D printer, engineered to last.
By BEEVERYCREATIVE and Hello 3D Printing World
Post Reply
User avatar
the_keen_bee
Posts:6
Joined:15 Mar 2017, 21:24
install RepRap_Full_Graphic_Smart_Controller - get a compiler error on MARLIN 1.1.1

Post by the_keen_bee » 17 Nov 2017, 13:45

Hello,

I want to change the original 4x20 text-based LCD-Controller of my HelloBEEPrusa by the RepRap Full Graphic Smart Controller (see pictures below).

Image

Image

Referring this and other tutorials it is just a minor change in the configuration.h files required, to disable the original controller and activate the RepRap Full Graphic Smart Controller. (I followed this Tutorial: https://www.youtube.com/watch?v=H3wj9l1 ... e=youtu.be )

Before I made the changes, I compiled the latest Version of the MARLIN-FW (hbp-version: 1.1.1 from here --> https://github.com/beeverycreative/Marl ... RYCREATIVE using Arduino IDE version 1.6.8. The firmware compiled without any issues and ran succuessfully.

Afterwards, I made the following changes:

1. Switch off power and replace the original LCD-Controller by the "RepRap Full Graphic Smart Controller" (the cabeling could be kept)

2. In Configuration.h, I comment out the line: // #define REPRAP_DISCOUNT_SMART_CONTROLLER and uncomment the line:
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

3. in configuration_adv.h I comment the line: // #define LCD_PROGRESS_BAR

4. I installed the u8glib library (by O.Krause) Version. 1.19.1 in ARDUINO IDE (1.6.8)

Then, I tried to compile the Firmware and got the following error message:

Code: Select all

sketch\ultralcd.cpp: In function 'void lcd_filament_change_hotendStatus()':

ultralcd.cpp:1158: error: 'lcd' was not declared in this scope

    lcd.setCursor(3, 3);
    ^
exit status 1
'lcd' was not declared in this scope
Does anyboby have an idea, about the reason for that error message / behavior?
I guess it has something to do with the different versions of the MARLIN-Code and the used libraries (the code in the MARLIN-Firmware might be a little bit older than the code of the library e.g. u8glig). But for me it is not possible to try any combination of u8glib-version or other components with MARLIN v1.1.1, or to identify all lines of code where such a "version mismatch" could occur.

Does anybody tried the same and found a working combination at all for using the mentioned LCD-Controller with the HBP-MARLIN 1.1.1 firmware?

After some research I found a workaround for the compiler errror - but could not assess any side-effect of that change - perhaps there are some experts reading this and reply her opinion. I made the following changes:

In ultralcd.cpp, I replaced all commands:

lcd.setCursor(….. by u8g.setCurcorPos(….

and

lcd.print(….. by u8g.print(….

The firmware compiled successfully afterwards (without any error or warning).The new display-controller and the printer ran very well. But honestly, I'm no sure if that was the correct solution. Are there some experts, who can comment that?

Many thanks,
t_k_b

MrDoom
Posts:223
Joined:01 Apr 2017, 10:01

Re: install RepRap_Full_Graphic_Smart_Controller - get a compiler error on MARLIN 1.1.1

Post by MrDoom » 17 Nov 2017, 21:36

Hello there,

The problem you encountered is due to the fact that the firmware for the helloBEEprusa was designed to be used on the non full graphic LCD so the change filament routines are not made to work with u8g lib just the default lcd library, the alteration you made seems to be correct but it might lead to some bugs on the filament change routine, that you can avoid (and I recommend because its faster) do it manually by preheating and then taking the old filament out and putting a new one, other than that it should be fine :)

Any other thing feel free to ask :)

Post Reply