aboutsummaryrefslogtreecommitdiff
path: root/Marlin/src/lcd/dogm/status
diff options
context:
space:
mode:
Diffstat (limited to 'Marlin/src/lcd/dogm/status')
-rw-r--r--Marlin/src/lcd/dogm/status/bed.h110
-rw-r--r--Marlin/src/lcd/dogm/status/chamber.h89
-rw-r--r--Marlin/src/lcd/dogm/status/combined.h309
-rw-r--r--Marlin/src/lcd/dogm/status/cutter.h123
-rw-r--r--Marlin/src/lcd/dogm/status/fan.h443
-rw-r--r--Marlin/src/lcd/dogm/status/hotend.h486
6 files changed, 1560 insertions, 0 deletions
diff --git a/Marlin/src/lcd/dogm/status/bed.h b/Marlin/src/lcd/dogm/status/bed.h
new file mode 100644
index 0000000..c484a12
--- /dev/null
+++ b/Marlin/src/lcd/dogm/status/bed.h
@@ -0,0 +1,110 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+//
+// lcd/dogm/status/bed.h - Status Screen Bed bitmaps
+//
+
+#if ENABLED(STATUS_ALT_BED_BITMAP)
+
+ #define STATUS_BED_ANIM
+ #define STATUS_BED_WIDTH 24
+ #ifndef STATUS_BED_X
+ #define STATUS_BED_X (LCD_PIXEL_WIDTH - (STATUS_BED_BYTEWIDTH + STATUS_CHAMBER_BYTEWIDTH + STATUS_FAN_BYTEWIDTH) * 8)
+ #endif
+ #define STATUS_BED_TEXT_X (STATUS_BED_X + 11)
+
+ const unsigned char status_bed_bmp[] PROGMEM = {
+ B11111111,B11111111,B11000000,
+ B01000000,B00000000,B00100000,
+ B00100000,B00000000,B00010000,
+ B00010000,B00000000,B00001000,
+ B00001000,B00000000,B00000100,
+ B00000100,B00000000,B00000010,
+ B00000011,B11111111,B11111111
+ };
+
+ const unsigned char status_bed_on_bmp[] PROGMEM = {
+ B00000010,B00100010,B00000000,
+ B00000100,B01000100,B00000000,
+ B00000100,B01000100,B00000000,
+ B00000010,B00100010,B00000000,
+ B00000001,B00010001,B00000000,
+ B11111111,B11111111,B11000000,
+ B01000000,B10001000,B10100000,
+ B00100001,B00010001,B00010000,
+ B00010010,B00100010,B00001000,
+ B00001000,B00000000,B00000100,
+ B00000100,B00000000,B00000010,
+ B00000011,B11111111,B11111111
+ };
+
+#else
+
+ #define STATUS_BED_WIDTH 21
+ #ifndef STATUS_BED_X
+ #define STATUS_BED_X (LCD_PIXEL_WIDTH - (STATUS_BED_BYTEWIDTH + STATUS_CHAMBER_BYTEWIDTH + STATUS_FAN_BYTEWIDTH) * 8)
+ #endif
+
+ #ifdef STATUS_BED_ANIM
+
+ const unsigned char status_bed_bmp[] PROGMEM = {
+ B00011111,B11111111,B11111000,
+ B00011111,B11111111,B11111000
+ };
+
+ const unsigned char status_bed_on_bmp[] PROGMEM = {
+ B00000100,B00010000,B01000000,
+ B00000010,B00001000,B00100000,
+ B00000010,B00001000,B00100000,
+ B00000100,B00010000,B01000000,
+ B00001000,B00100000,B10000000,
+ B00010000,B01000001,B00000000,
+ B00010000,B01000001,B00000000,
+ B00001000,B00100000,B10000000,
+ B00000100,B00010000,B01000000,
+ B00000000,B00000000,B00000000,
+ B00011111,B11111111,B11111000,
+ B00011111,B11111111,B11111000
+ };
+
+ #else
+
+ const unsigned char status_bed_bmp[] PROGMEM = {
+ B00000100,B00010000,B01000000,
+ B00000010,B00001000,B00100000,
+ B00000010,B00001000,B00100000,
+ B00000100,B00010000,B01000000,
+ B00001000,B00100000,B10000000,
+ B00010000,B01000001,B00000000,
+ B00010000,B01000001,B00000000,
+ B00001000,B00100000,B10000000,
+ B00000100,B00010000,B01000000,
+ B00000000,B00000000,B00000000,
+ B00011111,B11111111,B11111000,
+ B00011111,B11111111,B11111000
+ };
+
+ #endif
+
+#endif
diff --git a/Marlin/src/lcd/dogm/status/chamber.h b/Marlin/src/lcd/dogm/status/chamber.h
new file mode 100644
index 0000000..787a908
--- /dev/null
+++ b/Marlin/src/lcd/dogm/status/chamber.h
@@ -0,0 +1,89 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+//
+// lcd/dogm/status/chamber.h - Status Screen Chamber bitmaps
+//
+
+#define STATUS_CHAMBER_WIDTH 21
+#if STATUS_HEATERS_WIDTH
+ #if ENABLED(STATUS_COMBINE_HEATERS)
+ #define STATUS_CHAMBER_X (LCD_PIXEL_WIDTH - 2 - (STATUS_CHAMBER_BYTEWIDTH) * 8)
+ #elif HAS_FAN0 && HAS_HEATED_BED && HOTENDS <= 2
+ #define STATUS_CHAMBER_X (LCD_PIXEL_WIDTH - 2 - (STATUS_HEATERS_BYTEWIDTH - STATUS_CHAMBER_BYTEWIDTH) * 8)
+ #elif HAS_FAN0 && !HAS_HEATED_BED
+ #define STATUS_CHAMBER_X (LCD_PIXEL_WIDTH - (STATUS_CHAMBER_BYTEWIDTH + STATUS_FAN_BYTEWIDTH) * 8)
+ #else
+ #define STATUS_CHAMBER_X (LCD_PIXEL_WIDTH - (STATUS_CHAMBER_BYTEWIDTH) * 8)
+ #endif
+#endif
+
+#ifdef STATUS_CHAMBER_ANIM
+
+ const unsigned char status_chamber_bmp[] PROGMEM = {
+ B00011111,B11111111,B11111000,
+ B00010000,B00000000,B00001000,
+ B00010000,B00000000,B00001000,
+ B00010000,B00000000,B00001000,
+ B00010000,B00000000,B00001000,
+ B00010000,B00000000,B00001000,
+ B00010000,B00000000,B00001000,
+ B00010000,B00000000,B00001000,
+ B00010000,B00000000,B00001000,
+ B00010000,B00000000,B00001000,
+ B00011111,B11111111,B11111000,
+ B00011111,B11111111,B11111000
+ };
+ const unsigned char status_chamber_on_bmp[] PROGMEM = {
+ B00011111,B11111111,B11111000,
+ B00010000,B00000000,B00001000,
+ B00010000,B10000100,B00001000,
+ B00010000,B01000010,B00001000,
+ B00010000,B01000010,B00001000,
+ B00010000,B10000100,B00001000,
+ B00010001,B00001000,B00001000,
+ B00010001,B00001000,B00001000,
+ B00010000,B10000100,B00001000,
+ B00010000,B00000000,B00001000,
+ B00011111,B11111111,B11111000,
+ B00011111,B11111111,B11111000
+ };
+
+#else
+
+ const unsigned char status_chamber_bmp[] PROGMEM = {
+ B00011111,B11111111,B11111000,
+ B00010000,B00000000,B00001000,
+ B00010000,B10000100,B00001000,
+ B00010000,B01000010,B00001000,
+ B00010000,B01000010,B00001000,
+ B00010000,B10000100,B00001000,
+ B00010001,B00001000,B00001000,
+ B00010001,B00001000,B00001000,
+ B00010000,B10000100,B00001000,
+ B00010000,B00000000,B00001000,
+ B00011111,B11111111,B11111000,
+ B00011111,B11111111,B11111000
+ };
+
+#endif
diff --git a/Marlin/src/lcd/dogm/status/combined.h b/Marlin/src/lcd/dogm/status/combined.h
new file mode 100644
index 0000000..ca18f21
--- /dev/null
+++ b/Marlin/src/lcd/dogm/status/combined.h
@@ -0,0 +1,309 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+//
+// lcd/dogm/status/combined.h - Status Screen Combined Heater bitmaps
+//
+
+#undef STATUS_HOTEND_ANIM
+#undef STATUS_BED_ANIM
+#define STATUS_HEATERS_XSPACE 24
+
+//
+// Status Screen Combined Heater bitmaps
+//
+#if HAS_HEATED_BED && HOTENDS <= 4
+
+ #if HOTENDS == 0
+
+ #define STATUS_HEATERS_WIDTH 96
+
+ const unsigned char status_heaters_bmp[] PROGMEM = {
+ B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
+ B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010,B00001000,B00100000,
+ B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010,B00001000,B00100000,
+ B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
+ B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001000,B00100000,B10000000,
+ B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,
+ B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,
+ B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001000,B00100000,B10000000,
+ B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
+ B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
+ B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11111000,
+ B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11111000
+ };
+
+ #elif HOTENDS == 1
+
+ #define STATUS_HEATERS_WIDTH 96
+
+ const unsigned char status_heaters_bmp[] PROGMEM = {
+ B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
+ B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010,B00001000,B00100000,
+ B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010,B00001000,B00100000,
+ B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
+ B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001000,B00100000,B10000000,
+ B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,
+ B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,
+ B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001000,B00100000,B10000000,
+ B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
+ B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
+ B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11111000,
+ B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11111000
+ };
+
+ #elif HOTENDS == 2
+
+ #define STATUS_HEATERS_WIDTH 96
+
+ const unsigned char status_heaters_bmp[] PROGMEM = {
+ B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
+ #if LCD_FIRST_TOOL == 0
+ B00111100,B11110000,B00000000,B00111110,B11110000,B00000000,B00000000,B00000000,B00000000,B00000010,B00001000,B00100000,
+ B00111011,B01110000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00000010,B00001000,B00100000,
+ B00111011,B01110000,B00000000,B00111010,B11110000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
+ B00011011,B01100000,B00000000,B00011110,B11100000,B00000000,B00000000,B00000000,B00000000,B00001000,B00100000,B10000000,
+ B00011011,B01100000,B00000000,B00011110,B11100000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,
+ B00111011,B01110000,B00000000,B00111110,B11110000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,
+ B00111100,B11110000,B00000000,B00111110,B11110000,B00000000,B00000000,B00000000,B00000000,B00001000,B00100000,B10000000,
+ #else
+ B00111110,B11110000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00000010,B00001000,B00100000,
+ B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00000010,B00001000,B00100000,
+ B00111010,B11110000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
+ B00011110,B11100000,B00000000,B00011110,B11100000,B00000000,B00000000,B00000000,B00000000,B00001000,B00100000,B10000000,
+ B00011110,B11100000,B00000000,B00011101,B11100000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,
+ B00111110,B11110000,B00000000,B00111011,B11110000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,
+ B00111110,B11110000,B00000000,B00111000,B01110000,B00000000,B00000000,B00000000,B00000000,B00001000,B00100000,B10000000,
+ #endif
+ B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000100,B00010000,B01000000,
+ B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
+ B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11111000,
+ B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11111000
+ };
+
+ #elif HOTENDS == 3
+
+ #define STATUS_HEATERS_WIDTH 96
+
+ const unsigned char status_heaters_bmp[] PROGMEM = {
+ B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00000100,B00010000,B01000000,
+ #if LCD_FIRST_TOOL == 0
+ B00111100,B11110000,B00000000,B00111110,B11110000,B00000000,B00111100,B11110000,B00000000,B00000010,B00001000,B00100000,
+ B00111011,B01110000,B00000000,B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00000010,B00001000,B00100000,
+ B00111011,B01110000,B00000000,B00111010,B11110000,B00000000,B00111111,B01110000,B00000000,B00000100,B00010000,B01000000,
+ B00011011,B01100000,B00000000,B00011110,B11100000,B00000000,B00011110,B11100000,B00000000,B00001000,B00100000,B10000000,
+ B00011011,B01100000,B00000000,B00011110,B11100000,B00000000,B00011101,B11100000,B00000000,B00010000,B01000001,B00000000,
+ B00111011,B01110000,B00000000,B00111110,B11110000,B00000000,B00111011,B11110000,B00000000,B00010000,B01000001,B00000000,
+ B00111100,B11110000,B00000000,B00111110,B11110000,B00000000,B00111000,B01110000,B00000000,B00001000,B00100000,B10000000,
+ #else
+ B00111110,B11110000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00000010,B00001000,B00100000,
+ B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00000010,B00001000,B00100000,
+ B00111010,B11110000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00000100,B00010000,B01000000,
+ B00011110,B11100000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B00001000,B00100000,B10000000,
+ B00011110,B11100000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B00010000,B01000001,B00000000,
+ B00111110,B11110000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B00010000,B01000001,B00000000,
+ B00111110,B11110000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B00001000,B00100000,B10000000,
+ #endif
+ B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00000100,B00010000,B01000000,
+ B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,
+ B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00011111,B11111111,B11111000,
+ B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00011111,B11111111,B11111000
+ };
+
+ #else // HOTENDS > 3
+
+ #define STATUS_HEATERS_WIDTH 120
+
+ const unsigned char status_heaters_bmp[] PROGMEM = {
+ B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00000100,B00010000,B01000000,
+ #if LCD_FIRST_TOOL == 0
+ B00111100,B11110000,B00000000,B00111110,B11110000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00000010,B00001000,B00100000,
+ B00111011,B01110000,B00000000,B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00000010,B00001000,B00100000,
+ B00111011,B01110000,B00000000,B00111010,B11110000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00000100,B00010000,B01000000,
+ B00011011,B01100000,B00000000,B00011110,B11100000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B00001000,B00100000,B10000000,
+ B00011011,B01100000,B00000000,B00011110,B11100000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B00010000,B01000001,B00000000,
+ B00111011,B01110000,B00000000,B00111110,B11110000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B00010000,B01000001,B00000000,
+ B00111100,B11110000,B00000000,B00111110,B11110000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B00001000,B00100000,B10000000,
+ #else
+ B00111110,B11110000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00000010,B00001000,B00100000,
+ B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00000010,B00001000,B00100000,
+ B00111010,B11110000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00111011,B01110000,B00000000,B00000100,B00010000,B01000000,
+ B00011110,B11100000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B00011011,B01100000,B00000000,B00001000,B00100000,B10000000,
+ B00011110,B11100000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B00011000,B00100000,B00000000,B00010000,B01000001,B00000000,
+ B00111110,B11110000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B00111111,B01110000,B00000000,B00010000,B01000001,B00000000,
+ B00111110,B11110000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B00111111,B01110000,B00000000,B00001000,B00100000,B10000000,
+ #endif
+ B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00000100,B00010000,B01000000,
+ B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,
+ B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00011111,B11111111,B11111000,
+ B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00011111,B11111111,B11111000
+ };
+
+ #endif // HOTENDS
+
+ #define STATUS_BED_TEXT_X (STATUS_HEATERS_WIDTH - 10)
+
+#else // !HAS_HEATED_BED || HOTENDS > 3
+
+ #if HOTENDS == 0
+
+ #define STATUS_HEATERS_WIDTH 0
+
+ #elif HOTENDS == 1
+
+ #define STATUS_HEATERS_WIDTH 12
+
+ const unsigned char status_heaters_bmp[] PROGMEM = {
+ B00011111,B11100000,
+ B00111111,B11110000,
+ B00111111,B11110000,
+ B00111111,B11110000,
+ B00011111,B11100000,
+ B00011111,B11100000,
+ B00111111,B11110000,
+ B00111111,B11110000,
+ B00111111,B11110000,
+ B00001111,B11000000,
+ B00000111,B10000000,
+ B00000011,B00000000
+ };
+
+ #elif HOTENDS == 2
+
+ #define STATUS_HEATERS_WIDTH 36
+
+ const unsigned char status_heaters_bmp[] PROGMEM = {
+ B00011111,B11100000,B00000000,B00011111,B11100000,
+ #if LCD_FIRST_TOOL == 0
+ B00111100,B11110000,B00000000,B00111110,B11110000,
+ B00111011,B01110000,B00000000,B00111100,B11110000,
+ B00111011,B01110000,B00000000,B00111010,B11110000,
+ B00011011,B01100000,B00000000,B00011110,B11100000,
+ B00011011,B01100000,B00000000,B00011110,B11100000,
+ B00111011,B01110000,B00000000,B00111110,B11110000,
+ B00111100,B11110000,B00000000,B00111110,B11110000,
+ #else
+ B00111110,B11110000,B00000000,B00111100,B11110000,
+ B00111100,B11110000,B00000000,B00111011,B01110000,
+ B00111010,B11110000,B00000000,B00111111,B01110000,
+ B00011110,B11100000,B00000000,B00011110,B11100000,
+ B00011110,B11100000,B00000000,B00011101,B11100000,
+ B00111110,B11110000,B00000000,B00111011,B11110000,
+ B00111110,B11110000,B00000000,B00111000,B01110000,
+ #endif
+ B00111111,B11110000,B00000000,B00111111,B11110000,
+ B00001111,B11000000,B00000000,B00001111,B11000000,
+ B00000111,B10000000,B00000000,B00000111,B10000000,
+ B00000011,B00000000,B00000000,B00000011,B00000000
+ };
+
+ #elif HOTENDS == 3
+
+ #define STATUS_HEATERS_WIDTH 60
+
+ const unsigned char status_heaters_bmp[] PROGMEM = {
+ B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,
+ #if LCD_FIRST_TOOL == 0
+ B00111100,B11110000,B00000000,B00111110,B11110000,B00000000,B00111100,B11110000,
+ B00111011,B01110000,B00000000,B00111100,B11110000,B00000000,B00111011,B01110000,
+ B00111011,B01110000,B00000000,B00111010,B11110000,B00000000,B00111111,B01110000,
+ B00011011,B01100000,B00000000,B00011110,B11100000,B00000000,B00011110,B11100000,
+ B00011011,B01100000,B00000000,B00011110,B11100000,B00000000,B00011101,B11100000,
+ B00111011,B01110000,B00000000,B00111110,B11110000,B00000000,B00111011,B11110000,
+ B00111100,B11110000,B00000000,B00111110,B11110000,B00000000,B00111000,B01110000,
+ #else
+ B00111110,B11110000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,
+ B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,
+ B00111010,B11110000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,
+ B00011110,B11100000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,
+ B00011110,B11100000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,
+ B00111110,B11110000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,
+ B00111110,B11110000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,
+ #endif
+ B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,
+ B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,
+ B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,
+ B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000
+ };
+
+ #elif HOTENDS == 4
+
+ #define STATUS_HEATERS_WIDTH 84
+
+ const unsigned char status_heaters_bmp[] PROGMEM = {
+ B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,
+ #if LCD_FIRST_TOOL == 0
+ B00111100,B11110000,B00000000,B00111110,B11110000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,
+ B00111011,B01110000,B00000000,B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,
+ B00111011,B01110000,B00000000,B00111010,B11110000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,
+ B00011011,B01100000,B00000000,B00011110,B11100000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,
+ B00011011,B01100000,B00000000,B00011110,B11100000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,
+ B00111011,B01110000,B00000000,B00111110,B11110000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,
+ B00111100,B11110000,B00000000,B00111110,B11110000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,
+ #else
+ B00111110,B11110000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00111011,B01110000,
+ B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,
+ B00111010,B11110000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00111011,B01110000,
+ B00011110,B11100000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B00011011,B01100000,
+ B00011110,B11100000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B00011000,B00100000,
+ B00111110,B11110000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B00111111,B01110000,
+ B00111110,B11110000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B00111111,B01110000,
+ #endif
+ B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,
+ B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,
+ B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,
+ B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000
+ };
+
+ #else // HOTENDS > 4
+
+ #define STATUS_HEATERS_WIDTH 108
+
+ const unsigned char status_heaters_bmp[] PROGMEM = {
+ B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,
+ #if LCD_FIRST_TOOL == 0
+ B00111100,B11110000,B00000000,B00111110,B11110000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00111011,B01110000,
+ B00111011,B01110000,B00000000,B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,
+ B00111011,B01110000,B00000000,B00111010,B11110000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00111011,B01110000,
+ B00011011,B01100000,B00000000,B00011110,B11100000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B00011011,B01100000,
+ B00011011,B01100000,B00000000,B00011110,B11100000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B00011000,B00100000,
+ B00111011,B01110000,B00000000,B00111110,B11110000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B00111111,B01110000,
+ B00111100,B11110000,B00000000,B00111110,B11110000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B00111111,B01110000,
+ #else
+ B00111110,B11110000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00111000,B01110000,
+ B00111100,B11110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00111011,B11110000,
+ B00111010,B11110000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00111011,B01110000,B00000000,B00111000,B11110000,
+ B00011110,B11100000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B00011011,B01100000,B00000000,B00011111,B01100000,
+ B00011110,B11100000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B00011000,B00100000,B00000000,B00011111,B01100000,
+ B00111110,B11110000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B00111111,B01110000,B00000000,B00111011,B01110000,
+ B00111110,B11110000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B00111111,B01110000,B00000000,B00111100,B11110000,
+ #endif
+ B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,
+ B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,
+ B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,
+ B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000
+ };
+
+ #endif // HOTENDS
+
+#endif // !HAS_HEATED_BED || HOTENDS > 3
diff --git a/Marlin/src/lcd/dogm/status/cutter.h b/Marlin/src/lcd/dogm/status/cutter.h
new file mode 100644
index 0000000..0e3b9dd
--- /dev/null
+++ b/Marlin/src/lcd/dogm/status/cutter.h
@@ -0,0 +1,123 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+//
+// lcd/dogm/status/cutter.h - Status Screen Laser / Spindle bitmaps
+//
+
+#define STATUS_CUTTER_WIDTH 24
+#define STATUS_CUTTER_X 80
+
+#if ENABLED(LASER_FEATURE)
+ #ifdef STATUS_CUTTER_ANIM
+ const unsigned char status_cutter_on_bmp[] PROGMEM = {
+ B00000000,B00100100,B00000000,
+ B00000000,B01100110,B00000000,
+ B00000000,B11000011,B00000000,
+ B00000001,B10011001,B10000000,
+ B00000011,B00100100,B11000000,
+ B00000000,B01000010,B00000000,
+ B00000000,B01000010,B00000000,
+ B00000011,B00100100,B11000000,
+ B00000001,B10011001,B10000000,
+ B00000000,B11000011,B00000000,
+ B00000000,B01100110,B00000000,
+ B00000000,B00100100,B00000000
+ };
+ const unsigned char status_cutter_bmp[] PROGMEM = {
+ B00000000,B00100100,B00000000,
+ B00000000,B01100110,B00000000,
+ B00000000,B00000000,B00000000,
+ B00000001,B00000000,B10000000,
+ B00000011,B00000000,B11000000,
+ B00000000,B00011000,B00000000,
+ B00000000,B00011000,B00000000,
+ B00000011,B00000000,B11000000,
+ B00000001,B00000000,B10000000,
+ B00000000,B00000000,B00000000,
+ B00000000,B01100110,B00000000,
+ B00000000,B00100100,B00000000
+ };
+ #else
+ const unsigned char status_cutter_bmp[] PROGMEM = {
+ B00000000,B00100100,B00000000,
+ B00000000,B01100110,B00000000,
+ B00000000,B11000011,B00000000,
+ B00000001,B10000001,B10000000,
+ B00000011,B00000000,B11000000,
+ B00000000,B00000000,B00000000,
+ B00000000,B00000000,B00000000,
+ B00000011,B00000000,B11000000,
+ B00000001,B10000001,B10000000,
+ B00000000,B11000011,B00000000,
+ B00000000,B01100110,B00000000,
+ B00000000,B00100100,B00000000
+ };
+ #endif
+#else
+ #ifdef STATUS_CUTTER_ANIM
+ const unsigned char status_cutter_on_bmp[] PROGMEM = {
+ B00000001,B11111110,B10000000,
+ B00000000,B11000000,B00000000,
+ B00000001,B10000000,B10000000,
+ B00000001,B00000000,B10000000,
+ B00000001,B11111100,B10000000,
+ B00000000,B11100000,B00000000,
+ B00000001,B11000000,B10000000,
+ B00000000,B10000001,B00000000,
+ B00000000,B01111010,B00000000,
+ B00000000,B00110100,B00000000,
+ B00000000,B00011000,B00000000,
+ B00000000,B00000000,B00000000
+ };
+ const unsigned char status_cutter_bmp[] PROGMEM = {
+ B00000001,B11111110,B10000000,
+ B00000000,B11000000,B00000000,
+ B00000001,B10000000,B10000000,
+ B00000001,B00000000,B10000000,
+ B00000001,B11111100,B10000000,
+ B00000000,B11100000,B00000000,
+ B00000001,B11000000,B10000000,
+ B00000000,B10000001,B00000000,
+ B00000000,B01111010,B00000000,
+ B00000000,B00110100,B00000000,
+ B00000000,B00011000,B00000000,
+ B00000000,B00000000,B00000000
+ };
+ #else
+ const unsigned char status_cutter_bmp[] PROGMEM = {
+ B00000001,B11000010,B10000000,
+ B00000001,B00011100,B10000000,
+ B00000000,B11100001,B00000000,
+ B00000001,B00001110,B10000000,
+ B00000001,B01110000,B10000000,
+ B00000000,B10000111,B10000000,
+ B00000001,B00111111,B10000000,
+ B00000000,B11111111,B00000000,
+ B00000000,B01111110,B00000000,
+ B00000000,B00111100,B00000000,
+ B00000000,B00011000,B00000000,
+ B00000000,B00000000,B00000000
+ };
+ #endif
+#endif
diff --git a/Marlin/src/lcd/dogm/status/fan.h b/Marlin/src/lcd/dogm/status/fan.h
new file mode 100644
index 0000000..65f8e9c
--- /dev/null
+++ b/Marlin/src/lcd/dogm/status/fan.h
@@ -0,0 +1,443 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+//
+// lcd/dogm/status/fan.h - Status Screen Fan bitmaps
+//
+
+#undef STATUS_FAN_WIDTH
+#define STATUS_FAN_WIDTH 20
+
+#if STATUS_FAN_FRAMES <= 2
+
+ #define STATUS_FAN_Y 2
+
+ #if ENABLED(STATUS_ALT_FAN_BITMAP)
+
+ const unsigned char status_fan0_bmp[] PROGMEM = {
+ B00000001,B11111110,B00000000,
+ B00000110,B00000001,B10000000,
+ B00001000,B11111100,B01000000,
+ B00010000,B11111100,B00100000,
+ B00010000,B01111000,B00100000,
+ B00100000,B00110000,B00010000,
+ B00101100,B00000000,B11010000,
+ B00101110,B00110001,B11010000,
+ B00101111,B01111011,B11010000,
+ B00101111,B01111011,B11010000,
+ B00101110,B00110001,B11010000,
+ B00101100,B00000000,B11010000,
+ B00100000,B00110000,B00010000,
+ B00010000,B01111000,B00100000,
+ B00010000,B11111100,B00100000,
+ B00001000,B11111100,B01000000,
+ B00000110,B00000001,B10000000,
+ B00000001,B11111110,B00000000
+ };
+
+ #if STATUS_FAN_FRAMES == 2
+ const unsigned char status_fan1_bmp[] PROGMEM = {
+ B00000001,B11111110,B00000000,
+ B00000110,B00000001,B10000000,
+ B00001001,B10000110,B01000000,
+ B00010011,B10000111,B00100000,
+ B00010111,B10000111,B10100000,
+ B00101111,B10000111,B11010000,
+ B00101111,B00000011,B11010000,
+ B00100000,B00110000,B00010000,
+ B00100000,B01111000,B00010000,
+ B00100000,B01111000,B00010000,
+ B00100000,B00110000,B00010000,
+ B00101111,B00000011,B11010000,
+ B00101111,B10000111,B11010000,
+ B00010111,B10000111,B10100000,
+ B00010011,B10000111,B00100000,
+ B00001001,B10000110,B01000000,
+ B00000110,B00000001,B10000000,
+ B00000001,B11111110,B00000000
+ };
+ #endif
+
+ #else // !STATUS_ALT_FAN_BITMAP
+
+ const unsigned char status_fan0_bmp[] PROGMEM = {
+ B00111111,B11111111,B11110000,
+ B00111000,B00000000,B01110000,
+ B00110000,B11111100,B00110000,
+ B00100000,B11111100,B00010000,
+ B00100000,B01111000,B00010000,
+ B00100000,B00110000,B00010000,
+ B00101100,B00000000,B11010000,
+ B00101110,B00110001,B11010000,
+ B00101111,B01111011,B11010000,
+ B00101111,B01111011,B11010000,
+ B00101110,B00110001,B11010000,
+ B00101100,B00000000,B11010000,
+ B00100000,B00110000,B00010000,
+ B00100000,B01111000,B00010000,
+ B00100000,B11111100,B00010000,
+ B00110000,B11111100,B00110000,
+ B00111000,B00000000,B01110000,
+ B00111111,B11111111,B11110000
+ };
+
+ #if STATUS_FAN_FRAMES == 2
+ const unsigned char status_fan1_bmp[] PROGMEM = {
+ B00111111,B11111111,B11110000,
+ B00111000,B00000000,B01110000,
+ B00110001,B10000110,B00110000,
+ B00100011,B10000111,B00010000,
+ B00100111,B10000111,B10010000,
+ B00101111,B10000111,B11010000,
+ B00101111,B00000011,B11010000,
+ B00100000,B00110000,B00010000,
+ B00100000,B01111000,B00010000,
+ B00100000,B01111000,B00010000,
+ B00100000,B00110000,B00010000,
+ B00101111,B00000011,B11010000,
+ B00101111,B10000111,B11010000,
+ B00100111,B10000111,B10010000,
+ B00100011,B10000111,B00010000,
+ B00110001,B10000110,B00110000,
+ B00111000,B00000000,B01110000,
+ B00111111,B11111111,B11110000
+ };
+ #endif
+
+ #endif // !STATUS_ALT_FAN_BITMAP
+
+#elif STATUS_FAN_FRAMES == 3
+
+ #if ENABLED(STATUS_ALT_FAN_BITMAP)
+
+ const unsigned char status_fan0_bmp[] PROGMEM = {
+ B00000001,B11111111,B00000000,
+ B00000110,B00000000,B11000000,
+ B00001001,B00000001,B00100000,
+ B00010111,B10000011,B11010000,
+ B00010111,B10000011,B11010000,
+ B00101111,B11000111,B11101000,
+ B00100111,B11000111,B11001000,
+ B00100001,B11111111,B00001000,
+ B00100000,B01111100,B00001000,
+ B00100000,B01111100,B00001000,
+ B00100000,B01111100,B00001000,
+ B00100001,B11111111,B00001000,
+ B00100111,B11000111,B11001000,
+ B00101111,B11000111,B11101000,
+ B00010111,B10000011,B11010000,
+ B00010111,B10000011,B11010000,
+ B00001001,B00000001,B00100000,
+ B00000110,B00000000,B11000000,
+ B00000001,B11111111,B00000000
+ };
+ const unsigned char status_fan1_bmp[] PROGMEM = {
+ B00000001,B11111111,B00000000,
+ B00000110,B00110000,B11000000,
+ B00001001,B11110000,B00100000,
+ B00010001,B11110000,B00010000,
+ B00010000,B11110000,B00010000,
+ B00100000,B11110000,B01101000,
+ B00100000,B00110001,B11101000,
+ B00100000,B00111001,B11101000,
+ B00100000,B01111111,B11111000,
+ B00111111,B11111111,B11111000,
+ B00111111,B11111100,B00001000,
+ B00101111,B00111000,B00001000,
+ B00101110,B00011000,B00001000,
+ B00101100,B00011110,B00001000,
+ B00010000,B00011110,B00010000,
+ B00010000,B00011111,B00010000,
+ B00001000,B00011111,B00100000,
+ B00000110,B00011000,B11000000,
+ B00000001,B11111111,B00000000
+ };
+ const unsigned char status_fan2_bmp[] PROGMEM = {
+ B00000001,B11111111,B00000000,
+ B00000110,B00011000,B11000000,
+ B00001000,B00011111,B00100000,
+ B00010000,B00011111,B10010000,
+ B00010100,B00011111,B00010000,
+ B00101110,B00011110,B00001000,
+ B00101111,B00011100,B00001000,
+ B00101111,B10111000,B00001000,
+ B00111111,B11111100,B00001000,
+ B00111111,B11111111,B11111000,
+ B00100000,B01111111,B11111000,
+ B00100000,B00111011,B11101000,
+ B00100000,B01110001,B11101000,
+ B00100000,B11110000,B11101000,
+ B00010001,B11110000,B01010000,
+ B00010011,B11110000,B00010000,
+ B00001001,B11110000,B00100000,
+ B00000110,B00110000,B11000000,
+ B00000001,B11111111,B00000000
+ };
+
+ #else // !STATUS_ALT_FAN_BITMAP
+
+ const unsigned char status_fan0_bmp[] PROGMEM = {
+ B00111111,B11111111,B11111000,
+ B00111110,B00000000,B11111000,
+ B00111001,B00000001,B00111000,
+ B00110111,B10000011,B11011000,
+ B00110111,B10000011,B11011000,
+ B00101111,B11000111,B11101000,
+ B00100111,B11000111,B11001000,
+ B00100001,B11111111,B00001000,
+ B00100000,B01111100,B00001000,
+ B00100000,B01111100,B00001000,
+ B00100000,B01111100,B00001000,
+ B00100001,B11111111,B00001000,
+ B00100111,B11000111,B11001000,
+ B00101111,B11000111,B11101000,
+ B00110111,B10000011,B11011000,
+ B00110111,B10000011,B11011000,
+ B00111001,B00000001,B00111000,
+ B00111110,B00000000,B11111000,
+ B00111111,B11111111,B11111000
+ };
+ const unsigned char status_fan1_bmp[] PROGMEM = {
+ B00111111,B11111111,B11111000,
+ B00111110,B00110000,B11111000,
+ B00111001,B11110000,B00111000,
+ B00110001,B11110000,B00011000,
+ B00110000,B11110000,B00011000,
+ B00100000,B11110000,B01101000,
+ B00100000,B00110001,B11101000,
+ B00100000,B00111001,B11101000,
+ B00100000,B01111111,B11111000,
+ B00111111,B11111111,B11111000,
+ B00111111,B11111100,B00001000,
+ B00101111,B00111000,B00001000,
+ B00101110,B00011000,B00001000,
+ B00101100,B00011110,B00001000,
+ B00110000,B00011110,B00011000,
+ B00110000,B00011111,B00011000,
+ B00111000,B00011111,B00111000,
+ B00111110,B00011000,B11111000,
+ B00111111,B11111111,B11111000
+ };
+ const unsigned char status_fan2_bmp[] PROGMEM = {
+ B00111111,B11111111,B11111000,
+ B00111110,B00011000,B11111000,
+ B00111000,B00011111,B00111000,
+ B00110000,B00011111,B10011000,
+ B00110100,B00011111,B00011000,
+ B00101110,B00011110,B00001000,
+ B00101111,B00011100,B00001000,
+ B00101111,B10111000,B00001000,
+ B00111111,B11111100,B00001000,
+ B00111111,B11111111,B11111000,
+ B00100000,B01111111,B11111000,
+ B00100000,B00111011,B11101000,
+ B00100000,B01110001,B11101000,
+ B00100000,B11110000,B11101000,
+ B00110001,B11110000,B01011000,
+ B00110011,B11110000,B00011000,
+ B00111001,B11110000,B00111000,
+ B00111110,B00110000,B11111000,
+ B00111111,B11111111,B11111000
+ };
+
+ #endif // !STATUS_ALT_FAN_BITMAP
+
+#elif STATUS_FAN_FRAMES == 4
+
+ #if ENABLED(STATUS_ALT_FAN_BITMAP)
+
+ const unsigned char status_fan0_bmp[] PROGMEM = {
+ B00000001,B11111111,B00000000,
+ B00000110,B00000000,B11000000,
+ B00001000,B00111111,B00100000,
+ B00010000,B01111110,B00010000,
+ B00010000,B01111100,B00010000,
+ B00101000,B01111100,B00001000,
+ B00101100,B00111000,B00001000,
+ B00101111,B00111001,B11001000,
+ B00101111,B11111111,B11101000,
+ B00101111,B11000111,B11101000,
+ B00101111,B11111111,B11101000,
+ B00100111,B00111001,B11101000,
+ B00100000,B00111000,B01101000,
+ B00100000,B01111100,B00101000,
+ B00010000,B01111100,B00010000,
+ B00010000,B11111100,B00010000,
+ B00001001,B11111000,B00100000,
+ B00000110,B00000000,B11000000,
+ B00000001,B11111111,B00000000
+ };
+ const unsigned char status_fan1_bmp[] PROGMEM = {
+ B00000001,B11111111,B00000000,
+ B00000110,B00000000,B11000000,
+ B00001000,B00001111,B00100000,
+ B00010100,B00011111,B11010000,
+ B00010110,B00011111,B10010000,
+ B00101111,B00011111,B00001000,
+ B00101111,B10011110,B00001000,
+ B00101111,B11111100,B00001000,
+ B00101111,B11011100,B00001000,
+ B00100111,B11101111,B11001000,
+ B00100000,B01110111,B11101000,
+ B00100000,B01111111,B11101000,
+ B00100000,B11110011,B11101000,
+ B00100001,B11110001,B11101000,
+ B00010011,B11110000,B11010000,
+ B00010111,B11110000,B01010000,
+ B00001001,B11100000,B00100000,
+ B00000110,B00000000,B11000000,
+ B00000001,B11111111,B00000000
+ };
+ const unsigned char status_fan2_bmp[] PROGMEM = {
+ B00000001,B11111111,B00000000,
+ B00000110,B10000000,B11000000,
+ B00001001,B10000000,B00100000,
+ B00010111,B10000001,B11010000,
+ B00010111,B11000011,B11010000,
+ B00100111,B11000111,B11101000,
+ B00100011,B11000111,B11111000,
+ B00100001,B11111111,B10001000,
+ B00100000,B01101100,B00001000,
+ B00100000,B01101100,B00001000,
+ B00100000,B01101100,B00001000,
+ B00100011,B11111111,B00001000,
+ B00111111,B11000111,B10001000,
+ B00101111,B11000111,B11001000,
+ B00010111,B10000111,B11010000,
+ B00010111,B00000011,B11010000,
+ B00001000,B00000011,B00100000,
+ B00000110,B00000010,B11000000,
+ B00000001,B11111111,B00000000
+ };
+ const unsigned char status_fan3_bmp[] PROGMEM = {
+ B00000001,B11111111,B00000000,
+ B00000110,B00000000,B11000000,
+ B00001001,B11110000,B00100000,
+ B00010001,B11100000,B00010000,
+ B00010001,B11100000,B00010000,
+ B00100001,B11100001,B11101000,
+ B00100000,B11110011,B11101000,
+ B00100000,B01111111,B11101000,
+ B00100000,B01110111,B11101000,
+ B00101000,B11101110,B00101000,
+ B00101111,B11011100,B00001000,
+ B00101111,B11111100,B00001000,
+ B00101111,B10011110,B00001000,
+ B00101111,B00001111,B00001000,
+ B00010000,B00001111,B00010000,
+ B00010000,B00001111,B00010000,
+ B00001000,B00011111,B00100000,
+ B00000110,B00000000,B11000000,
+ B00000001,B11111111,B00000000
+ };
+
+ #else // !STATUS_ALT_FAN_BITMAP
+
+ const unsigned char status_fan0_bmp[] PROGMEM = {
+ B00111111,B11111111,B11111000,
+ B00111110,B00000000,B11111000,
+ B00111000,B00111111,B00111000,
+ B00110000,B01111110,B00011000,
+ B00110000,B01111100,B00011000,
+ B00101000,B01111100,B00001000,
+ B00101100,B00111000,B00001000,
+ B00101111,B00111001,B11001000,
+ B00101111,B11111111,B11101000,
+ B00101111,B11000111,B11101000,
+ B00101111,B11111111,B11101000,
+ B00100111,B00111001,B11101000,
+ B00100000,B00111000,B01101000,
+ B00100000,B01111100,B00101000,
+ B00110000,B01111100,B00011000,
+ B00110000,B11111100,B00011000,
+ B00111001,B11111000,B00111000,
+ B00111110,B00000000,B11111000,
+ B00111111,B11111111,B11111000
+ };
+ const unsigned char status_fan1_bmp[] PROGMEM = {
+ B00111111,B11111111,B11111000,
+ B00111110,B00000000,B11111000,
+ B00111000,B00001111,B00111000,
+ B00110100,B00011111,B11011000,
+ B00110110,B00011111,B10011000,
+ B00101111,B00011111,B00001000,
+ B00101111,B10011110,B00001000,
+ B00101111,B11111100,B00001000,
+ B00101111,B11011100,B00001000,
+ B00100111,B11101111,B11001000,
+ B00100000,B01110111,B11101000,
+ B00100000,B01111111,B11101000,
+ B00100000,B11110011,B11101000,
+ B00100001,B11110001,B11101000,
+ B00110011,B11110000,B11011000,
+ B00110111,B11110000,B01011000,
+ B00111001,B11100000,B00111000,
+ B00111110,B00000000,B11111000,
+ B00111111,B11111111,B11111000
+ };
+ const unsigned char status_fan2_bmp[] PROGMEM = {
+ B00111111,B11111111,B11111000,
+ B00111110,B10000000,B11111000,
+ B00111001,B10000000,B00111000,
+ B00110111,B10000001,B11011000,
+ B00110111,B11000011,B11011000,
+ B00100111,B11000111,B11101000,
+ B00100011,B11000111,B11111000,
+ B00100001,B11111111,B10001000,
+ B00100000,B01101100,B00001000,
+ B00100000,B01101100,B00001000,
+ B00100000,B01101100,B00001000,
+ B00100011,B11111111,B00001000,
+ B00111111,B11000111,B10001000,
+ B00101111,B11000111,B11001000,
+ B00110111,B10000111,B11011000,
+ B00110111,B00000011,B11011000,
+ B00111000,B00000011,B00111000,
+ B00111110,B00000010,B11111000,
+ B00111111,B11111111,B11111000
+ };
+ const unsigned char status_fan3_bmp[] PROGMEM = {
+ B00111111,B11111111,B11111000,
+ B00111110,B00000000,B11111000,
+ B00111001,B11110000,B00111000,
+ B00110001,B11100000,B00011000,
+ B00110001,B11100000,B00011000,
+ B00100001,B11100001,B11101000,
+ B00100000,B11110011,B11101000,
+ B00100000,B01111111,B11101000,
+ B00100000,B01110111,B11101000,
+ B00101000,B11101110,B00101000,
+ B00101111,B11011100,B00001000,
+ B00101111,B11111100,B00001000,
+ B00101111,B10011110,B00001000,
+ B00101111,B00001111,B00001000,
+ B00110000,B00001111,B00011000,
+ B00110000,B00001111,B00011000,
+ B00111000,B00011111,B00111000,
+ B00111110,B00000000,B11111000,
+ B00111111,B11111111,B11111000
+ };
+
+ #endif // !STATUS_ALT_FAN_BITMAP
+
+#endif
diff --git a/Marlin/src/lcd/dogm/status/hotend.h b/Marlin/src/lcd/dogm/status/hotend.h
new file mode 100644
index 0000000..4dddc42
--- /dev/null
+++ b/Marlin/src/lcd/dogm/status/hotend.h
@@ -0,0 +1,486 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+//
+// lcd/dogm/status/hotend.h - Status Screen Hotends bitmaps
+//
+
+#define STATUS_HOTEND1_WIDTH 16
+
+#define MAX_HOTEND_BITMAPS 5
+#if HOTENDS > MAX_HOTEND_BITMAPS
+ #define STATUS_HOTEND_BITMAPS MAX_HOTEND_BITMAPS
+#else
+ #define STATUS_HOTEND_BITMAPS HOTENDS
+#endif
+
+#if HOTENDS == 1 || ENABLED(STATUS_HOTEND_NUMBERLESS)
+
+ const unsigned char status_hotend_a_bmp[] PROGMEM = {
+ B00011111,B11100000,
+ B00111111,B11110000,
+ B00111111,B11110000,
+ B00111111,B11110000,
+ B00011111,B11100000,
+ B00011111,B11100000,
+ B00111111,B11110000,
+ B00111111,B11110000,
+ B00111111,B11110000,
+ B00001111,B11000000,
+ B00000111,B10000000,
+ B00000011,B00000000
+ };
+
+ #ifdef STATUS_HOTEND_ANIM
+
+ const unsigned char status_hotend_b_bmp[] PROGMEM = {
+ B00011111,B11100000,
+ B00100000,B00010000,
+ B00100000,B00010000,
+ B00100000,B00010000,
+ B00010000,B00100000,
+ B00010000,B00100000,
+ B00100000,B00010000,
+ B00100000,B00010000,
+ B00110000,B00110000,
+ B00001000,B01000000,
+ B00000100,B10000000,
+ B00000011,B00000000
+ };
+
+ #endif
+
+#elif HOTENDS >= 2
+
+ #ifdef STATUS_HOTEND_ANIM
+
+ const unsigned char status_hotend1_a_bmp[] PROGMEM = {
+ B00011111,B11100000,
+ B00111111,B11110000,
+ #if LCD_FIRST_TOOL == 0
+ B00111100,B11110000,
+ B00111011,B01110000,
+ B00111011,B01110000,
+ B00011011,B01100000,
+ B00011011,B01100000,
+ B00111011,B01110000,
+ B00111100,B11110000,
+ #else
+ B00111110,B11110000,
+ B00111100,B11110000,
+ B00011010,B11100000,
+ B00011110,B11100000,
+ B00111110,B11110000,
+ B00111110,B11110000,
+ B00111110,B11110000,
+ #endif
+ B00001111,B11000000,
+ B00000111,B10000000,
+ B00000011,B00000000
+ };
+
+ const unsigned char status_hotend1_b_bmp[] PROGMEM = {
+ B00011111,B11100000,
+ B00100000,B00010000,
+ #if LCD_FIRST_TOOL == 0
+ B00100011,B00010000,
+ B00100100,B10010000,
+ B00010100,B10100000,
+ B00010100,B10100000,
+ B00100100,B10010000,
+ B00100100,B10010000,
+ B00110011,B00110000,
+ #else
+ B00100001,B00010000,
+ B00100011,B00010000,
+ B00010101,B00100000,
+ B00010001,B00100000,
+ B00100001,B00010000,
+ B00100001,B00010000,
+ B00110001,B00110000,
+ #endif
+ B00001000,B01000000,
+ B00000100,B10000000,
+ B00000011,B00000000
+ };
+
+ const unsigned char status_hotend2_a_bmp[] PROGMEM = {
+ B00011111,B11100000,
+ B00111111,B11110000,
+ #if LCD_FIRST_TOOL == 0
+ B00111110,B11110000,
+ B00111100,B11110000,
+ B00011010,B11100000,
+ B00011110,B11100000,
+ B00111110,B11110000,
+ B00111110,B11110000,
+ B00111110,B11110000,
+ #else
+ B00111100,B11110000,
+ B00111011,B01110000,
+ B00011111,B01100000,
+ B00011110,B11100000,
+ B00111101,B11110000,
+ B00111011,B11110000,
+ B00111000,B01110000,
+ #endif
+ B00001111,B11000000,
+ B00000111,B10000000,
+ B00000011,B00000000
+ };
+
+ const unsigned char status_hotend2_b_bmp[] PROGMEM = {
+ B00011111,B11100000,
+ B00100000,B00010000,
+ #if LCD_FIRST_TOOL == 0
+ B00100001,B00010000,
+ B00100011,B00010000,
+ B00010101,B00100000,
+ B00010001,B00100000,
+ B00100001,B00010000,
+ B00100001,B00010000,
+ B00110001,B00110000,
+ #else
+ B00100011,B00010000,
+ B00100100,B10010000,
+ B00010000,B10100000,
+ B00010001,B00100000,
+ B00100010,B00010000,
+ B00100100,B00010000,
+ B00110111,B10110000,
+ #endif
+ B00001000,B01000000,
+ B00000100,B10000000,
+ B00000011,B00000000
+ };
+
+ #else
+
+ const unsigned char status_hotend1_a_bmp[] PROGMEM = {
+ B00011111,B11100000,
+ #if LCD_FIRST_TOOL == 0
+ B00111100,B11110000,
+ B00111011,B01110000,
+ B00111011,B01110000,
+ B00011011,B01100000,
+ B00011011,B01100000,
+ B00111011,B01110000,
+ B00111100,B11110000,
+ #else
+ B00111110,B11110000,
+ B00111100,B11110000,
+ B00111010,B11110000,
+ B00011110,B11100000,
+ B00011110,B11100000,
+ B00111110,B11110000,
+ B00111110,B11110000,
+ #endif
+ B00111111,B11110000,
+ B00001111,B11000000,
+ B00000111,B10000000,
+ B00000011,B00000000
+ };
+
+ const unsigned char status_hotend2_a_bmp[] PROGMEM = {
+ B00011111,B11100000,
+ #if LCD_FIRST_TOOL == 0
+ B00111110,B11110000,
+ B00111100,B11110000,
+ B00111010,B11110000,
+ B00011110,B11100000,
+ B00011110,B11100000,
+ B00111110,B11110000,
+ B00111110,B11110000,
+ #else
+ B00111100,B11110000,
+ B00111011,B01110000,
+ B00111111,B01110000,
+ B00011110,B11100000,
+ B00011101,B11100000,
+ B00111011,B11110000,
+ B00111000,B01110000,
+ #endif
+ B00111111,B11110000,
+ B00001111,B11000000,
+ B00000111,B10000000,
+ B00000011,B00000000
+ };
+
+ #endif
+
+ #if STATUS_HOTEND_BITMAPS >= 3
+
+ #ifdef STATUS_HOTEND_ANIM
+
+ const unsigned char status_hotend3_a_bmp[] PROGMEM = {
+ B00011111,B11100000,
+ B00111111,B11110000,
+ #if LCD_FIRST_TOOL == 0
+ B00111100,B11110000,
+ B00111011,B01110000,
+ B00011111,B01100000,
+ B00011110,B11100000,
+ B00111101,B11110000,
+ B00111011,B11110000,
+ B00111000,B01110000,
+ #else
+ B00111100,B11110000,
+ B00111011,B01110000,
+ B00011111,B01100000,
+ B00011100,B11100000,
+ B00111111,B01110000,
+ B00111011,B01110000,
+ B00111100,B11110000,
+ #endif
+ B00001111,B11000000,
+ B00000111,B10000000,
+ B00000011,B00000000
+ };
+
+ const unsigned char status_hotend3_b_bmp[] PROGMEM = {
+ B00011111,B11100000,
+ B00100000,B00010000,
+ #if LCD_FIRST_TOOL == 0
+ B00100011,B00010000,
+ B00100100,B10010000,
+ B00010000,B10100000,
+ B00010001,B00100000,
+ B00100010,B00010000,
+ B00100100,B00010000,
+ B00110111,B10110000,
+ #else
+ B00100011,B00010000,
+ B00100100,B10010000,
+ B00010000,B10100000,
+ B00010011,B00100000,
+ B00100000,B10010000,
+ B00100100,B10010000,
+ B00110011,B00110000,
+ #endif
+ B00001000,B01000000,
+ B00000100,B10000000,
+ B00000011,B00000000
+ };
+
+ #else
+
+ const unsigned char status_hotend3_a_bmp[] PROGMEM = {
+ B00011111,B11100000,
+ #if LCD_FIRST_TOOL == 0
+ B00111100,B11110000,
+ B00111011,B01110000,
+ B00111111,B01110000,
+ B00011110,B11100000,
+ B00011101,B11100000,
+ B00111011,B11110000,
+ B00111000,B01110000,
+ #else
+ B00111100,B11110000,
+ B00111011,B01110000,
+ B00111111,B01110000,
+ B00011100,B11100000,
+ B00011111,B01100000,
+ B00111011,B01110000,
+ B00111100,B11110000,
+ #endif
+ B00111111,B11110000,
+ B00001111,B11000000,
+ B00000111,B10000000,
+ B00000011,B00000000
+ };
+
+ #endif
+
+ #endif
+
+ #if STATUS_HOTEND_BITMAPS >= 4
+
+ #ifdef STATUS_HOTEND_ANIM
+
+ const unsigned char status_hotend4_a_bmp[] PROGMEM = {
+ B00011111,B11100000,
+ B00111111,B11110000,
+ #if LCD_FIRST_TOOL == 0
+ B00111100,B11110000,
+ B00111011,B01110000,
+ B00011111,B01100000,
+ B00011100,B11100000,
+ B00111111,B01110000,
+ B00111011,B01110000,
+ B00111100,B11110000,
+ #else
+ B00111011,B01110000,
+ B00111011,B01110000,
+ B00011011,B01100000,
+ B00011011,B01100000,
+ B00111000,B00110000,
+ B00111111,B01110000,
+ B00111111,B01110000,
+ #endif
+ B00001111,B11000000,
+ B00000111,B10000000,
+ B00000011,B00000000
+ };
+
+ const unsigned char status_hotend4_b_bmp[] PROGMEM = {
+ B00011111,B11100000,
+ B00100000,B00010000,
+ #if LCD_FIRST_TOOL == 0
+ B00100011,B00010000,
+ B00100100,B10010000,
+ B00010000,B10100000,
+ B00010011,B00100000,
+ B00100000,B10010000,
+ B00100100,B10010000,
+ B00110011,B00110000,
+ #else
+ B00100100,B10010000,
+ B00100100,B10010000,
+ B00010100,B10100000,
+ B00010100,B10100000,
+ B00100111,B11010000,
+ B00100000,B10010000,
+ B00110000,B10110000,
+ #endif
+ B00001000,B01000000,
+ B00000100,B10000000,
+ B00000011,B00000000
+ };
+
+ #else
+
+ const unsigned char status_hotend4_a_bmp[] PROGMEM = {
+ B00011111,B11100000,
+ #if LCD_FIRST_TOOL == 0
+ B00111100,B11110000,
+ B00111011,B01110000,
+ B00111111,B01110000,
+ B00011100,B11100000,
+ B00011111,B01100000,
+ B00111011,B01110000,
+ B00111100,B11110000,
+ #else
+ B00111011,B01110000,
+ B00111011,B01110000,
+ B00111011,B01110000,
+ B00011011,B01100000,
+ B00011000,B00100000,
+ B00111111,B01110000,
+ B00111111,B01110000,
+ #endif
+ B00111111,B11110000,
+ B00001111,B11000000,
+ B00000111,B10000000,
+ B00000011,B00000000
+ };
+
+ #endif
+
+ #endif
+
+ #if STATUS_HOTEND_BITMAPS >= 5
+
+ #ifdef STATUS_HOTEND_ANIM
+
+ const unsigned char status_hotend5_a_bmp[] PROGMEM = {
+ B00011111,B11100000,
+ B00111111,B11110000,
+ #if LCD_FIRST_TOOL == 0
+ B00111011,B01110000,
+ B00111011,B01110000,
+ B00011011,B01100000,
+ B00011011,B01100000,
+ B00111000,B00110000,
+ B00111111,B01110000,
+ B00111111,B01110000,
+ #else
+ B00111000,B01110000,
+ B00111011,B11110000,
+ B00011000,B11100000,
+ B00011111,B01100000,
+ B00111111,B01110000,
+ B00111011,B01110000,
+ B00111100,B11110000,
+ #endif
+ B00001111,B11000000,
+ B00000111,B10000000,
+ B00000011,B00000000
+ };
+
+ const unsigned char status_hotend5_b_bmp[] PROGMEM = {
+ B00011111,B11100000,
+ B00100000,B00010000,
+ #if LCD_FIRST_TOOL == 0
+ B00100100,B10010000,
+ B00100100,B10010000,
+ B00010100,B10100000,
+ B00010100,B10100000,
+ B00100111,B11010000,
+ B00100000,B10010000,
+ B00110000,B10110000,
+ #else
+ B00100111,B10010000,
+ B00100100,B00010000,
+ B00010111,B00100000,
+ B00010000,B10100000,
+ B00100000,B10010000,
+ B00100100,B10010000,
+ B00110011,B00110000,
+ #endif
+ B00001000,B01000000,
+ B00000100,B10000000,
+ B00000011,B00000000
+ };
+
+ #else
+
+ const unsigned char status_hotend5_a_bmp[] PROGMEM = {
+ B00011111,B11100000,
+ #if LCD_FIRST_TOOL == 0
+ B00111011,B01110000,
+ B00111011,B01110000,
+ B00111011,B01110000,
+ B00011011,B01100000,
+ B00011000,B00100000,
+ B00111111,B01110000,
+ B00111111,B01110000,
+ #else
+ B00111000,B01110000,
+ B00111011,B11110000,
+ B00111000,B11110000,
+ B00011111,B01100000,
+ B00011111,B01100000,
+ B00111011,B01110000,
+ B00111100,B11110000,
+ #endif
+ B00111111,B11110000,
+ B00001111,B11000000,
+ B00000111,B10000000,
+ B00000011,B00000000
+ };
+
+ #endif
+
+ #endif
+
+#endif