MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.28k stars 19.24k forks source link

[BUG] Creality Ender 5 Plus configs won't compile on Bugfix #21663

Closed D337z closed 3 years ago

D337z commented 3 years ago

Did you test the latest bugfix-2.0.x code?

Yes, and the problem still exists.

Bug Description

Could not get code to compile using modified configs, so I attempted to use the example config specifically for my printer. Come to find out, it wasn't the config that seemed to be the issue. This is using the latest bugfix Marlin and config files in PlatformIO without any changes to the example config files. From what I'm told, it is supposed to download any required libs automatically. If not, perhaps adding instruction to the error would be helpful.

Compiling .pio\build\mega2560\src\src\libs\numtostr.cpp.o
Marlin\src\lcd\extui\lib\dgus\origin\DGUSDisplayDef.cpp:310:1: error: no matches converting function 'GetVariable' to type 'void (*)(struct DGUS_VP_Variable&, void*)'
 };
 ^
In file included from Marlin\src\lcd\extui\lib\dgus\origin\DGUSDisplayDef.cpp:32:0:
Marlin\src\lcd\extui\lib\dgus\origin\../DGUSDisplay.h:76:15: note: candidate is: template<class T, void (* Setter)(float, T), T selector> static void DGUSDisplay::GetVariable(DGUS_VP_Variable&, void*)
   static void GetVariable(DGUS_VP_Variable &var, void *val_ptr) {
               ^~~~~~~~~~~
Marlin\src\lcd\extui\lib\dgus\origin\DGUSScreenHandler.cpp: In static member function 'static void DGUSScreenHandler::DGUSLCD_SD_FileSelected(DGUS_VP_Variable&, void*)':
Marlin\src\lcd\extui\lib\dgus\origin\DGUSScreenHandler.cpp:47:22: error: 'filelist' was not declared in this scope
     if (touched_nr > filelist.count()) return;
                      ^~~~~~~~
Marlin\src\lcd\extui\lib\dgus\origin\DGUSScreenHandler.cpp:47:22: note: suggested alternative: 'filepos_t'
     if (touched_nr > filelist.count()) return;
                      ^~~~~~~~
                      filepos_t
Marlin\src\lcd\extui\lib\dgus\origin\DGUSScreenHandler.cpp:48:10: error: 'filelist' was not declared in this scope
     if (!filelist.seek(touched_nr)) return;
          ^~~~~~~~
*** [.pio\build\mega2560\src\src\lcd\extui\lib\dgus\origin\DGUSDisplayDef.cpp.o] Error 1
Marlin\src\lcd\extui\lib\dgus\origin\DGUSScreenHandler.cpp:48:10: note: suggested alternative: 'filepos_t'
     if (!filelist.seek(touched_nr)) return;
          ^~~~~~~~
          filepos_t
Marlin\src\lcd\extui\lib\dgus\origin\DGUSScreenHandler.cpp:50:9: error: 'filelist' was not declared in this scope
     if (filelist.isDir()) {
         ^~~~~~~~
Marlin\src\lcd\extui\lib\dgus\origin\DGUSScreenHandler.cpp:50:9: note: suggested alternative: 'filepos_t'
     if (filelist.isDir()) {
         ^~~~~~~~
         filepos_t
Marlin\src\lcd\extui\lib\dgus\origin\DGUSScreenHandler.cpp:65:87: error: 'filelist' was not declared in this scope
     HandleUserConfirmationPopUp(VP_SD_FileSelectConfirm, nullptr, PSTR("Print file"), filelist.filename(), PSTR("from SD Card?"), true, true, false, true);
                                                                                       ^~~~~~~~
Marlin\src\lcd\extui\lib\dgus\origin\DGUSScreenHandler.cpp:65:87: note: suggested alternative: 'filepos_t'
     HandleUserConfirmationPopUp(VP_SD_FileSelectConfirm, nullptr, PSTR("Print file"), filelist.filename(), PSTR("from SD Card?"), true, true, false, true);
                                                                                       ^~~~~~~~
                                                                                       filepos_t
Marlin\src\lcd\extui\lib\dgus\origin\DGUSScreenHandler.cpp: In static member function 'static void DGUSScreenHandler::DGUSLCD_SD_StartPrint(DGUS_VP_Variable&, void*)':
Marlin\src\lcd\extui\lib\dgus\origin\DGUSScreenHandler.cpp:69:10: error: 'filelist' was not declared in this scope
     if (!filelist.seek(file_to_print)) return;
          ^~~~~~~~
Marlin\src\lcd\extui\lib\dgus\origin\DGUSScreenHandler.cpp:69:10: note: suggested alternative: 'filepos_t'
     if (!filelist.seek(file_to_print)) return;
          ^~~~~~~~
          filepos_t
compilation terminated due to -fmax-errors=5.
*** [.pio\build\mega2560\src\src\lcd\extui\lib\dgus\origin\DGUSScreenHandler.cpp.o] Error 1

Bug Timeline

No response

Expected behavior

Expected a working default compilation for an Ender 5 Plus.

Actual behavior

Compilation failure due to errors in DGUS.

Steps to Reproduce

Download Marlin nightly build and accompanying configuration files. Add configuration file for Creality Ender 5 Plus to the Marlin directory. Load up PlatformIO Open Marlin nightly build folder Attempt compilation Observe failure

Version of Marlin Firmware

1.70.2 BL

Printer model

Creality Ender 5 Plus

Electronics

Stock board, Microswiss direct drive extruder, soon to be installed 12864 LCD display board

Add-ons

Nuthin

Your Slicer

Cura

Host Software

OctoPrint

ellensp commented 3 years ago

Duplicate of https://github.com/MarlinFirmware/Marlin/issues/21576

github-actions[bot] commented 3 years ago

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.