@@ -1500,9 +1500,10 @@ void DWIN_LevelingDone() {
15001500
15011501// PID process
15021502
1503- #if HAS_PIDPLOT
1503+ #if BOTH(HAS_PIDPLOT, DWIN_PID_TUNE)
1504+
15041505 void DWIN_Draw_PIDPopup () {
1505- frame_rect_t gfrm = {40 , 180 , DWIN_WIDTH - 80 , 120 };
1506+ frame_rect_t gfrm = { 40 , 180 , DWIN_WIDTH - 80 , 120 };
15061507 DWINUI::ClearMainArea ();
15071508 Draw_Popup_Bkgd ();
15081509 DWINUI::Draw_CenteredString (HMI_data.PopupTxt_Color , 100 , GET_TEXT_F (MSG_PID_AUTOTUNE));
@@ -1525,9 +1526,21 @@ void DWIN_LevelingDone() {
15251526 default : break ;
15261527 }
15271528 }
1529+
15281530#endif
15291531
1530- #if EITHER(PIDTEMP, PIDTEMPBED)
1532+ #if DWIN_PID_TUNE
1533+
1534+ void DWIN_StartM303 (const bool seenC, const int c, const bool seenS, const heater_id_t hid, const celsius_t temp) {
1535+ if (seenC) HMI_data.PidCycles = c;
1536+ if (seenS) {
1537+ switch (hid) {
1538+ OPTCODE (PIDTEMP, case 0 ... HOTENDS - 1 : HMI_data.HotendPidT = temp; break )
1539+ OPTCODE (PIDTEMPBED, case H_BED: HMI_data.BedPidT = temp; break )
1540+ default : break ;
1541+ }
1542+ }
1543+ }
15311544
15321545 void DWIN_PidTuning (pidresult_t result) {
15331546 HMI_value.pidresult = result;
@@ -1541,9 +1554,9 @@ void DWIN_LevelingDone() {
15411554 DWIN_Draw_Popup (ICON_TempTooHigh, GET_TEXT_F (MSG_PID_AUTOTUNE), F (" for Nozzle is running." ));
15421555 #endif
15431556 break ;
1544- case PID_BAD_EXTRUDER_NUM :
1557+ case PID_BAD_HEATER_ID :
15451558 checkkey = last_checkkey;
1546- DWIN_Popup_Confirm (ICON_TempTooLow, GET_TEXT_F (MSG_PID_AUTOTUNE_FAILED), GET_TEXT_F (MSG_BAD_EXTRUDER_NUM ));
1559+ DWIN_Popup_Confirm (ICON_TempTooLow, GET_TEXT_F (MSG_PID_AUTOTUNE_FAILED), GET_TEXT_F (MSG_BAD_HEATER_ID ));
15471560 break ;
15481561 #endif
15491562 #if ENABLED(PIDTEMPBED)
@@ -1568,11 +1581,13 @@ void DWIN_LevelingDone() {
15681581 checkkey = last_checkkey;
15691582 DWIN_Popup_Confirm (ICON_TempTooLow, GET_TEXT_F (MSG_PID_AUTOTUNE), GET_TEXT_F (MSG_BUTTON_DONE));
15701583 break ;
1571- default : checkkey = last_checkkey; break ;
1584+ default :
1585+ checkkey = last_checkkey;
1586+ break ;
15721587 }
15731588 }
15741589
1575- #endif // PIDTEMP || PIDTEMPBED
1590+ #endif // DWIN_PID_TUNE
15761591
15771592// Started a Print Job
15781593void DWIN_Print_Started () {
@@ -1667,7 +1682,7 @@ void DWIN_SetDataDefaults() {
16671682 DWINUI::SetColors (HMI_data.Text_Color , HMI_data.Background_Color , HMI_data.StatusBg_Color );
16681683 TERN_ (PIDTEMP, HMI_data.HotendPidT = DEF_HOTENDPIDT);
16691684 TERN_ (PIDTEMPBED, HMI_data.BedPidT = DEF_BEDPIDT);
1670- TERN_ (HAS_PID_HEATING , HMI_data.PidCycles = DEF_PIDCYCLES);
1685+ TERN_ (DWIN_PID_TUNE , HMI_data.PidCycles = DEF_PIDCYCLES);
16711686 #if ENABLED(PREVENT_COLD_EXTRUSION)
16721687 HMI_data.ExtMinT = EXTRUDE_MINTEMP;
16731688 ApplyExtMinT ();
@@ -2057,7 +2072,7 @@ void SetMoveZ() { HMI_value.axis = Z_AXIS; SetPFloatOnClick(Z_MIN_POS, Z_MAX_POS
20572072 }
20582073#endif
20592074
2060- #if EITHER(PIDTEMP, PIDTEMPBED)
2075+ #if DWIN_PID_TUNE
20612076 void SetPID (celsius_t t, heater_id_t h) {
20622077 char cmd[53 ] = " " ;
20632078 char str_1[5 ] = " " , str_2[5 ] = " " ;
@@ -2523,7 +2538,7 @@ void SetStepsZ() { HMI_value.axis = Z_AXIS, SetPFloatOnClick( MIN_STEP, MAX_STEP
25232538 void SetBedPidT () { SetPIntOnClick (MIN_BEDTEMP, MAX_BEDTEMP); }
25242539#endif
25252540
2526- #if EITHER(PIDTEMP, PIDTEMPBED)
2541+ #if DWIN_PID_TUNE
25272542 void SetPidCycles () { SetPIntOnClick (3 , 50 ); }
25282543 void SetKp () { SetPFloatOnClick (0 , 1000 , 2 ); }
25292544 void ApplyPIDi () {
@@ -2694,7 +2709,7 @@ void onDrawGetColorItem(MenuItemClass* menuitem, int8_t line) {
26942709 DWIN_Draw_HLine (HMI_data.SplitLine_Color , 16 , MYPOS (line + 1 ), 240 );
26952710}
26962711
2697- #if EITHER(PIDTEMP, PIDTEMPBED)
2712+ #if DWIN_PID_TUNE
26982713 void onDrawPIDi (MenuItemClass* menuitem, int8_t line) { onDrawFloatMenu (menuitem, line, 2 , unscalePID_i (*(float *)static_cast <MenuItemPtrClass*>(menuitem)->value )); }
26992714 void onDrawPIDd (MenuItemClass* menuitem, int8_t line) { onDrawFloatMenu (menuitem, line, 2 , unscalePID_d (*(float *)static_cast <MenuItemPtrClass*>(menuitem)->value )); }
27002715#endif
0 commit comments