From 9ebf358b8a55eaa3d874c09d5bf8934b0322438c Mon Sep 17 00:00:00 2001 From: InsanityAutomation Date: Fri, 4 Mar 2022 21:40:38 -0500 Subject: [PATCH 1/6] Default livemove to true --- Marlin/src/lcd/e3v2/jyersui/dwin.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/src/lcd/e3v2/jyersui/dwin.cpp b/Marlin/src/lcd/e3v2/jyersui/dwin.cpp index b4bb7b64a8..f94cde97a3 100644 --- a/Marlin/src/lcd/e3v2/jyersui/dwin.cpp +++ b/Marlin/src/lcd/e3v2/jyersui/dwin.cpp @@ -186,8 +186,8 @@ bool sdprint = false; int16_t pausetemp, pausebed, pausefan; -bool livemove = false; -bool liveadjust = false; +bool livemove = true; +bool liveadjust = true; uint8_t preheatmode = 0; float zoffsetvalue = 0; uint8_t gridpoint; From 991f21c74ca78e41a273076aec4e8c88f08098b1 Mon Sep 17 00:00:00 2001 From: InsanityAutomation Date: Fri, 4 Mar 2022 21:40:55 -0500 Subject: [PATCH 2/6] Faster lcd buffer processing --- Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp b/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp index bc57242815..aa8a53445b 100644 --- a/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp +++ b/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp @@ -72,6 +72,7 @@ namespace ExtUI uint8_t dwin_settings_version = 1; bool reEntryPrevent = false; + uint8_t reEntryCount = 0; uint16_t idleThrottling = 0; @@ -155,12 +156,16 @@ void onStartup() void onIdle() { - if (reEntryPrevent) - return; - if (rtscheck.RTS_RecData() > 0 && (rtscheck.recdat.data[0]!=0 || rtscheck.recdat.addr!=0)) + while (rtscheck.RTS_RecData() > 0 && (rtscheck.recdat.data[0]!=0 || rtscheck.recdat.addr!=0)) rtscheck.RTS_HandleData(); + if (reEntryPrevent && reEntryCount < 120) { + reEntryCount++; + return; + } + reEntryCount = 0; + if(idleThrottling++ < 750){ return; } From 4a0769ec1b68263b6241ecd4d4c9514d28005a69 Mon Sep 17 00:00:00 2001 From: InsanityAutomation <38436470+InsanityAutomation@users.noreply.github.com> Date: Sun, 6 Mar 2022 15:46:28 -0500 Subject: [PATCH 3/6] allows z offset to work for babystep total on machines without probe --- .../src/lcd/extui/dgus_creality/DGUSDisplay.cpp | 3 +++ .../lcd/extui/dgus_creality/DGUSScreenHandler.h | 7 +++++-- .../creality_touch/DGUSDisplayDef.cpp | 15 +++++++++++---- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/Marlin/src/lcd/extui/dgus_creality/DGUSDisplay.cpp b/Marlin/src/lcd/extui/dgus_creality/DGUSDisplay.cpp index 57a9f84a37..0ac294109d 100644 --- a/Marlin/src/lcd/extui/dgus_creality/DGUSDisplay.cpp +++ b/Marlin/src/lcd/extui/dgus_creality/DGUSDisplay.cpp @@ -294,6 +294,9 @@ void DGUSDisplay::loop() { if (!no_reentrance) { no_reentrance = true; ProcessRx(); + //Because crappy VPHELPER macros cant take calcs or functions, process updated value here. If we handle only in button handler code, we will miss changes over M290 + dgusdisplay.WriteVariable(VP_Z_OFFSET, (int16_t)(100*ExtUI::getZOffset_mm())); + no_reentrance = false; } } diff --git a/Marlin/src/lcd/extui/dgus_creality/DGUSScreenHandler.h b/Marlin/src/lcd/extui/dgus_creality/DGUSScreenHandler.h index 08c9f4fb97..2aff821b7b 100644 --- a/Marlin/src/lcd/extui/dgus_creality/DGUSScreenHandler.h +++ b/Marlin/src/lcd/extui/dgus_creality/DGUSScreenHandler.h @@ -139,9 +139,12 @@ public: // Hook for PID autotune static void HandlePIDAutotune(DGUS_VP_Variable &var, void *val_ptr); #endif - #if HAS_BED_PROBE + + + static void HandleZoffsetChange(DGUS_VP_Variable &var, void *val_ptr); + + #if HAS_MESH // Hook for "Change probe offset z" - static void HandleZoffsetChange(DGUS_VP_Variable &var, void *val_ptr); static void OnMeshLevelingStart(); diff --git a/Marlin/src/lcd/extui/dgus_creality/creality_touch/DGUSDisplayDef.cpp b/Marlin/src/lcd/extui/dgus_creality/creality_touch/DGUSDisplayDef.cpp index d92f69bcd1..c83041b927 100644 --- a/Marlin/src/lcd/extui/dgus_creality/creality_touch/DGUSDisplayDef.cpp +++ b/Marlin/src/lcd/extui/dgus_creality/creality_touch/DGUSDisplayDef.cpp @@ -40,6 +40,9 @@ #include "../../../../module/planner.h" #include "../../../../feature/caselight.h" +#if ENABLED(BABYSTEPPING) + #include "../../../../feature/babystep.h" +#endif #if ENABLED(FWRETRACT) #include "../../../../feature/fwretract.h" @@ -83,9 +86,9 @@ const char MarlinVersion[] PROGMEM = SHORT_BUILD_VERSION; #define VPList_HeatBed #endif -#define VPList_Common VP_BACK_BUTTON_STATE +#define VPList_Common VP_BACK_BUTTON_STATE, VP_Z_OFFSET #define VPList_CommonWithStatus VPList_HeatHotend VPList_HeatBed VP_Z_OFFSET, VP_Feedrate_Percentage, VP_BACK_BUTTON_STATE -#define VPList_CommonWithHeatOnly VPList_HeatHotend VPList_HeatBed VP_BACK_BUTTON_STATE +#define VPList_CommonWithHeatOnly VPList_HeatHotend VPList_HeatBed VP_BACK_BUTTON_STATE, VP_Z_OFFSET // ----- Which variables to auto-update on which screens const uint16_t VPList_None[] PROGMEM = { @@ -483,7 +486,6 @@ const struct VPMapping VPMap[] PROGMEM = { #define VPHELPER_STR(VPADR, VPADRVAR, STRLEN, RXFPTR, TXFPTR ) { .VP=VPADR, .memadr=VPADRVAR, .size=STRLEN, \ .set_by_display_handler = RXFPTR, .send_to_display_handler = TXFPTR } -float tmp_z_offset = getZOffset_mm(); const struct DGUS_VP_Variable ListOfVP[] PROGMEM = { // Back button state @@ -621,7 +623,12 @@ const struct DGUS_VP_Variable ListOfVP[] PROGMEM = { VPHELPER(SP_Y_POSITION, nullptr, nullptr, ScreenHandler.SendAxisTrustValue), VPHELPER(SP_Z_POSITION, nullptr, nullptr, ScreenHandler.SendAxisTrustValue), - VPHELPER(VP_Z_OFFSET, &tmp_z_offset, ScreenHandler.HandleZoffsetChange, ScreenHandler.DGUSLCD_SendFloatAsIntValueToDisplay<2>), + #if HAS_BED_PROBE + VPHELPER(VP_Z_OFFSET, &probe.offset.z, ScreenHandler.HandleZoffsetChange, ScreenHandler.DGUSLCD_SendFloatAsIntValueToDisplay<2>), + #elif ENABLED(BABYSTEP_DISPLAY_TOTAL) + VPHELPER(VP_Z_OFFSET, nullptr, ScreenHandler.HandleZoffsetChange, nullptr), + #endif + VPHELPER(VP_FAN_TOGGLE, &thermalManager.fan_speed[0], nullptr, ScreenHandler.DGUSLCD_SendFanStatusToDisplay), VPHELPER(VP_Fan0_Percentage, &thermalManager.fan_speed[0], ScreenHandler.HandleFanSpeedChanged, ScreenHandler.DGUSLCD_SendFanSpeedToDisplay), From e1c5f8418dee13dadad935b6752d7d4c9d8079c1 Mon Sep 17 00:00:00 2001 From: InsanityAutomation <38436470+InsanityAutomation@users.noreply.github.com> Date: Sun, 6 Mar 2022 15:55:55 -0500 Subject: [PATCH 4/6] Update Configuration.h --- Marlin/Configuration.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 3fafde988d..b280635d50 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -3106,7 +3106,7 @@ * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. */ -#if NONE(ABL_EZABL, ABL_NCSW, ABL_BLTOUCH, ABL_TOUCH_MI, SKRMiniE3V2, MachineEnder3V2, FORCE10SPRODISPLAY, MachineCR6, MachineCR6Max, MachineSermoonD1, MachineEnder7, MachineCR30, MachineCR10Smart, FORCEV2DISPLAY) && (DISABLED(MachineCRX) || ANY(GraphicLCD, OrigLCD)) +#if NONE(ABL_EZABL, ABL_NCSW, ABL_BLTOUCH, ABL_TOUCH_MI, SKRMiniE3V2, MachineEnder3V2, FORCE10SPRODISPLAY, MachineCR6, MachineCR6Max, MachineSermoonD1, MachineEnder7, MachineCR30, MachineCR10Smart, FORCEV2DISPLAY) && (NONE(MachineCRX, MachineEnder3Touchscreen) || ANY(GraphicLCD, OrigLCD)) #define LCD_BED_LEVELING #endif @@ -3673,7 +3673,7 @@ // If you have a speaker that can produce tones, enable it here. // By default Marlin assumes you have a buzzer with a fixed frequency. // -#if ANY(MachineCR6, MachineCR6Max) +#if ANY(MachineCR6, MachineCR6Max, MachineEnder3Touchscreen) #define SPEAKER #endif From d40750cde8b80bef288c5d93c183353c31440e0c Mon Sep 17 00:00:00 2001 From: InsanityAutomation Date: Sat, 19 Mar 2022 11:49:40 -0400 Subject: [PATCH 5/6] Non-BLT CR5 --- Marlin/Configuration.h | 2 +- platformio.ini | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index b280635d50..ed238de601 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -439,7 +439,7 @@ #endif #endif -#if ANY(MachineCR5, MachineEnder3S1) +#if ENABLED(MachineEnder3S1) #if NONE(ABL_NCSW, ABL_EZABL, ABL_BLTOUCH) #define ABL_BLTOUCH #endif diff --git a/platformio.ini b/platformio.ini index 9cea95e8c4..a4767b47f0 100644 --- a/platformio.ini +++ b/platformio.ini @@ -3923,6 +3923,12 @@ extends = common_avr8 board = megaatmega2560 build_flags = ${common.build_flags} -DMachineCR5 -DHotendAllMetal +[env:CR5Pro_BLT] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR5 -DHotendAllMetal -DABL_BLTOUCH + # [env:include_tree] platform = atmelavr From 10fd6df83d67a818141816501e47b8665fa91ef2 Mon Sep 17 00:00:00 2001 From: InsanityAutomation Date: Wed, 23 Mar 2022 09:48:01 -0400 Subject: [PATCH 6/6] Update Configuration.h --- Marlin/Configuration.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index ed238de601..9910e9758f 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -1635,7 +1635,7 @@ #define J_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. #define K_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. -#if NONE(ABL_EZABL, MachineCR2020) +#if NONE(ABL_EZABL, MachineCR2020, MachineCR5) #define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #else