From eca2080a3f3e29749750ab2ece6d6d70ea186a12 Mon Sep 17 00:00:00 2001 From: InsanityAutomation Date: Sat, 12 Jun 2021 08:21:17 -0400 Subject: [PATCH] Add manual mesh to leveling screens --- Marlin/Configuration_adv.h | 5 +- .../src/lcd/extui/Creality/Creality_DWIN.cpp | 51 +++++++++++++++---- 2 files changed, 45 insertions(+), 11 deletions(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 48d137d2ff..a0c9cbd6cd 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1021,9 +1021,10 @@ // Backlash Compensation // Adds extra movement to axes on direction-changes to account for backlash. // -#if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, Creality422, Creality427, MachineEnder6, MachineCR6, MachineCR6Max) +#if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, Creality422, Creality427, MachineCR6, MachineCR6Max) #define BACKLASH_COMPENSATION -#endifif ENABLED(BACKLASH_COMPENSATION) +#endif +#if ENABLED(BACKLASH_COMPENSATION) // Define values for backlash distance and correction. // If BACKLASH_GCODE is enabled these values are the defaults. #define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm) One value for each linear axis diff --git a/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp b/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp index bf281ff1c8..36c8384020 100644 --- a/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp +++ b/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp @@ -751,6 +751,11 @@ void RTSSHOW::RTS_HandleData() #endif const uint8_t validateMesh = 12; + const uint8_t manualMeshBegin = 13; + const uint8_t manualMeshNext = 14; + const uint8_t manualMeshLower = 15; + const uint8_t manualMeshRaise = 16; + constexpr float lfrb[4] = LEVEL_CORNERS_INSET_LFRB; SERIAL_ECHOLNPGM_P(PSTR("BeginSwitch")); @@ -1231,15 +1236,19 @@ SERIAL_ECHOLNPGM_P(PSTR("BeginSwitch")); } case autoMeasure: // AutoLevel "Measuring" Button { - waitway = 3; //only for prohibiting to receive massage - RTS_SndData(3, AutolevelIcon); - uint8_t abl_probe_index = 0; - while (abl_probe_index < 25) { - rtscheck.RTS_SndData(0, AutolevelVal + abl_probe_index * 2); - ++abl_probe_index; - } - RTS_SndData(ExchangePageBase + 85, ExchangepageAddr); - injectCommands_P(PSTR(MAIN_MENU_ITEM_1_GCODE)); + #if ENABLED(MESH_BED_LEVELING) + RTS_SndData(ExchangePageBase + 93, ExchangepageAddr); + #else + waitway = 3; //only for prohibiting to receive massage + RTS_SndData(3, AutolevelIcon); + uint8_t abl_probe_index = 0; + while (abl_probe_index < 25) { + rtscheck.RTS_SndData(0, AutolevelVal + abl_probe_index * 2); + ++abl_probe_index; + } + RTS_SndData(ExchangePageBase + 85, ExchangepageAddr); + injectCommands_P(PSTR(MAIN_MENU_ITEM_1_GCODE)); + #endif break; } @@ -1306,6 +1315,30 @@ SERIAL_ECHOLNPGM_P(PSTR("BeginSwitch")); onStatusChanged("Beginning G26.. Heating"); break; } + case manualMeshBegin : + { + injectCommands_P(PSTR("G29S1")); + onStatusChanged("Beginning Manual Mesh"); + break; + } + case manualMeshNext : + { + injectCommands_P(PSTR("G29S2")); + onStatusChanged("Moving to Next Mesh Point"); + break; + } + case manualMeshLower : + { + injectCommands_P(PSTR("G91\nG1Z-0.025\nG90")); + onStatusChanged("Moved down 0.025"); + break; + } + case manualMeshRaise : + { + injectCommands_P(PSTR("G91\nG1Z0.025\nG90")); + onStatusChanged("Moved up 0.025"); + break; + } default: { SERIAL_ECHOLNPAIR("Unsupported Option Selected", recdat.data[0]);