mirror of
https://github.com/MarlinFirmware/Marlin.git
synced 2024-11-23 12:04:19 +00:00
Active MMU slot indicator (#21842)
This commit is contained in:
parent
ad991734c4
commit
ec2f4f512e
@ -25,16 +25,21 @@
|
||||
// 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
|
||||
#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
|
||||
|
||||
#if HOTENDS == 1 || ENABLED(STATUS_HOTEND_NUMBERLESS)
|
||||
#define STATUS_HOTEND1_WIDTH 16
|
||||
|
||||
#if STATUS_HOTEND_BITMAPS == 1 || ENABLED(STATUS_HOTEND_NUMBERLESS)
|
||||
|
||||
const unsigned char status_hotend_a_bmp[] PROGMEM = {
|
||||
B00011111,B11100000,
|
||||
@ -70,7 +75,7 @@
|
||||
|
||||
#endif
|
||||
|
||||
#elif HOTENDS >= 2
|
||||
#elif STATUS_HOTEND_BITMAPS > 1
|
||||
|
||||
#ifdef STATUS_HOTEND_ANIM
|
||||
|
||||
@ -483,4 +488,259 @@
|
||||
|
||||
#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
|
||||
|
@ -274,12 +274,12 @@ FORCE_INLINE void _draw_centered_temp(const celsius_t temp, const uint8_t tx, co
|
||||
#if ENABLED(STATUS_HEAT_PERCENT)
|
||||
if (isHeat && tall <= BAR_TALL) {
|
||||
const uint8_t ph = STATUS_HEATERS_HEIGHT - 1 - tall;
|
||||
u8g.drawBitmapP(hx, STATUS_HEATERS_Y, bw, ph, HOTEND_BITMAP(heater_id, false));
|
||||
u8g.drawBitmapP(hx, STATUS_HEATERS_Y + ph, bw, tall + 1, HOTEND_BITMAP(heater_id, true) + ph * bw);
|
||||
u8g.drawBitmapP(hx, STATUS_HEATERS_Y, bw, ph, HOTEND_BITMAP(TERN(HAS_MMU, active_extruder, heater_id), false));
|
||||
u8g.drawBitmapP(hx, STATUS_HEATERS_Y + ph, bw, tall + 1, HOTEND_BITMAP(TERN(HAS_MMU, active_extruder, heater_id), true) + ph * bw);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
u8g.drawBitmapP(hx, STATUS_HEATERS_Y, bw, STATUS_HEATERS_HEIGHT, HOTEND_BITMAP(heater_id, isHeat));
|
||||
u8g.drawBitmapP(hx, STATUS_HEATERS_Y, bw, STATUS_HEATERS_HEIGHT, HOTEND_BITMAP(TERN(HAS_MMU, active_extruder, heater_id), isHeat));
|
||||
#endif
|
||||
|
||||
} // PAGE_CONTAINS
|
||||
|
Loading…
Reference in New Issue
Block a user