Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Error: "Please select no more than one LCD controller option." Wanhao D6 #16087

Closed
Deneteus opened this issue Dec 3, 2019 · 24 comments
Closed

Comments

@Deneteus
Copy link

Deneteus commented Dec 3, 2019

### Bug Description

PlatformIO Build fails due to multiple errors when compiling using the Wanhao D6 Example configuration files included with Marlin 2.0

### My Configurations

I used the stock example configuration files for the Wanhao D6 and they failed to compile.
\Marlin\config\examples\Wanhao\Duplicator 6\

Steps to Reproduce

  1. Copy the Wanhao D6 example configuration files to the Marlin project folder.
  2. Open the Marlin project in Atom and confirm the configuration.h file is the correct file.
  3. Under Platform IO Home choose Inspect and make sure the Project Environment is megatmega2560
  4. Choose PlatformIO on the tool bar and select Build.
  5. Watch as the Sanity Check Error occurs and the build fails.

Expected behavior: Example Configuration should compile with no errors.

Actual behavior: Multiple sanity check errors occur related to multiple LCD controller options.

Additional Information

Just to make sure my config had not been corrupted from the previous version I wiped out my Marlin folder and redownloaded it.

The software updates and updates to libraries had already been done before this.
The printer is currently running an older version of Marlin 2.0 from earlier this year.

image

image

I am assuming its this line that's causing the issue.

image

@boelle boelle changed the title Error: "Please select no more than one LCD controller option." Wanhao D6 [BUG] Error: "Please select no more than one LCD controller option." Wanhao D6 Dec 3, 2019
@thisiskeithb
Copy link
Member

Both ULTIPANEL and U8GLIB_SSD1306 are defined in that config. Comment out ULTIPANEL and see if your LCD still works after updating.

@Deneteus
Copy link
Author

Deneteus commented Dec 4, 2019

Both ULTIPANEL and U8GLIB_SSD1306 are defined in that config. Comment out ULTIPANEL and see if your LCD still works after updating.

Disabling Ultipanel causes this:

image

I disabled advanced_pause in the advanced config file and I was able to complete the build.

There was one error with the LiquidCrystal_SR1W.cpp and one with the DogM.cpp.

I was able to fix the Liquid Crystal and DogM error by changing the slash / in the line to another character. An entire schematic in that file is a bit much. LOL

image

image

image

@boelle
Copy link
Contributor

boelle commented Dec 4, 2019

Configurations, please
Please ZIP up your Configuration.h and Configuration_adv.h files (as
requested in the Issue template) and drop them into your next reply.
We'll check them over and see if anything is amiss.

@thisiskeithb
Copy link
Member

Configurations, please
Please ZIP up your Configuration.h and Configuration_adv.h files (as
requested in the Issue template) and drop them into your next reply.
We'll check them over and see if anything is amiss.

They are using the stock D6 configs:

I used the stock example configuration files for the Wanhao D6 and they failed to compile.
\Marlin\config\examples\Wanhao\Duplicator 6

@boelle
Copy link
Contributor

boelle commented Dec 4, 2019

They are using the stock D6 configs:

did not read that, just saw a missing zip

@Deneteus
Copy link
Author

Deneteus commented Dec 4, 2019

I figured there would be no point in attaching the stock files.
Uploading Wanhao D6 Marlin 2.0 Stock Example Configs.zip…

@boelle
Copy link
Contributor

boelle commented Dec 4, 2019

as said i did not read the post just looked if something was attached

but yeah standard config not working is kind of embarresing,

@Deneteus
Copy link
Author

Deneteus commented Dec 4, 2019

I tested using the firmware as compiled after those two changes and it failed.

@shitcreek
Copy link
Contributor

The problem is line 1991: // #define U8GLIB_SSD1306
I've made the correction. Thanks.

@thisiskeithb
Copy link
Member

thisiskeithb commented Dec 4, 2019

