mirror of
https://github.com/MarlinFirmware/Marlin.git
synced 2025-03-10 08:32:54 +00:00
🩹 Fix Ender-3 V2 with no fan
This commit is contained in:
parent
85e28f3123
commit
59a2cb032f
2 changed files with 22 additions and 21 deletions
Marlin/src/lcd/e3v2
|
@ -3862,7 +3862,7 @@ void CrealityDWINClass::Menu_Item_Handler(uint8_t menu, uint8_t item, bool draw/
|
|||
Draw_Menu_Item(row, ICON_Back, F("Cancel"));
|
||||
else {
|
||||
thermalManager.setTargetHotend(0, 0);
|
||||
thermalManager.set_fan_speed(0, 0);
|
||||
TERN_(HAS_FAN, thermalManager.set_fan_speed(0, 0));
|
||||
Redraw_Menu(false, true, true);
|
||||
}
|
||||
break;
|
||||
|
@ -4474,7 +4474,7 @@ void CrealityDWINClass::Popup_Control() {
|
|||
case ETemp:
|
||||
if (selection == 0) {
|
||||
thermalManager.setTargetHotend(EXTRUDE_MINTEMP, 0);
|
||||
thermalManager.set_fan_speed(0, MAX_FAN_SPEED);
|
||||
TERN_(HAS_FAN, thermalManager.set_fan_speed(0, MAX_FAN_SPEED));
|
||||
Draw_Menu(PreheatHotend);
|
||||
}
|
||||
else
|
||||
|
|
|
@ -143,25 +143,27 @@ void _draw_axis_value(const AxisEnum axis, const char *value, const bool blink,
|
|||
|
||||
#endif // LCD_SHOW_E_TOTAL
|
||||
|
||||
//
|
||||
// Fan Icon and Percentage
|
||||
//
|
||||
FORCE_INLINE void _draw_fan_status(const uint16_t x, const uint16_t y) {
|
||||
const uint16_t fanx = (4 * STATUS_CHR_WIDTH - STATUS_FAN_WIDTH) / 2;
|
||||
const bool fan_on = !!thermalManager.scaledFanSpeed(0);
|
||||
if (fan_on) {
|
||||
DWIN_ICON_Animation(0, fan_on, ICON, ICON_Fan0, ICON_Fan3, x + fanx, y, 25);
|
||||
dwin_string.set(i8tostr3rj(thermalManager.scaledFanSpeedPercent(0)));
|
||||
dwin_string.add('%');
|
||||
DWIN_Draw_String(true, font14x28, Color_White, Color_Bg_Black, x, y + STATUS_FAN_HEIGHT, S(dwin_string.string()));
|
||||
#if HAS_FAN
|
||||
//
|
||||
// Fan Icon and Percentage
|
||||
//
|
||||
FORCE_INLINE void _draw_fan_status(const uint16_t x, const uint16_t y) {
|
||||
const uint16_t fanx = (4 * STATUS_CHR_WIDTH - STATUS_FAN_WIDTH) / 2;
|
||||
const bool fan_on = !!thermalManager.scaledFanSpeed(0);
|
||||
if (fan_on) {
|
||||
DWIN_ICON_Animation(0, fan_on, ICON, ICON_Fan0, ICON_Fan3, x + fanx, y, 25);
|
||||
dwin_string.set(i8tostr3rj(thermalManager.scaledFanSpeedPercent(0)));
|
||||
dwin_string.add('%');
|
||||
DWIN_Draw_String(true, font14x28, Color_White, Color_Bg_Black, x, y + STATUS_FAN_HEIGHT, S(dwin_string.string()));
|
||||
}
|
||||
else {
|
||||
DWIN_ICON_AnimationControl(0x0000); // disable all icon animations (this is the only one)
|
||||
DWIN_ICON_Show(ICON, ICON_Fan0, x + fanx, y);
|
||||
dwin_string.set(F(" "));
|
||||
DWIN_Draw_String(true, font14x28, Color_White, Color_Bg_Black, x, y + STATUS_FAN_HEIGHT, S(dwin_string.string()));
|
||||
}
|
||||
}
|
||||
else {
|
||||
DWIN_ICON_AnimationControl(0x0000); // disable all icon animations (this is the only one)
|
||||
DWIN_ICON_Show(ICON, ICON_Fan0, x + fanx, y);
|
||||
dwin_string.set(F(" "));
|
||||
DWIN_Draw_String(true, font14x28, Color_White, Color_Bg_Black, x, y + STATUS_FAN_HEIGHT, S(dwin_string.string()));
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Draw a single heater icon with current and target temperature, at the given XY
|
||||
|
@ -300,7 +302,6 @@ void MarlinUI::draw_status_screen() {
|
|||
#if HAS_HEATED_BED
|
||||
_draw_heater_status(H_BED, hx, STATUS_HEATERS_Y);
|
||||
#endif
|
||||
|
||||
#if HAS_FAN
|
||||
_draw_fan_status(LCD_PIXEL_WIDTH - STATUS_CHR_WIDTH * 5, STATUS_FAN_Y);
|
||||
#endif
|
||||
|
|
Loading…
Add table
Reference in a new issue