diff --git a/Marlin/src/lcd/extui/mks_ui/draw_preHeat.cpp b/Marlin/src/lcd/extui/mks_ui/draw_preHeat.cpp index 4d657f2394..ab95ce3a83 100644 --- a/Marlin/src/lcd/extui/mks_ui/draw_preHeat.cpp +++ b/Marlin/src/lcd/extui/mks_ui/draw_preHeat.cpp @@ -60,18 +60,20 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) { switch (obj->mks_obj_id) { case ID_P_ADD: { if (uiCfg.curTempType == 0) { - int16_t max_target; - thermalManager.temp_hotend[uiCfg.extruderIndex].target += uiCfg.stepHeat; - if (uiCfg.extruderIndex == 0) - max_target = HEATER_0_MAXTEMP - (WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1); - else { - #if HAS_MULTI_HOTEND - max_target = HEATER_1_MAXTEMP - (WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1); - #endif - } - if (thermalManager.degTargetHotend(uiCfg.extruderIndex) > max_target) - thermalManager.setTargetHotend(max_target, uiCfg.extruderIndex); - thermalManager.start_watching_hotend(uiCfg.extruderIndex); + #if HAS_HOTEND + int16_t max_target; + thermalManager.temp_hotend[uiCfg.extruderIndex].target += uiCfg.stepHeat; + if (uiCfg.extruderIndex == 0) + max_target = HEATER_0_MAXTEMP - (WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1); + else { + #if HAS_MULTI_HOTEND + max_target = HEATER_1_MAXTEMP - (WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1); + #endif + } + if (thermalManager.degTargetHotend(uiCfg.extruderIndex) > max_target) + thermalManager.setTargetHotend(max_target, uiCfg.extruderIndex); + thermalManager.start_watching_hotend(uiCfg.extruderIndex); + #endif } else { #if HAS_HEATED_BED @@ -87,11 +89,13 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) { case ID_P_DEC: if (uiCfg.curTempType == 0) { - if (thermalManager.degTargetHotend(uiCfg.extruderIndex) > uiCfg.stepHeat) - thermalManager.temp_hotend[uiCfg.extruderIndex].target -= uiCfg.stepHeat; - else - thermalManager.setTargetHotend(0, uiCfg.extruderIndex); - thermalManager.start_watching_hotend(uiCfg.extruderIndex); + #if HAS_HOTEND + if (thermalManager.degTargetHotend(uiCfg.extruderIndex) > uiCfg.stepHeat) + thermalManager.temp_hotend[uiCfg.extruderIndex].target -= uiCfg.stepHeat; + else + thermalManager.setTargetHotend(0, uiCfg.extruderIndex); + thermalManager.start_watching_hotend(uiCfg.extruderIndex); + #endif } else { #if HAS_HEATED_BED @@ -99,7 +103,6 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) { thermalManager.temp_bed.target -= uiCfg.stepHeat; else thermalManager.setTargetBed(0); - thermalManager.start_watching_bed(); #endif } @@ -142,8 +145,10 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) { break; case ID_P_OFF: if (uiCfg.curTempType == 0) { - thermalManager.setTargetHotend(0, uiCfg.extruderIndex); - thermalManager.start_watching_hotend(uiCfg.extruderIndex); + #if HAS_HOTEND + thermalManager.setTargetHotend(0, uiCfg.extruderIndex); + thermalManager.start_watching_hotend(uiCfg.extruderIndex); + #endif } else { #if HAS_HEATED_BED @@ -158,16 +163,20 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) { draw_return_ui(); break; case ID_P_ABS: - if (uiCfg.curTempType == 0) - thermalManager.setTargetHotend(PREHEAT_2_TEMP_HOTEND, 0); - else if (uiCfg.curTempType == 1) - thermalManager.setTargetBed(PREHEAT_2_TEMP_BED); + if (uiCfg.curTempType == 0) { + TERN_(HAS_HOTEND, thermalManager.setTargetHotend(PREHEAT_2_TEMP_HOTEND, 0)); + } + else if (uiCfg.curTempType == 1) { + TERN_(HAS_HEATED_BED, thermalManager.setTargetBed(PREHEAT_2_TEMP_BED)); + } break; case ID_P_PLA: - if (uiCfg.curTempType == 0) - thermalManager.setTargetHotend(PREHEAT_1_TEMP_HOTEND, 0); - else if (uiCfg.curTempType == 1) - thermalManager.setTargetBed(PREHEAT_1_TEMP_BED); + if (uiCfg.curTempType == 0) { + TERN_(HAS_HOTEND, thermalManager.setTargetHotend(PREHEAT_1_TEMP_HOTEND, 0)); + } + else if (uiCfg.curTempType == 1) { + TERN_(HAS_HEATED_BED, thermalManager.setTargetBed(PREHEAT_1_TEMP_BED)); + } break; } } @@ -227,14 +236,14 @@ void disp_ext_heart() { void disp_temp_type() { if (uiCfg.curTempType == 0) { - if (uiCfg.extruderIndex == 1) { + if (TERN0(HAS_MULTI_EXTRUDER, uiCfg.extruderIndex == 1)) { lv_imgbtn_set_src_both(buttonType, "F:/bmp_extru2.bin"); if (gCfgItems.multiple_language) { lv_label_set_text(labelType, preheat_menu.ext2); lv_obj_align(labelType, buttonType, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } } - else { + else if (ENABLED(HAS_HOTEND)) { lv_imgbtn_set_src_both(buttonType, "F:/bmp_extru1.bin"); if (gCfgItems.multiple_language) { lv_label_set_text(labelType, preheat_menu.ext1); @@ -242,7 +251,7 @@ void disp_temp_type() { } } } - else { + else if (ENABLED(HAS_HEATED_BED)) { lv_imgbtn_set_src_both(buttonType, "F:/bmp_bed.bin"); if (gCfgItems.multiple_language) { lv_label_set_text(labelType, preheat_menu.hotbed); @@ -256,8 +265,10 @@ void disp_desire_temp() { public_buf_l[0] = '\0'; if (uiCfg.curTempType == 0) { - strcat(public_buf_l, uiCfg.extruderIndex < 1 ? preheat_menu.ext1 : preheat_menu.ext2); - sprintf(buf, preheat_menu.value_state, thermalManager.wholeDegHotend(uiCfg.extruderIndex), thermalManager.degTargetHotend(uiCfg.extruderIndex)); + #if HAS_HOTEND + strcat(public_buf_l, uiCfg.extruderIndex < 1 ? preheat_menu.ext1 : preheat_menu.ext2); + sprintf(buf, preheat_menu.value_state, thermalManager.wholeDegHotend(uiCfg.extruderIndex), thermalManager.degTargetHotend(uiCfg.extruderIndex)); + #endif } else { #if HAS_HEATED_BED