From aa3e945e7c07112e9132f9fd3f15188db464020b Mon Sep 17 00:00:00 2001 From: Anson Liu Date: Fri, 4 Aug 2023 21:47:04 -0400 Subject: [PATCH 1/4] Update hotend.h Add active extruder bitmap --- Marlin/src/lcd/dogm/status/hotend.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Marlin/src/lcd/dogm/status/hotend.h b/Marlin/src/lcd/dogm/status/hotend.h index aac29da45122..ae21524ef5af 100644 --- a/Marlin/src/lcd/dogm/status/hotend.h +++ b/Marlin/src/lcd/dogm/status/hotend.h @@ -90,6 +90,14 @@ #elif STATUS_HOTEND_BITMAPS > 1 + const unsigned char status_active_extruder_indicator_bmp[] PROGMEM = { + B00110000, + B00011000, + B00001100, + B00011000, + B00110000 + }; + #ifdef STATUS_HOTEND_ANIM const unsigned char status_hotend1_a_bmp[] PROGMEM = { From c06631c497a66d3c9ebaf81d747488ca963f7f4f Mon Sep 17 00:00:00 2001 From: Anson Liu Date: Fri, 4 Aug 2023 21:47:58 -0400 Subject: [PATCH 2/4] Update status_screen_DOGM.cpp --- Marlin/src/lcd/dogm/status_screen_DOGM.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp index d38d28c8cd3b..72bd44364c88 100644 --- a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp +++ b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp @@ -315,6 +315,12 @@ FORCE_INLINE void _draw_centered_temp(const celsius_t temp, const uint8_t tx, co } // PAGE_CONTAINS + #if HAS_MULTI_EXTRUDER + if (active_extruder == heater_id) { + u8g.drawBitmapP(STATUS_HOTEND_X(heater_id)-6, STATUS_HEATERS_Y+3, 1, 5, status_active_extruder_indicator_bmp); + } + #endif + #endif // !STATUS_COMBINE_HEATERS if (PAGE_UNDER(7)) { From 8eb378840adf9672582cf98af5e9d51fb6a3fc4f Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 22 Jan 2024 23:10:07 -0600 Subject: [PATCH 3/4] merge followup --- Marlin/src/lcd/dogm/status_screen_DOGM.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp index 751177987e74..39bbe00869b2 100644 --- a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp +++ b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp @@ -323,10 +323,9 @@ FORCE_INLINE void _draw_centered_temp(const celsius_t temp, const uint8_t tx, co } // PAGE_CONTAINS - #if HAS_MULTI_EXTRUDER - if (active_extruder == heater_id) { - u8g.drawBitmapP(STATUS_HOTEND_X(heater_id)-6, STATUS_HEATERS_Y+3, 1, 5, status_active_extruder_indicator_bmp); - } + #if HAS_MULTI_EXTRUDER && DISABLED(SLIM_LCD_MENUS) + if (active_extruder == heater_id) + u8g.drawBitmapP(STATUS_HOTEND_X(heater_id) - 6, STATUS_HEATERS_Y + 3, 1, 5, status_active_extruder_indicator_bmp); #endif #endif // !STATUS_COMBINE_HEATERS From 1d46abcccecde66eec44297812efe03b9c9b5d9d Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 22 Jan 2024 23:13:19 -0600 Subject: [PATCH 4/4] prevent negative X --- Marlin/src/lcd/dogm/status_screen_DOGM.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp index 39bbe00869b2..5d1a3363fb1d 100644 --- a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp +++ b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp @@ -325,7 +325,7 @@ FORCE_INLINE void _draw_centered_temp(const celsius_t temp, const uint8_t tx, co #if HAS_MULTI_EXTRUDER && DISABLED(SLIM_LCD_MENUS) if (active_extruder == heater_id) - u8g.drawBitmapP(STATUS_HOTEND_X(heater_id) - 6, STATUS_HEATERS_Y + 3, 1, 5, status_active_extruder_indicator_bmp); + u8g.drawBitmapP(_MAX(0, STATUS_HOTEND_X(heater_id) - 6), STATUS_HEATERS_Y + 3, 1, 5, status_active_extruder_indicator_bmp); #endif #endif // !STATUS_COMBINE_HEATERS