|
|
|
@ -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
|
|
|
|
|