diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 74f59b31d6..24d36593c6 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -28,6 +28,7 @@ //#define MachineCR20Pro //#define MachineCR10S //#define MachineCR10SV2 +//#define MachineCR10SV3 //#define MachineS4 //#define MachineS5 //#define MachineCR2020 // Industrial Series 2020 @@ -126,7 +127,6 @@ //#define Big_UI // Lightweight status screen, saves CPU cycles // Touchscreen options - only 32 bit boards have the open serial ports to use with graphics displays above -//#define ForceCRXDisplay //#define FORCE10SPRODISPLAY //#define AddonFilSensor //Adds a filament runout sensor to the CR20 or Ender 4 @@ -333,6 +333,14 @@ #undef EnclosureLight #endif +#if ENABLED(MachineCR10SV3) + #define MachineCR10SV2 + #define CrealityTitan + #if NONE(ABL_NCSW, ABL_EZABL, ABL_BLTOUCH) + #define ABL_BLTOUCH + #endif +#endif + #if ENABLED(SKRMiniE3V2) #define SKR_2209 #define SKR_UART @@ -473,11 +481,7 @@ #if ANY(MachineCRXPro, MachineEnder5Plus, MachineCR10SPro, MachineCR10Max, MachineEnder6) #if NONE(GraphicLCD, OrigLCD) - #if ANY(ABL_EZABL, ABL_NCSW, ABL_BLTOUCH, ABL_TOUCH_MI) - #define FORCE10SPRODISPLAY - #else - #define ForceCRXDisplay - #endif + #define FORCE10SPRODISPLAY #endif #endif @@ -573,7 +577,7 @@ #define POWER_LOSS_RECOVERY #endif -#if NONE(MachineCR10Orig, MachineEnder4, MachineCR10SPro, MachineCRX, MachineCR10Max, MachineEnder5Plus, SKRMiniE3V2, FORCE10SPRODISPLAY, ForceCRXDisplay) || ENABLED(GraphicLCD) +#if NONE(MachineCR10Orig, MachineEnder4, MachineCR10SPro, MachineCRX, MachineCR10Max, MachineEnder5Plus, SKRMiniE3V2, FORCE10SPRODISPLAY) || ENABLED(GraphicLCD) #define SHOW_BOOTSCREEN // Show the bitmap in Marlin/_Bootscreen.h on startup. @@ -606,7 +610,7 @@ * :[-2, -1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, SKRE3Turbo) && (NONE(MachineCR10SPro, MachineCRX, MachineEnder5Plus, MachineCR10Max, MachineEnder3V2) || (ENABLED(GraphicLCD) && NONE(FORCE10SPRODISPLAY, ForceCRXDisplay))) +#if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, SKRE3Turbo) && (NONE(MachineCR10SPro, MachineCRX, MachineEnder5Plus, MachineCR10Max, MachineEnder3V2) || (ENABLED(GraphicLCD) && DISABLED(FORCE10SPRODISPLAY))) #define SERIAL_PORT_2 0 #elif ENABLED(SKRMiniE3V2) #define SERIAL_PORT_2 2 @@ -2862,7 +2866,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, ForceCRXDisplay, MachineCR6, MachineCR6Max) && (DISABLED(MachineCRX) || ENABLED(GraphicLCD)) +#if NONE(ABL_EZABL, ABL_NCSW, ABL_BLTOUCH, ABL_TOUCH_MI, SKRMiniE3V2, MachineEnder3V2, FORCE10SPRODISPLAY, MachineCR6, MachineCR6Max) && (DISABLED(MachineCRX) || ENABLED(GraphicLCD)) #define LCD_BED_LEVELING #endif @@ -3533,7 +3537,7 @@ #define DWIN_CREALITY_LCD #elif ANY(OrigLCD, MachineCR10Orig, MachineEnder3Pro422, MachineEnder3Pro427, MachineEnder3Max, SKRMiniE3V2, SKRE3Turbo) && DISABLED(GraphicLCD) #define CR10_STOCKDISPLAY -#elif NONE(MachineCR10SPro, MachineCRX, MachineEnder5Plus, MachineCR10Max, OrigLCD, MachineCR10Orig, SKRMiniE3V2, FORCE10SPRODISPLAY, ForceCRXDisplay, MachineCR6, MachineCR6Max) || ENABLED(GraphicLCD) +#elif NONE(MachineCR10SPro, MachineCRX, MachineEnder5Plus, MachineCR10Max, OrigLCD, MachineCR10Orig, SKRMiniE3V2, FORCE10SPRODISPLAY, MachineCR6, MachineCR6Max) || ENABLED(GraphicLCD) #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER #endif // diff --git a/Marlin/Version.h b/Marlin/Version.h index 8556038dde..601e6e3cf0 100644 --- a/Marlin/Version.h +++ b/Marlin/Version.h @@ -154,6 +154,8 @@ #define CUSTOM_MACHINE_NAME "TM3D 10S Pro" #elif(ENABLED(MachineCR10Max)) #define CUSTOM_MACHINE_NAME "TM3D Max" +#elif(ENABLED(MachineCR10SV3)) + #define CUSTOM_MACHINE_NAME "TM3D CR10V3" #elif(ENABLED(MachineCR10SV2)) #define CUSTOM_MACHINE_NAME "TM3D CR10V2" #elif(ENABLED(MachineCR10Std)) diff --git a/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp b/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp index afcdc23ee6..c86851f772 100644 --- a/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp +++ b/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp @@ -253,7 +253,10 @@ void onIdle() delay_ms(3000); // Delay to show bootscreen - if(isMediaInserted()) onMediaInserted(); + if(isMediaInserted()) //Re init media as it happens too early on STM32 boards often + onMediaInserted(); + else + injectCommands_P(PSTR("M22\nM21")); startprogress = 254; SERIAL_ECHOLNPGM_P(PSTR(" startprogress ")); InforShowStatus = true; @@ -300,6 +303,7 @@ void onIdle() 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 @@ -719,6 +723,8 @@ void RTSSHOW::RTS_HandleData() Checkkey = DisplayBrightness; if(recdat.addr == DisplayStandbyBrightness) Checkkey = DisplayStandbyBrightness; + if(recdat.addr == DisplayStandbySeconds) + Checkkey = DisplayStandbySeconds; if (recdat.addr >= SDFILE_ADDR && recdat.addr <= (SDFILE_ADDR + 10 * (FileNum + 1))) Checkkey = Filename; @@ -1307,13 +1313,13 @@ void RTSSHOW::RTS_HandleData() } case 15: { - injectCommands_P(PSTR("M211S0\nG91\nG1Z-0.025\nG90M211S1")); + injectCommands_P(PSTR("M211S0\nG91\nG1Z-0.025\nG90\nM211S1")); onStatusChanged_P(PSTR("Moved down 0.025")); break; } case 16: { - injectCommands_P(PSTR("M211S0G91\nG1Z0.025\nG90M211S1")); + injectCommands_P(PSTR("M211S0\nG91\nG1Z0.025\nG90\nM211S1")); onStatusChanged_P(PSTR("Moved up 0.025")); break; } @@ -1773,6 +1779,20 @@ void RTSSHOW::RTS_HandleData() break; } + case DisplayStandbySeconds: + { + SERIAL_ECHOLN("DisplayStandbySeconds"); + if(recdat.data[0]<5) { + Settings.standby_time_seconds = 5; + } else if (recdat.data[0] > 100) { + Settings.standby_time_seconds = 100; + } else { + Settings.standby_time_seconds = (uint8_t)recdat.data[0]; + } + SetTouchScreenConfiguration(); + break; + } + default: SERIAL_ECHOLNPGM_P(PSTR("No Match :")); break; diff --git a/Marlin/src/lcd/extui/Creality/Creality_DWIN.h b/Marlin/src/lcd/extui/Creality/Creality_DWIN.h index 1f878ddadc..2872177ea5 100644 --- a/Marlin/src/lcd/extui/Creality/Creality_DWIN.h +++ b/Marlin/src/lcd/extui/Creality/Creality_DWIN.h @@ -142,6 +142,7 @@ namespace ExtUI { #define DisplayBrightness 0x1142 #define DisplayStandbyBrightness 0x1144 #define DisplayStandbyEnableIndicator 0x1146 +#define DisplayStandbySeconds 0x1148 //#if ANY(MachineCR10SPro, MachineEnder5Plus, MachineCR10Max) || ENABLED(FORCE10SPRODISPLAY) // #define StatusMessageString 0x3000 diff --git a/Marlin/src/lcd/extui/dgus_creality/creality_touch/MeshValidationHandler.cpp b/Marlin/src/lcd/extui/dgus_creality/creality_touch/MeshValidationHandler.cpp index 427a9c0041..c81ec1acdc 100644 --- a/Marlin/src/lcd/extui/dgus_creality/creality_touch/MeshValidationHandler.cpp +++ b/Marlin/src/lcd/extui/dgus_creality/creality_touch/MeshValidationHandler.cpp @@ -84,7 +84,7 @@ void MeshValidationHandler::Cancel() { if (is_cancelling) return; is_cancelling = true; - ExtUI::ui_setUICancelOperation(true); + ExtUI::simulateUserClick(); SetStatusMessage("Cancelling..."); } @@ -135,7 +135,7 @@ void MeshValidationHandler::OnMeshValidationFinish() { is_cancelling = false; ScreenHandler.SetSynchronousOperationFinish(); - ExtUI::ui_setUICancelOperation(false); + ExtUI::simulateUserClick(); } void MeshValidationHandler::ValidateTemperatures() { diff --git a/Marlin/src/lcd/extui/dgus_creality/creality_touch/PageHandlers.cpp b/Marlin/src/lcd/extui/dgus_creality/creality_touch/PageHandlers.cpp index 71eb710d1f..af1545d79b 100644 --- a/Marlin/src/lcd/extui/dgus_creality/creality_touch/PageHandlers.cpp +++ b/Marlin/src/lcd/extui/dgus_creality/creality_touch/PageHandlers.cpp @@ -141,7 +141,7 @@ void LevelingModeHandler(DGUS_VP_Variable &var, unsigned short buttonValue) { void LevelingHandler(DGUS_VP_Variable &var, unsigned short buttonValue) { switch (var.VP) { case VP_BUTTON_BEDLEVELKEY: - const bool busy = TERN0(HOST_KEEPALIVE_FEATURE, ((ExtUI::getMachineBusyState() == GcodeSuite::MarlinBusyState::IN_PROCESS) || (ExtUI::getMachineBusyState() == GcodeSuite::MarlinBusyState::IN_HANDLER))); + const bool busy = TERN0(HOST_KEEPALIVE_FEATURE, ((ExtUI::getHostKeepaliveState() == GcodeSuite::MarlinBusyState::IN_PROCESS) || (ExtUI::getHostKeepaliveState() == GcodeSuite::MarlinBusyState::IN_HANDLER))); if (!busy) { ScreenHandler.PopToOldScreen(); } else { diff --git a/Marlin/src/lcd/extui/ui_api.cpp b/Marlin/src/lcd/extui/ui_api.cpp index 9b0eebdd51..21289eed25 100644 --- a/Marlin/src/lcd/extui/ui_api.cpp +++ b/Marlin/src/lcd/extui/ui_api.cpp @@ -1057,7 +1057,7 @@ namespace ExtUI { return isPrinting() && (isPrintingFromMediaPaused() || print_job_timer.isPaused()); } - bool isMediaInserted() { return TERN0(SDSUPPORT, IS_SD_INSERTED() && card.isMounted()); } + bool isMediaInserted() { return TERN0(SDSUPPORT, IS_SD_INSERTED() || card.isMounted()); } void pausePrint() { ui.pause_print(); } void resumePrint() { ui.resume_print(); } diff --git a/platformio.ini b/platformio.ini index 1d4f69fdc9..0ae9e61526 100644 --- a/platformio.ini +++ b/platformio.ini @@ -56,6 +56,7 @@ default_envs = CR2020 CR10V2_BLT CR10V2 + CR10V3 CR10S_BLT CR10S CR20_Pro @@ -943,6 +944,12 @@ extends = common_avr8 board = megaatmega2560 build_flags = ${common.build_flags} -DMachineCR10SV2 -DBedDC -DABL_BLTOUCH +[env:CR10V3] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV3 -DBedDC + [env:CR10S_BLT_UBL] platform = atmelavr extends = common_avr8