Does this work with only ULTIPANEL defined? I thought U8GLIB_SSD1306 was required since this printer has an OLED screen.

There are extra options underneath U8GLIB_SSD1306 in the D6 config compared to the stock config which makes me think it's still required:

#define U8GLIB_SSD1306
#define LCD_WIDTH 22
#define LCD_HEIGHT 5
#define LCD_RESET_PIN 5

Stock config:

//
// SSD1306 OLED full graphics generic display
//
//#define U8GLIB_SSD1306

@shitcreek
Copy link
Contributor

It compiled without issue. @Deneteus mind testing this out to confirm it works with U8GLIB_SSD1306 undefined?

@thisiskeithb
Copy link
Member

thisiskeithb commented Dec 4, 2019

Digging back into the origins of this config, it came with both those LCD types enabled from the start. I wonder if something changed in SanityCheck.h for this to start throwing errors or if this config ever worked in the first place.

@Deneteus
Copy link
Author

Deneteus commented Dec 5, 2019

@shitcreek I had not tested it with the SSD1306 OLED LCD undefined.
@thisiskeithb The motherboard for the D6 is an Ultimaker 2 clone. It is based on the ATMega2560 microcontroller.

image

@thisiskeithb
Copy link
Member

If that doesn't work, it seems this Marlin port is popular and they have a different LCD defined:

//
// TinyBoy2 128x64 OLED / Encoder Panel
//
#define OLED_PANEL_TINYBOY2
#define LCD_RESET_PIN 5

@Deneteus
Copy link
Author

Deneteus commented Dec 5, 2019

If that doesn't work, it seems this Marlin port is popular and they have a different LCD defined:

//
// TinyBoy2 128x64 OLED / Encoder Panel
//
#define OLED_PANEL_TINYBOY2
#define LCD_RESET_PIN 5

I'll test that in a minute!

thisiskeithb added a commit to thisiskeithb/Marlin that referenced this issue Dec 5, 2019
@thisiskeithb
Copy link
Member

thisiskeithb commented Dec 5, 2019

This config builds with a single LCD defined now (as expected), so we just need confirmation that it works. 😄

Here's the binary I built while testing with OLED_PANEL_TINYBOY2 enabled: Wanhao-D6-Marlin-2.0.x-f646499.hex.zip

@Deneteus
Copy link
Author

Deneteus commented Dec 5, 2019

Got it! Just gonna go flash it!

@Deneteus
Copy link
Author

Deneteus commented Dec 5, 2019

I am waiting on a netbook that I use to update firmware to finish restarting from a Windows Update. It had been going for almost 8hrs. LOL

@Deneteus
Copy link
Author

Deneteus commented Dec 5, 2019

@thisiskeithb Alright it flashed. LCD works. I just need to build it with the Tiny LCD settings and different settings for a Bondtech extruder.

image

image

@thisiskeithb
Copy link
Member

thisiskeithb commented Dec 5, 2019

Thanks for finding this bug 🙂

PR #16117 will fix the default D6 config.

Edit: OLED screens sure are nice.

@Deneteus
Copy link
Author

Deneteus commented Dec 5, 2019

Do you know if there is an issue related to this?

image

@Deneteus
Copy link
Author

Deneteus commented Dec 5, 2019

I got my printer updated with all of the changes I needed. Rob's config files had some tweaks to the default feed rates, adaptive step smoothing and power loss recovery.

I enabled S_CURVE_acceleration, Bondtech ESTEPS, Tuned A4988 Stepper Defaults, Raised the max temp since I upgraded to Microswiss All Metal.

Deneteus Marlin 2.0 D6 Configs.zip

@shitcreek
Copy link
Contributor

unused variable warnings can be ignored. Ideally we should haveisHeatnested inside a condition.

@github-actions
Copy link

github-actions bot commented Jul 3, 2020

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked and limited conversation to collaborators Jul 3, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants