|
|
@ -236,18 +236,12 @@ FORCE_INLINE void _draw_centered_temp(const celsius_t temp, const uint8_t tx, co |
|
|
|
#define HOTEND_DOT false |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ANIM_HOTEND && BOTH(STATUS_HOTEND_INVERTED, STATUS_HOTEND_NUMBERLESS) |
|
|
|
#define OFF_BMP(N) status_hotend_b_bmp |
|
|
|
#define ON_BMP(N) status_hotend_a_bmp |
|
|
|
#elif ANIM_HOTEND && DISABLED(STATUS_HOTEND_INVERTED) && ENABLED(STATUS_HOTEND_NUMBERLESS) |
|
|
|
#define OFF_BMP(N) status_hotend_a_bmp |
|
|
|
#define ON_BMP(N) status_hotend_b_bmp |
|
|
|
#elif BOTH(ANIM_HOTEND, STATUS_HOTEND_INVERTED) |
|
|
|
#define OFF_BMP(N) status_hotend##N##_b_bmp |
|
|
|
#define ON_BMP(N) status_hotend##N##_a_bmp |
|
|
|
#if ENABLED(STATUS_HOTEND_NUMBERLESS) |
|
|
|
#define OFF_BMP(N) TERN(STATUS_HOTEND_INVERTED, status_hotend_b_bmp, status_hotend_a_bmp) |
|
|
|
#define ON_BMP(N) TERN(STATUS_HOTEND_INVERTED, status_hotend_a_bmp, status_hotend_b_bmp) |
|
|
|
#else |
|
|
|
#define OFF_BMP(N) status_hotend##N##_a_bmp |
|
|
|
#define ON_BMP(N) status_hotend##N##_b_bmp |
|
|
|
#define OFF_BMP(N) TERN(STATUS_HOTEND_INVERTED, status_hotend##N##_b_bmp, status_hotend##N##_a_bmp) |
|
|
|
#define ON_BMP(N) TERN(STATUS_HOTEND_INVERTED, status_hotend##N##_a_bmp, status_hotend##N##_b_bmp) |
|
|
|
#endif |
|
|
|
|
|
|
|
#if STATUS_HOTEND_BITMAPS > 1 |
|
|
@ -275,20 +269,18 @@ FORCE_INLINE void _draw_centered_temp(const celsius_t temp, const uint8_t tx, co |
|
|
|
uint8_t tall = uint8_t(perc * BAR_TALL + 0.5f); |
|
|
|
NOMORE(tall, BAR_TALL); |
|
|
|
|
|
|
|
#if ANIM_HOTEND |
|
|
|
// Draw hotend bitmap, either whole or split by the heating percent
|
|
|
|
const uint8_t hx = STATUS_HOTEND_X(heater_id), |
|
|
|
bw = STATUS_HOTEND_BYTEWIDTH(heater_id); |
|
|
|
#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(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(TERN(HAS_MMU, active_extruder, heater_id), isHeat)); |
|
|
|
// Draw hotend bitmap, either whole or split by the heating percent
|
|
|
|
const uint8_t hx = STATUS_HOTEND_X(heater_id), |
|
|
|
bw = STATUS_HOTEND_BYTEWIDTH(heater_id); |
|
|
|
#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(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(TERN(HAS_MMU, active_extruder, heater_id), isHeat)); |
|
|
|
|
|
|
|
} // PAGE_CONTAINS
|
|
|
|
|
|
|
|