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.24k stars 19.23k forks source link

[BUG] error compiling firmware with stock ender 3 lcd #26893

Closed kyon03 closed 7 months ago

kyon03 commented 7 months ago

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

Yes, and the problem still exists.

Bug Description

Marlin/src/lcd/dogm/status_screen_DOGM.cpp: In function 'void _draw_hotend_status(heater_id_t, bool)': Marlin/src/lcd/dogm/status_screen_DOGM.cpp:328:96: error: 'status_active_extruder_indicator_bmp' was not declared in this scope u8g.drawBitmapP(_MAX(0, STATUS_HOTEND_X(heater_id) - 6), STATUS_HEATERS_Y + 3, 1, 5, status_active_extruder_indicator_bmp); ^ Compiling .pio\build\mks_tinybee\src\src\lcd\dogm\ultralcd_st7920_u8glib_rrd_AVR.cpp.o At global scope:

Bug Timeline

No response

Expected behavior

No response

Actual behavior

No response

Steps to Reproduce

No response

Version of Marlin Firmware

bugfix

Printer model

No response

Electronics

No response

LCD/Controller

No response

Other add-ons

No response

Bed Leveling

None

Your Slicer

None

Host Software

None

Don't forget to include

Additional information & file uploads

No response

ellensp commented 7 months ago

No Configs Nothing to go on

Please attach your configuration files.

ellensp commented 7 months ago

Managed to reproduce it with this, but no way to know if that is how you triggered it without your config files.

minimal config changes from stock

diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h
index 49015aeec5..92005cb7f1 100644
--- a/Marlin/Configuration.h
+++ b/Marlin/Configuration.h
@@ -68,7 +68,7 @@

 // Choose the name from boards.h that matches your setup
 #ifndef MOTHERBOARD
-  #define MOTHERBOARD BOARD_RAMPS_14_EFB
+  #define MOTHERBOARD BOARD_RAMPS_14_EEB
 #endif

 /**
@@ -208,13 +208,13 @@

 // This defines the number of extruders
 // :[0, 1, 2, 3, 4, 5, 6, 7, 8]
-#define EXTRUDERS 1
+#define EXTRUDERS 2

 // Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc.
 #define DEFAULT_NOMINAL_FILAMENT_DIA 1.75

 // For Cyclops or any "multi-extruder" that shares a single nozzle.
-//#define SINGLENOZZLE
+#define SINGLENOZZLE

 // Save and restore temperature and fan speed on tool-change.
 // Set standby for the unselected tool with M104/106/109 T...
@@ -3043,7 +3043,7 @@
 //
 // Connect to EXP1 on RAMPS and compatible boards.
 //
-//#define CR10_STOCKDISPLAY
+#define CR10_STOCKDISPLAY

 //
 // Ender-2 OEM display, a variant of the MKS_MINI_12864

code in question is

      #if HAS_MULTI_EXTRUDER && DISABLED(SLIM_LCD_MENUS)
        if (active_extruder == heater_id)
          u8g.drawBitmapP(_MAX(0, STATUS_HOTEND_X(heater_id) - 6), STATUS_HEATERS_Y + 3, 1, 5, status_active_extruder_indicator_bmp);
      #endif

HAS_MULTI_EXTRUDER is set due to EXTRUDERS 2

but status_active_extruder_indicator_bmp is not defined due to SINGLENOZZLE

The above code needs to be updated to test for SINGLENOZZLE, as single nozzle should only get a single icon

Apply this diff

diff --git a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp
index 24165019b4..cb1df91951 100644
--- a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp
+++ b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp
@@ -323,7 +323,7 @@ FORCE_INLINE void _draw_centered_temp(const celsius_t temp, const uint8_t tx, co

       } // PAGE_CONTAINS

-      #if HAS_MULTI_EXTRUDER && DISABLED(SLIM_LCD_MENUS)
+      #if HAS_MULTI_EXTRUDER && DISABLED(SLIM_LCD_MENUS) && DISABLED(SINGLENOZZLE)
         if (active_extruder == heater_id)
           u8g.drawBitmapP(_MAX(0, STATUS_HOTEND_X(heater_id) - 6), STATUS_HEATERS_Y + 3, 1, 5, status_active_extruder_indicator_bmp);
       #endif
ellensp commented 7 months ago

Issue was added in https://github.com/MarlinFirmware/Marlin/pull/26152

ellensp commented 7 months ago

PR coming, after it is confirmed this fixes your issue.

thisiskeithb commented 7 months ago

PR coming, after it is confirmed this fixes your issue.

Already created one a few weeks ago: https://github.com/MarlinFirmware/Marlin/pull/26834

thisiskeithb commented 7 months ago

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

kyon03 commented 7 months ago

sorry guys i dont know how to fix im using bugfix

config.zip pins_MKS_TINYBEE.zip

ellensp commented 7 months ago

@kyon03 you either have to wait till https://github.com/MarlinFirmware/Marlin/pull/26834 is committed into bugfix Or take a look at the file changes of that pull request and change your code the same way (its a one line change)

kyon03 commented 7 months ago

thanks i did this and it complie, now im having a issue with wifi image

github-actions[bot] commented 5 months 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.