diff --git a/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp b/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp index 0373ab74a5..91e7c994dc 100644 --- a/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp +++ b/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp @@ -853,9 +853,6 @@ 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 Accel_X: case Accel_Y: @@ -880,16 +877,17 @@ void RTSSHOW::RTS_HandleData() if(recdat.addr == VolumeDisplay) Checkkey = VolumeDisplay; - if(recdat.addr == DisplayBrightness) + else if(recdat.addr == T2Offset_X || recdat.addr == T2Offset_Y || recdat.addr == T2Offset_Z) + Checkkey = IdexSettings; + else if(recdat.addr == DisplayBrightness) Checkkey = DisplayBrightness; - if(recdat.addr == DisplayStandbyBrightness) + else if(recdat.addr == DisplayStandbyBrightness) Checkkey = DisplayStandbyBrightness; - if(recdat.addr == DisplayStandbySeconds) + else if(recdat.addr == DisplayStandbySeconds) Checkkey = DisplayStandbySeconds; - if(recdat.addr >= AutolevelVal && recdat.addr <= 4400) // ((int)AutolevelVal+(GRID_MAX_POINTS_X*GRID_MAX_POINTS_Y*2)) = 4400 with 5x5 mesh + else if(recdat.addr >= AutolevelVal && recdat.addr <= 4400) // ((int)AutolevelVal+(GRID_MAX_POINTS_X*GRID_MAX_POINTS_Y*2)) = 4400 with 5x5 mesh Checkkey = AutolevelVal; - - if (recdat.addr >= SDFILE_ADDR && recdat.addr <= (SDFILE_ADDR + 10 * (FileNum + 1))) + else if (recdat.addr >= SDFILE_ADDR && recdat.addr <= (SDFILE_ADDR + 10 * (FileNum + 1))) Checkkey = Filename; SERIAL_ECHOLNPGM_P(PSTR("== Checkkey==")); @@ -903,8 +901,6 @@ void RTSSHOW::RTS_HandleData() return; } - - constexpr float lfrb[4] = BED_TRAMMING_INSET_LFRB; SERIAL_ECHOLNPGM_P(PSTR("BeginSwitch")); @@ -987,6 +983,35 @@ void RTSSHOW::RTS_HandleData() } break; + #if ENABLED(DUAL_X_CARRIAGE) + case IdexSettings: + if (recdat.addr == T2Offset_X) + { + SERIAL_ECHOLNPGM("T2Offset_X Set 0 : ", recdat.data[0]); + SERIAL_ECHOLNPGM("T2Offset_X Set 1 : ", recdat.data[1]); + + union { long l; short lb[2]; } tmpLongBuff; + tmpLongBuff.lb[0] = recdat.data[1]; + tmpLongBuff.lb[1] = recdat.data[0]; + SERIAL_ECHOLNPGM("T2Offset_X L : ", tmpLongBuff.l); + setNozzleOffset_mm(tmpLongBuff.l/1000, X, E1); + } + else if (recdat.addr == T2Offset_Y) + { + union { long l; short lb[2]; } tmpLongBuff; + tmpLongBuff.lb[0] = recdat.data[1]; + tmpLongBuff.lb[1] = recdat.data[0]; + setNozzleOffset_mm(tmpLongBuff.l/1000, Y, E1); + } + else if (recdat.addr == T2Offset_Z) + { + union { long l; short lb[2]; } tmpLongBuff; + tmpLongBuff.lb[0] = recdat.data[1]; + tmpLongBuff.lb[1] = recdat.data[0]; + setNozzleOffset_mm(tmpLongBuff.l/1000, Z, E1); + } + break; + #endif case Feedrate: setFeedrate_percent(recdat.data[0]); @@ -1211,9 +1236,6 @@ void RTSSHOW::RTS_HandleData() else if (recdat.addr == FanKeyIcon) { setTargetFan_percent((uint16_t)recdat.data[0], (fan_t)getActiveTool()); } - - - else { float tmp_float_handling; if (recdat.data[0] >= 32768) @@ -1244,18 +1266,6 @@ void RTSSHOW::RTS_HandleData() { setAxisSteps_per_mm(tmp_float_handling*10, E1); } - else if (recdat.addr == T2Offset_X) - { - setNozzleOffset_mm(tmp_float_handling*1000, X, E1); - } - else if (recdat.addr == T2Offset_Y) - { - setNozzleOffset_mm(tmp_float_handling*1000, Y, E1); - } - else if (recdat.addr == T2Offset_Z) - { - setNozzleOffset_mm(tmp_float_handling*1000, Z, E1); - } #endif #if HAS_BED_PROBE else if (recdat.addr == ProbeOffset_X) { @@ -2160,7 +2170,7 @@ void SetTouchScreenConfiguration() { LIMIT(Settings.screen_brightness, 10, 100); // Prevent a possible all-dark screen LIMIT(Settings.standby_time_seconds, 10, 655); // Prevent a possible all-dark screen for standby, yet also don't go higher than the DWIN limitation - +#define LOWRES_DWIN unsigned char cfg_bits = 0x0; //#if ENABLED(DWINOS_4) cfg_bits |= 1UL << 7; // 7: Enable Control diff --git a/Marlin/src/lcd/extui/Creality/Creality_DWIN.h b/Marlin/src/lcd/extui/Creality/Creality_DWIN.h index ac7ccb92be..8aa91fbf88 100644 --- a/Marlin/src/lcd/extui/Creality/Creality_DWIN.h +++ b/Marlin/src/lcd/extui/Creality/Creality_DWIN.h @@ -96,6 +96,7 @@ namespace ExtUI { #define T2Offset_Y 0x1094 #define T2Offset_Z 0x1098 #define T2StepMM_E 0x109C +#define IdexSettings 0x9999 #define ActiveToolVP 0x1014