/** * 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 . * */ #pragma once // // lcd/dogm/status/hotend.h - Status Screen Hotends bitmaps // #if HAS_MMU #define STATUS_HOTEND_BITMAPS EXTRUDERS #define MAX_HOTEND_BITMAPS 8 #else #define STATUS_HOTEND_BITMAPS HOTENDS #define MAX_HOTEND_BITMAPS 5 #endif #if STATUS_HOTEND_BITMAPS > MAX_HOTEND_BITMAPS #undef STATUS_HOTEND_BITMAPS #define STATUS_HOTEND_BITMAPS MAX_HOTEND_BITMAPS #endif #define STATUS_HOTEND1_WIDTH 16 #if STATUS_HOTEND_BITMAPS == 1 || defined(STATUS_HOTEND_NUMBERLESS) const unsigned char status_hotend_a_bmp[] PROGMEM = { B00011111,B11100000, #if defined(STATUS_HOTEND_INVERTED) && !defined(STATUS_HOTEND_ANIM) B00100000,B00010000, B00100000,B00010000, B00100000,B00010000, B00010000,B00100000, B00010000,B00100000, B00100000,B00010000, B00100000,B00010000, B00110000,B00110000, B00001000,B01000000, B00000100,B10000000, #else B00111111,B11110000, B00111111,B11110000, B00111111,B11110000, B00011111,B11100000, B00011111,B11100000, B00111111,B11110000, B00111111,B11110000, B00111111,B11110000, B00001111,B11000000, B00000111,B10000000, #endif 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 STATUS_HOTEND_BITMAPS > 1 #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 #if STATUS_HOTEND_BITMAPS >= 6 #ifdef STATUS_HOTEND_ANIM const unsigned char status_hotend6_a_bmp[] PROGMEM = { B00011111,B11100000, B00111111,B11110000, #if LCD_FIRST_TOOL == 0 B00111000,B01110000, B00111011,B11110000, B00011000,B11100000, B00011111,B01100000, B00111111,B01110000, B00111011,B01110000, B00111100,B11110000, #else B00111100,B01110000, B00111011,B11110000, B00011011,B11100000, B00011000,B11100000, B00111011,B01110000, B00111011,B01110000, B00111100,B11110000, #endif B00001111,B11000000, B00000111,B10000000, B00000011,B00000000 }; const unsigned char status_hotend6_b_bmp[] PROGMEM = { B00011111,B11100000, B00100000,B00010000, #if LCD_FIRST_TOOL == 0 B00100111,B10010000, B00100100,B00010000, B00010111,B00100000, B00010000,B10100000, B00100000,B10010000, B00100100,B10010000, B00110011,B00110000, #else B00100011,B10010000, B00100100,B00010000, B00010100,B00100000, B00010111,B00100000, B00100100,B10010000, B00100100,B10010000, B00110011,B00110000, #endif B00001000,B01000000, B00000100,B10000000, B00000011,B00000000 }; #else const unsigned char status_hotend6_a_bmp[] PROGMEM = { B00011111,B11100000, #if LCD_FIRST_TOOL == 0 B00111000,B01110000, B00111011,B11110000, B00111000,B11110000, B00011111,B01100000, B00011111,B01100000, B00111011,B01110000, B00111100,B11110000, #else B00111100,B01110000, B00111011,B11110000, B00111011,B11110000, B00011000,B11100000, B00011011,B01100000, B00111011,B01110000, B00111100,B11110000, #endif B00111111,B11110000, B00001111,B11000000, B00000111,B10000000, B00000011,B00000000 }; #endif #endif #if STATUS_HOTEND_BITMAPS >= 7 #ifdef STATUS_HOTEND_ANIM const unsigned char status_hotend7_a_bmp[] PROGMEM = { B00011111,B11100000, B00111111,B11110000, #if LCD_FIRST_TOOL == 0 B00111100,B01110000, B00111011,B11110000, B00011011,B11100000, B00011000,B11100000, B00111011,B01110000, B00111011,B01110000, B00111100,B11110000, #else B00111000,B01110000, B00111011,B01110000, B00011111,B01100000, B00011110,B11100000, B00111110,B11110000, B00111101,B11110000, B00111101,B11110000, #endif B00001111,B11000000, B00000111,B10000000, B00000011,B00000000 }; const unsigned char status_hotend7_b_bmp[] PROGMEM = { B00011111,B11100000, B00100000,B00010000, #if LCD_FIRST_TOOL == 0 B00100011,B10010000, B00100100,B00010000, B00010100,B00100000, B00010111,B00100000, B00100100,B10010000, B00100100,B10010000, B00110011,B00110000, #else B00100111,B10010000, B00100100,B10010000, B00010000,B10100000, B00010001,B00100000, B00100001,B00010000, B00100010,B00010000, B00110010,B00110000, #endif B00001000,B01000000, B00000100,B10000000, B00000011,B00000000 }; #else const unsigned char status_hotend7_a_bmp[] PROGMEM = { B00011111,B11100000, #if LCD_FIRST_TOOL == 0 B00111100,B01110000, B00111011,B11110000, B00111011,B11110000, B00011000,B11100000, B00011011,B01100000, B00111011,B01110000, B00111100,B11110000, #else B00111000,B01110000, B00111011,B01110000, B00111111,B01110000, B00011110,B11100000, B00011110,B11100000, B00111101,B11110000, B00111101,B11110000, #endif B00111111,B11110000, B00001111,B11000000, B00000111,B10000000, B00000011,B00000000 }; #endif #endif #if STATUS_HOTEND_BITMAPS >= 8 #ifdef STATUS_HOTEND_ANIM const unsigned char status_hotend8_a_bmp[] PROGMEM = { B00011111,B11100000, B00111111,B11110000, #if LCD_FIRST_TOOL == 0 B00111000,B01110000, B00111011,B01110000, B00011111,B01100000, B00011110,B11100000, B00111110,B11110000, B00111101,B11110000, B00111101,B11110000, #else B00111100,B11110000, B00111011,B01110000, B00011011,B01100000, B00011100,B11100000, B00111011,B01110000, B00111011,B01110000, B00111100,B11110000, #endif B00001111,B11000000, B00000111,B10000000, B00000011,B00000000 }; const unsigned char status_hotend8_b_bmp[] PROGMEM = { B00011111,B11100000, B00100000,B00010000, #if LCD_FIRST_TOOL == 0 B00100111,B10010000, B00100100,B10010000, B00010000,B10100000, B00010001,B00100000, B00100001,B00010000, B00100010,B00010000, B00110010,B00110000, #else B00100011,B00010000, B00100100,B10010000, B00010100,B10100000, B00010011,B00100000, B00100100,B10010000, B00100100,B10010000, B00110011,B00110000, #endif B00001000,B01000000, B00000100,B10000000, B00000011,B00000000 }; #else const unsigned char status_hotend8_a_bmp[] PROGMEM = { B00011111,B11100000, #if LCD_FIRST_TOOL == 0 B00111000,B01110000, B00111011,B01110000, B00111111,B01110000, B00011110,B11100000, B00011110,B11100000, B00111101,B11110000, B00111101,B11110000, #else B00111100,B11110000, B00111011,B01110000, B00111011,B01110000, B00011100,B11100000, B00011011,B01100000, B00111011,B01110000, B00111100,B11110000, #endif B00111111,B11110000, B00001111,B11000000, B00000111,B10000000, B00000011,B00000000 }; #endif #endif #endif