From f96a4a53efc71698d3f5251f647546650744158b Mon Sep 17 00:00:00 2001 From: InsanityAutomation Date: Sun, 17 Jul 2022 20:43:12 -0400 Subject: [PATCH] IDEX Support initial commit --- .../src/lcd/extui/Creality/Creality_DWIN.cpp | 244 ++++++++++-------- Marlin/src/lcd/extui/Creality/Creality_DWIN.h | 20 +- 2 files changed, 150 insertions(+), 114 deletions(-) diff --git a/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp b/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp index 15f89e8ad9..ad62557c37 100644 --- a/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp +++ b/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp @@ -54,15 +54,12 @@ namespace ExtUI char NozzleTempStatus[3] = {0}; - bool PrintMode = false; //Eco Mode default off - char PrinterStatusKey[2] = {0}; // PrinterStatusKey[1] value: 0 represents to keep temperature, 1 represents to heating , 2 stands for cooling , 3 stands for printing // PrinterStatusKey[0] value: 0 reprensents 3D printer ready unsigned char AxisPagenum = 0; //0 for 10mm, 1 for 1mm, 2 for 0.1mm bool InforShowStatus = true; bool TPShowStatus = false; // true for only opening time and percentage, false for closing time and percentage. - bool FanStatus = true; bool AutohomeKey = false; unsigned char AutoHomeIconNum; int16_t userConfValidation = 0; @@ -100,11 +97,6 @@ void onStartup() rtscheck.RTS_SndData(StartSoundSet, SoundAddr); delay_ms(400); // Delay to allow screen to configure onStatusChanged(CUSTOM_MACHINE_NAME " Ready"); - //Set Eco Mode - if (PrintMode) - rtscheck.RTS_SndData(3, FanKeyIcon + 1); // saving mode - else - rtscheck.RTS_SndData(2, FanKeyIcon + 1); // normal rtscheck.RTS_SndData(100, FeedrateDisplay); @@ -115,10 +107,13 @@ void onStartup() rtscheck.RTS_SndData(0, NozzlePreheat); rtscheck.RTS_SndData(0, BedPreheat); rtscheck.RTS_SndData(getActualTemp_celsius(H0), NozzleTemp); + #if HAS_MULTI_HOTEND + rtscheck.RTS_SndData(getActualTemp_celsius(H1), e2Temp); + #endif rtscheck.RTS_SndData(getActualTemp_celsius(BED), Bedtemp); /***************transmit Fan speed to screen*****************/ - rtscheck.RTS_SndData(2, FanKeyIcon); //turn 0ff fan icon - FanStatus = true; + rtscheck.RTS_SndData(getActualFan_percent(), FanKeyIcon); + /***************transmit Printer information to screen*****************/ for (int j = 0; j < 20; j++) //clean filename @@ -182,6 +177,12 @@ void onIdle() rtscheck.RTS_SndData(getActualTemp_celsius(BED), Bedtemp); rtscheck.RTS_SndData(getTargetTemp_celsius(H0), NozzlePreheat); rtscheck.RTS_SndData(getTargetTemp_celsius(BED), BedPreheat); + #if HAS_MULTI_HOTEND + rtscheck.RTS_SndData(getActualTemp_celsius(H1), e2Temp); + rtscheck.RTS_SndData(getTargetTemp_celsius(H1), e2Preheat); + + rtscheck.RTS_SndData(((uint8_t)getActiveTool() + 1), ActiveToolVP); + #endif if(awaitingUserConfirm() && (lastPauseMsgState!=ExtUI::pauseModeStatus || userConfValidation > 99)) { @@ -242,7 +243,6 @@ void onIdle() if(isPositionKnown()) { InforShowStatus = true; SERIAL_ECHOLNPGM_P(PSTR("==waitway 1==")); - rtscheck.RTS_SndData(4 + CEIconGrap, IconPrintstatus); // 4 for Pause rtscheck.RTS_SndData(ExchangePageBase + 54, ExchangepageAddr); waitway = 0; } @@ -350,7 +350,7 @@ void onIdle() if (isPrinting()) { - rtscheck.RTS_SndData(0 + CEIconGrap, IconPrintstatus); + rtscheck.RTS_SndData(getActualFan_percent(), FanKeyIcon); rtscheck.RTS_SndData(getProgress_seconds_elapsed() / 3600, Timehour); rtscheck.RTS_SndData((getProgress_seconds_elapsed() % 3600) / 60, Timemin); if (getProgress_percent() > 0) @@ -374,73 +374,60 @@ void onIdle() } rtscheck.RTS_SndData((unsigned int)getProgress_percent(), Percentage); } + else { // Not printing settings + rtscheck.RTS_SndData(map(constrain(Settings.display_volume, 0, 255), 0, 255, 0, 100), VolumeDisplay); + rtscheck.RTS_SndData(Settings.screen_brightness, DisplayBrightness); + rtscheck.RTS_SndData(Settings.standby_screen_brightness, DisplayStandbyBrightness); + rtscheck.RTS_SndData(Settings.standby_time_seconds, DisplayStandbySeconds); + if(Settings.display_standby) + rtscheck.RTS_SndData(3, DisplayStandbyEnableIndicator); + else + rtscheck.RTS_SndData(2, DisplayStandbyEnableIndicator); - rtscheck.RTS_SndData(map(constrain(Settings.display_volume, 0, 255), 0, 255, 0, 100), VolumeDisplay); - rtscheck.RTS_SndData(Settings.screen_brightness, DisplayBrightness); - rtscheck.RTS_SndData(Settings.standby_screen_brightness, DisplayStandbyBrightness); - rtscheck.RTS_SndData(Settings.standby_time_seconds, DisplayStandbySeconds); - if(Settings.display_standby) - rtscheck.RTS_SndData(3, DisplayStandbyEnableIndicator); - else - rtscheck.RTS_SndData(2, DisplayStandbyEnableIndicator); + rtscheck.RTS_SndData((unsigned int)(getAxisSteps_per_mm(X) * 10), StepMM_X); + rtscheck.RTS_SndData((unsigned int)(getAxisSteps_per_mm(Y) * 10), StepMM_Y); + rtscheck.RTS_SndData((unsigned int)(getAxisSteps_per_mm(Z) * 10), StepMM_Z); + rtscheck.RTS_SndData((unsigned int)(getAxisSteps_per_mm(E0) * 10), StepMM_E); - if(getTargetTemp_celsius(BED)==0 && getTargetTemp_celsius(H0)==0) - { - rtscheck.RTS_SndData(0 + CEIconGrap, IconPrintstatus); + rtscheck.RTS_SndData(((unsigned int)getAxisMaxAcceleration_mm_s2(X)/100), Accel_X); + rtscheck.RTS_SndData(((unsigned int)getAxisMaxAcceleration_mm_s2(Y)/100), Accel_Y); + rtscheck.RTS_SndData(((unsigned int)getAxisMaxAcceleration_mm_s2(Z)/10), Accel_Z); + rtscheck.RTS_SndData(((unsigned int)getAxisMaxAcceleration_mm_s2(E0)), Accel_E); + + rtscheck.RTS_SndData(((unsigned int)getAxisMaxFeedrate_mm_s(X)), Feed_X); + rtscheck.RTS_SndData(((unsigned int)getAxisMaxFeedrate_mm_s(Y)), Feed_Y); + rtscheck.RTS_SndData(((unsigned int)getAxisMaxFeedrate_mm_s(Z)), Feed_Z); + rtscheck.RTS_SndData(((unsigned int)getAxisMaxFeedrate_mm_s(E0)), Feed_E); + + rtscheck.RTS_SndData(((unsigned int)getAxisMaxJerk_mm_s(X)*100), Jerk_X); + rtscheck.RTS_SndData(((unsigned int)getAxisMaxJerk_mm_s(Y)*100), Jerk_Y); + rtscheck.RTS_SndData(((unsigned int)getAxisMaxJerk_mm_s(Z)*100), Jerk_Z); + rtscheck.RTS_SndData(((unsigned int)getAxisMaxJerk_mm_s(E0)*100), Jerk_E); + + + #if HAS_BED_PROBE + rtscheck.RTS_SndData(getProbeOffset_mm(X) * 100, ProbeOffset_X); + rtscheck.RTS_SndData(getProbeOffset_mm(Y) * 100, ProbeOffset_Y); + #endif + + #if HAS_PID_HEATING + rtscheck.RTS_SndData(pid_hotendAutoTemp, HotendPID_AutoTmp); + rtscheck.RTS_SndData(pid_bedAutoTemp, BedPID_AutoTmp); + rtscheck.RTS_SndData((unsigned int)(getPIDValues_Kp(E0) * 10), HotendPID_P); + rtscheck.RTS_SndData((unsigned int)(getPIDValues_Ki(E0) * 10), HotendPID_I); + rtscheck.RTS_SndData((unsigned int)(getPIDValues_Kd(E0) * 10), HotendPID_D); + #if ENABLED(PIDTEMPBED) + rtscheck.RTS_SndData((unsigned int)(getBedPIDValues_Kp() * 10), BedPID_P); + rtscheck.RTS_SndData((unsigned int)(getBedPIDValues_Ki() * 10), BedPID_I); + rtscheck.RTS_SndData((unsigned int)(getBedPIDValues_Kd() * 10), BedPID_D); + #endif + #endif } - else if (getActualTemp_celsius(BED) < (getTargetTemp_celsius(BED) - THERMAL_PROTECTION_BED_HYSTERESIS ) || (getActualTemp_celsius(H0) < (getTargetTemp_celsius(H0) - THERMAL_PROTECTION_HYSTERESIS))) - { - rtscheck.RTS_SndData(1 + CEIconGrap, IconPrintstatus); // Heating Status - PrinterStatusKey[1] = (PrinterStatusKey[1] == 0 ? 1 : PrinterStatusKey[1]); - } - else if (getActualTemp_celsius(BED) > (getTargetTemp_celsius(BED) + THERMAL_PROTECTION_BED_HYSTERESIS) || (getActualTemp_celsius(H0) > (getTargetTemp_celsius(H0) + THERMAL_PROTECTION_HYSTERESIS))) - { - rtscheck.RTS_SndData(8 + CEIconGrap, IconPrintstatus); // Cooling Status - PrinterStatusKey[1] = (PrinterStatusKey[1] == 0 ? 2 : PrinterStatusKey[1]); - } - else - rtscheck.RTS_SndData(0 + CEIconGrap, IconPrintstatus); + rtscheck.RTS_SndData(getZOffset_mm() * 100, ProbeOffset_Z); rtscheck.RTS_SndData((unsigned int)(getFlow_percent(E0)), Flowrate); - rtscheck.RTS_SndData((unsigned int)(getAxisSteps_per_mm(X) * 10), StepMM_X); - rtscheck.RTS_SndData((unsigned int)(getAxisSteps_per_mm(Y) * 10), StepMM_Y); - rtscheck.RTS_SndData((unsigned int)(getAxisSteps_per_mm(Z) * 10), StepMM_Z); - rtscheck.RTS_SndData((unsigned int)(getAxisSteps_per_mm(E0) * 10), StepMM_E); - rtscheck.RTS_SndData(((unsigned int)getAxisMaxAcceleration_mm_s2(X)/100), Accel_X); - rtscheck.RTS_SndData(((unsigned int)getAxisMaxAcceleration_mm_s2(Y)/100), Accel_Y); - rtscheck.RTS_SndData(((unsigned int)getAxisMaxAcceleration_mm_s2(Z)/10), Accel_Z); - rtscheck.RTS_SndData(((unsigned int)getAxisMaxAcceleration_mm_s2(E0)), Accel_E); - - rtscheck.RTS_SndData(((unsigned int)getAxisMaxFeedrate_mm_s(X)), Feed_X); - rtscheck.RTS_SndData(((unsigned int)getAxisMaxFeedrate_mm_s(Y)), Feed_Y); - rtscheck.RTS_SndData(((unsigned int)getAxisMaxFeedrate_mm_s(Z)), Feed_Z); - rtscheck.RTS_SndData(((unsigned int)getAxisMaxFeedrate_mm_s(E0)), Feed_E); - - rtscheck.RTS_SndData(((unsigned int)getAxisMaxJerk_mm_s(X)*100), Jerk_X); - rtscheck.RTS_SndData(((unsigned int)getAxisMaxJerk_mm_s(Y)*100), Jerk_Y); - rtscheck.RTS_SndData(((unsigned int)getAxisMaxJerk_mm_s(Z)*100), Jerk_Z); - rtscheck.RTS_SndData(((unsigned int)getAxisMaxJerk_mm_s(E0)*100), Jerk_E); - - - #if HAS_BED_PROBE - rtscheck.RTS_SndData(getProbeOffset_mm(X) * 100, ProbeOffset_X); - rtscheck.RTS_SndData(getProbeOffset_mm(Y) * 100, ProbeOffset_Y); - #endif - - #if HAS_PID_HEATING - rtscheck.RTS_SndData(pid_hotendAutoTemp, HotendPID_AutoTmp); - rtscheck.RTS_SndData(pid_bedAutoTemp, BedPID_AutoTmp); - rtscheck.RTS_SndData((unsigned int)(getPIDValues_Kp(E0) * 10), HotendPID_P); - rtscheck.RTS_SndData((unsigned int)(getPIDValues_Ki(E0) * 10), HotendPID_I); - rtscheck.RTS_SndData((unsigned int)(getPIDValues_Kd(E0) * 10), HotendPID_D); - #if ENABLED(PIDTEMPBED) - rtscheck.RTS_SndData((unsigned int)(getBedPIDValues_Kp() * 10), BedPID_P); - rtscheck.RTS_SndData((unsigned int)(getBedPIDValues_Ki() * 10), BedPID_I); - rtscheck.RTS_SndData((unsigned int)(getBedPIDValues_Kd() * 10), BedPID_D); - #endif - #endif if (NozzleTempStatus[0] || NozzleTempStatus[2]) //statuse of loadfilement and unloadfinement when temperature is less than { @@ -824,6 +811,13 @@ void RTSSHOW::RTS_HandleData() case BedPID_P : case BedPID_I : case BedPID_D : + case T2Offset_X: + case T2Offset_Y: + case T2Offset_Z: + case T2StepMM_E: + case T2PID_P: + case T2PID_I: + case T2PID_D: case Accel_X: case Accel_Y: case Accel_Z: @@ -908,7 +902,7 @@ void RTSSHOW::RTS_HandleData() InforShowStatus = true; TPShowStatus = false; SERIAL_ECHOLNPGM_P(PSTR("Handle Data PrintFile 3 Setting Screen ")); - if (FanStatus) + if (getTargetFan_percent()==0) RTS_SndData(ExchangePageBase + 58, ExchangepageAddr); //exchange to 58 page, the fans off else RTS_SndData(ExchangePageBase + 57, ExchangepageAddr); //exchange to 57 page, the fans on @@ -921,7 +915,6 @@ void RTSSHOW::RTS_HandleData() if (recdat.data[0] == 1) { InforShowStatus = false; - FanStatus ? RTS_SndData(2, FanKeyIcon) : RTS_SndData(3, FanKeyIcon); } else if (recdat.data[0] == 2) { @@ -942,32 +935,16 @@ void RTSSHOW::RTS_HandleData() } else if (recdat.data[0] == 3) { - if (FanStatus) //turn on the fan + if (getTargetFan_percent()!=0) //turn on the fan { - RTS_SndData(3, FanKeyIcon); setTargetFan_percent(100, FAN0); - FanStatus = false; } else //turn off the fan { - RTS_SndData(2, FanKeyIcon); setTargetFan_percent(0, FAN0); - FanStatus = true; - } - } - else if (recdat.data[0] == 4) - { - if (PrintMode) // normal printing mode - { - RTS_SndData(2, FanKeyIcon + 1); - PrintMode = false; - } - else // power saving mode - { - RTS_SndData(3, FanKeyIcon + 1); - PrintMode = true; } } + break; case Feedrate: @@ -1007,8 +984,6 @@ void RTSSHOW::RTS_HandleData() PrinterStatusKey[1] = 0; InforShowStatus = true; - RTS_SndData(0 + CEIconGrap, IconPrintstatus); - //PrinterStatusKey[1] = 3; RTS_SndData(ExchangePageBase + 53, ExchangepageAddr); } if (recdat.addr == Resumeprint && recdat.data[0] == 2) // warming @@ -1065,7 +1040,7 @@ void RTSSHOW::RTS_HandleData() } else if (recdat.data[0] == 1) { - if(FanStatus) + if(getTargetFan_percent()==0) RTS_SndData(ExchangePageBase + 60, ExchangepageAddr); //exchange to 60 page, the fans off else RTS_SndData(ExchangePageBase + 59, ExchangepageAddr); //exchange to 59 page, the fans on @@ -1076,16 +1051,14 @@ void RTSSHOW::RTS_HandleData() } else if (recdat.data[0] == 3) { - if (FanStatus) //turn on the fan + if (getTargetFan_percent()==0) //turn on the fan { setTargetFan_percent(100, FAN0); - FanStatus = false; RTS_SndData(ExchangePageBase + 57, ExchangepageAddr); //exchange to 57 page, the fans on } else //turn off the fan { setTargetFan_percent(0, FAN0); - FanStatus = true; RTS_SndData(ExchangePageBase + 58, ExchangepageAddr); //exchange to 58 page, the fans on } } @@ -1112,7 +1085,6 @@ void RTSSHOW::RTS_HandleData() for (uint8_t i = 0; i < FAN_COUNT; i++) setTargetFan_percent(0, (fan_t)i); #endif - FanStatus = false; setTargetTemp_celsius(0.0, H0); setTargetTemp_celsius(0.0, BED); @@ -1121,7 +1093,6 @@ void RTSSHOW::RTS_HandleData() RTS_SndData(0, BedPreheat); delay_ms(1); - RTS_SndData(8 + CEIconGrap, IconPrintstatus); RTS_SndData(ExchangePageBase + 57, ExchangepageAddr); PrinterStatusKey[1] = 2; } @@ -1133,7 +1104,7 @@ void RTSSHOW::RTS_HandleData() { if (recdat.data[0] == 0) { - if (FanStatus) + if (getTargetFan_percent()==0) RTS_SndData(ExchangePageBase + 58, ExchangepageAddr); //exchange to 58 page, the fans off else RTS_SndData(ExchangePageBase + 57, ExchangepageAddr); //exchange to 57 page, the fans on @@ -1212,8 +1183,32 @@ void RTSSHOW::RTS_HandleData() } else if (recdat.addr == StepMM_E) { setAxisSteps_per_mm(tmp_float_handling*10, E0); - setAxisSteps_per_mm(tmp_float_handling*10, E1); + #if DISABLED(DUAL_X_CARRIAGE) + setAxisSteps_per_mm(tmp_float_handling*10, E1); + #endif } + #if ENABLED(DUAL_X_CARRIAGE) + else if (recdat.addr == T2StepMM_E) + { + setAxisSteps_per_mm(tmp_float_handling*10, E1); + } + else if (recdat.addr == T2Offset_X) + { + setNozzleOffset_mm(tmp_float_handling*10, X, E1); + } + else if (recdat.addr == T2Offset_Y) + { + setNozzleOffset_mm(tmp_float_handling*10, Y, E1); + } + else if (recdat.addr == T2Offset_Z) + { + setNozzleOffset_mm(tmp_float_handling*10, Z, E1); + } + else if (recdat.addr == T2PID_P) + { + setNozzleOffset_mm(tmp_float_handling*10, Z, E1); + } + #endif #if HAS_BED_PROBE else if (recdat.addr == ProbeOffset_X) { setProbeOffset_mm(tmp_float_handling, X); @@ -1347,6 +1342,10 @@ void RTSSHOW::RTS_HandleData() RTS_SndData(10 * ChangeMaterialbuf[1], FilementUnit2); RTS_SndData(getActualTemp_celsius(H0), NozzleTemp); RTS_SndData(getTargetTemp_celsius(H0), NozzlePreheat); + #if HAS_MULTI_HOTEND + rtscheck.RTS_SndData(getActualTemp_celsius(H1), e2Temp); + rtscheck.RTS_SndData(getTargetTemp_celsius(H1), e2Preheat); + #endif delay_ms(2); RTS_SndData(ExchangePageBase + 65, ExchangepageAddr); } @@ -1593,6 +1592,34 @@ void RTSSHOW::RTS_HandleData() SetTouchScreenConfiguration(); break; } + case 23: // Set IDEX Autopark + { + injectCommands_P(PSTR("M605S1\nG28X\nG1X0")); + break; + } + case 24: // Set IDEX Duplication + { + injectCommands_P(PSTR("M605S1\nT0\nG28\nM605S2\nG28X\nG1X0")); + break; + } + case 25: // Set IDEX Mirrored Duplication + { + injectCommands_P(PSTR("M605S1\nT0\nG28\nM605S2\nG28X\nG1X0\nM605S3")); + break; + } + case 26: // Set IDEX Full Control + { + injectCommands_P(PSTR("M605S0\nG28X")); + break; + } + case 27: // Change Tool + { + if(getActiveTool()==E0) + setActiveTool(E1, !isAxisPositionKnown(X)); + else + setActiveTool(E0, !isAxisPositionKnown(X)); + break; + } default: { SERIAL_ECHOLNPGM("Unsupported Option Selected", recdat.data[0]); @@ -1704,6 +1731,10 @@ void RTSSHOW::RTS_HandleData() RTS_SndData(getActualTemp_celsius(H0), NozzleTemp); RTS_SndData(getTargetTemp_celsius(H0), NozzlePreheat); + #if HAS_MULTI_HOTEND + rtscheck.RTS_SndData(getActualTemp_celsius(H1), e2Temp); + rtscheck.RTS_SndData(getTargetTemp_celsius(H1), e2Preheat); + #endif delay_ms(5); RTS_SndData(ExchangePageBase + 68, ExchangepageAddr); break; @@ -1924,7 +1955,6 @@ void RTSSHOW::RTS_HandleData() RTS_SndData(filenavigator.getIndexName(fileIndex + recordcount), Printfilename); delay_ms(2); - RTS_SndData(1 + CEIconGrap, IconPrintstatus); // 1 for Heating delay_ms(2); RTS_SndData(ExchangePageBase + 53, ExchangepageAddr); @@ -2204,7 +2234,6 @@ void onMediaError() rtscheck.RTS_SndData(10, FilenameIcon + j); rtscheck.RTS_SndData(10, FilenameIcon1 + j); } - rtscheck.RTS_SndData(18, IconPrintstatus); return; SERIAL_ECHOLNPGM_P(PSTR("***Initing card fails***")); } @@ -2230,7 +2259,6 @@ void onMediaRemoved() rtscheck.RTS_SndData(10, FilenameIcon + j); rtscheck.RTS_SndData(10, FilenameIcon1 + j); } - rtscheck.RTS_SndData(18, IconPrintstatus); return; SERIAL_ECHOLN("***Card Removed***"); } @@ -2247,7 +2275,6 @@ void onPrintTimerStarted() return; PrinterStatusKey[1] = 3; InforShowStatus = true; - rtscheck.RTS_SndData(4 + CEIconGrap, IconPrintstatus); delay_ms(1); rtscheck.RTS_SndData(ExchangePageBase + 53, ExchangepageAddr); } @@ -2268,7 +2295,6 @@ void onPrintTimerStopped() for (uint8_t i = 0; i < FAN_COUNT; i++) setTargetFan_percent(FanOff, (fan_t)i); #endif - FanStatus = true; PrinterStatusKey[0] = 0; InforShowStatus = true; @@ -2326,7 +2352,7 @@ void onUserConfirmRequired(const char *const msg) strcat(newMsg, "Continue"); else strcat(newMsg, "Disable "); - + strcat(newMsg, " No to Purge"); onStatusChanged(newMsg); break; @@ -2342,7 +2368,7 @@ void onUserConfirmRequired(const char *const msg) strcat(newMsg, "Continue"); else strcat(newMsg, "Disable "); - + strcat(newMsg, " No to Purge"); onStatusChanged(newMsg); break; diff --git a/Marlin/src/lcd/extui/Creality/Creality_DWIN.h b/Marlin/src/lcd/extui/Creality/Creality_DWIN.h index 2502d3624a..d863a089d1 100644 --- a/Marlin/src/lcd/extui/Creality/Creality_DWIN.h +++ b/Marlin/src/lcd/extui/Creality/Creality_DWIN.h @@ -92,6 +92,13 @@ namespace ExtUI { #define ProbeOffset_Y 0x123A #define ProbeOffset_Z 0x1026 +#define T2Offset_X 0x1090 +#define T2Offset_Y 0x1092 +#define T2Offset_Z 0x1094 +#define T2StepMM_E 0x1096 + +#define ActiveToolVP 0x1014 + #define HotendPID_AutoTmp 0x1252 #define BedPID_AutoTmp 0x1254 @@ -121,11 +128,14 @@ namespace ExtUI { #define HeatPercentIcon 0x1024 -#define NzBdSet 0x1032 -#define NozzlePreheat 0x1034 -#define NozzleTemp 0x1036 -#define BedPreheat 0x103A -#define Bedtemp 0x103C +#define NzBdSet 0x1032 // cooldown Hotend and Bed +#define NozzlePreheat 0x1034 // setpoint +#define NozzleTemp 0x1036 // Actual +#define BedPreheat 0x103A // Setpoint +#define Bedtemp 0x103C // Actual + +#define e2Temp 0x104E +#define e2Preheat 0x1050 #define AutoZeroIcon 0x1042 #define AutoLevelIcon 0x1045