|
@@ -1500,9 +1500,10 @@ void DWIN_LevelingDone() {
|
|
|
|
|
|
// PID process
|
|
|
|
|
|
-#if HAS_PIDPLOT
|
|
|
+#if BOTH(HAS_PIDPLOT, DWIN_PID_TUNE)
|
|
|
+
|
|
|
void DWIN_Draw_PIDPopup() {
|
|
|
- frame_rect_t gfrm = {40, 180, DWIN_WIDTH - 80, 120};
|
|
|
+ frame_rect_t gfrm = { 40, 180, DWIN_WIDTH - 80, 120 };
|
|
|
DWINUI::ClearMainArea();
|
|
|
Draw_Popup_Bkgd();
|
|
|
DWINUI::Draw_CenteredString(HMI_data.PopupTxt_Color, 100, GET_TEXT_F(MSG_PID_AUTOTUNE));
|
|
@@ -1525,9 +1526,21 @@ void DWIN_LevelingDone() {
|
|
|
default: break;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
#endif
|
|
|
|
|
|
-#if EITHER(PIDTEMP, PIDTEMPBED)
|
|
|
+#if DWIN_PID_TUNE
|
|
|
+
|
|
|
+ void DWIN_StartM303(const bool seenC, const int c, const bool seenS, const heater_id_t hid, const celsius_t temp) {
|
|
|
+ if (seenC) HMI_data.PidCycles = c;
|
|
|
+ if (seenS) {
|
|
|
+ switch (hid) {
|
|
|
+ OPTCODE(PIDTEMP, case 0 ... HOTENDS - 1: HMI_data.HotendPidT = temp; break)
|
|
|
+ OPTCODE(PIDTEMPBED, case H_BED: HMI_data.BedPidT = temp; break)
|
|
|
+ default: break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
void DWIN_PidTuning(pidresult_t result) {
|
|
|
HMI_value.pidresult = result;
|
|
@@ -1541,9 +1554,9 @@ void DWIN_LevelingDone() {
|
|
|
DWIN_Draw_Popup(ICON_TempTooHigh, GET_TEXT_F(MSG_PID_AUTOTUNE), F("for Nozzle is running."));
|
|
|
#endif
|
|
|
break;
|
|
|
- case PID_BAD_EXTRUDER_NUM:
|
|
|
+ case PID_BAD_HEATER_ID:
|
|
|
checkkey = last_checkkey;
|
|
|
- DWIN_Popup_Confirm(ICON_TempTooLow, GET_TEXT_F(MSG_PID_AUTOTUNE_FAILED), GET_TEXT_F(MSG_BAD_EXTRUDER_NUM));
|
|
|
+ DWIN_Popup_Confirm(ICON_TempTooLow, GET_TEXT_F(MSG_PID_AUTOTUNE_FAILED), GET_TEXT_F(MSG_BAD_HEATER_ID));
|
|
|
break;
|
|
|
#endif
|
|
|
#if ENABLED(PIDTEMPBED)
|
|
@@ -1568,11 +1581,13 @@ void DWIN_LevelingDone() {
|
|
|
checkkey = last_checkkey;
|
|
|
DWIN_Popup_Confirm(ICON_TempTooLow, GET_TEXT_F(MSG_PID_AUTOTUNE), GET_TEXT_F(MSG_BUTTON_DONE));
|
|
|
break;
|
|
|
- default: checkkey = last_checkkey; break;
|
|
|
+ default:
|
|
|
+ checkkey = last_checkkey;
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-#endif // PIDTEMP || PIDTEMPBED
|
|
|
+#endif // DWIN_PID_TUNE
|
|
|
|
|
|
// Started a Print Job
|
|
|
void DWIN_Print_Started() {
|
|
@@ -1667,7 +1682,7 @@ void DWIN_SetDataDefaults() {
|
|
|
DWINUI::SetColors(HMI_data.Text_Color, HMI_data.Background_Color, HMI_data.StatusBg_Color);
|
|
|
TERN_(PIDTEMP, HMI_data.HotendPidT = DEF_HOTENDPIDT);
|
|
|
TERN_(PIDTEMPBED, HMI_data.BedPidT = DEF_BEDPIDT);
|
|
|
- TERN_(HAS_PID_HEATING, HMI_data.PidCycles = DEF_PIDCYCLES);
|
|
|
+ TERN_(DWIN_PID_TUNE, HMI_data.PidCycles = DEF_PIDCYCLES);
|
|
|
#if ENABLED(PREVENT_COLD_EXTRUSION)
|
|
|
HMI_data.ExtMinT = EXTRUDE_MINTEMP;
|
|
|
ApplyExtMinT();
|
|
@@ -2057,7 +2072,7 @@ void SetMoveZ() { HMI_value.axis = Z_AXIS; SetPFloatOnClick(Z_MIN_POS, Z_MAX_POS
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
-#if EITHER(PIDTEMP, PIDTEMPBED)
|
|
|
+#if DWIN_PID_TUNE
|
|
|
void SetPID(celsius_t t, heater_id_t h) {
|
|
|
char cmd[53] = "";
|
|
|
char str_1[5] = "", str_2[5] = "";
|
|
@@ -2523,7 +2538,7 @@ void SetStepsZ() { HMI_value.axis = Z_AXIS, SetPFloatOnClick( MIN_STEP, MAX_STEP
|
|
|
void SetBedPidT() { SetPIntOnClick(MIN_BEDTEMP, MAX_BEDTEMP); }
|
|
|
#endif
|
|
|
|
|
|
-#if EITHER(PIDTEMP, PIDTEMPBED)
|
|
|
+#if DWIN_PID_TUNE
|
|
|
void SetPidCycles() { SetPIntOnClick(3, 50); }
|
|
|
void SetKp() { SetPFloatOnClick(0, 1000, 2); }
|
|
|
void ApplyPIDi() {
|
|
@@ -2694,7 +2709,7 @@ void onDrawGetColorItem(MenuItemClass* menuitem, int8_t line) {
|
|
|
DWIN_Draw_HLine(HMI_data.SplitLine_Color, 16, MYPOS(line + 1), 240);
|
|
|
}
|
|
|
|
|
|
-#if EITHER(PIDTEMP, PIDTEMPBED)
|
|
|
+#if DWIN_PID_TUNE
|
|
|
void onDrawPIDi(MenuItemClass* menuitem, int8_t line) { onDrawFloatMenu(menuitem, line, 2, unscalePID_i(*(float*)static_cast<MenuItemPtrClass*>(menuitem)->value)); }
|
|
|
void onDrawPIDd(MenuItemClass* menuitem, int8_t line) { onDrawFloatMenu(menuitem, line, 2, unscalePID_d(*(float*)static_cast<MenuItemPtrClass*>(menuitem)->value)); }
|
|
|
#endif
|