diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 210a3caf2b..d4422b4f0e 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -33,6 +33,9 @@ //#define MachineS5 //#define MachineCR2020 // Industrial Series 2020 +// Belt Printer +//#define MachineCR30 + // Atmega1284P machines Needs a bootloader flashed before installation // See video here : https://www.youtube.com/watch?v=fIl5X2ffdyo @@ -495,6 +498,11 @@ #endif #endif +#if ENABLED(MachineCR30) + #define OrigLCD + #define RET6_12864_LCD +#endif + #if ENABLED(MachineCRX) #define MachineCR10Std #define Dual_BowdenSplitterY @@ -619,7 +627,7 @@ */ #if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, SKRMiniE3V2, SKRE3Turbo, SKR_CR6) #define SERIAL_PORT -1 - #elif ANY(MachineEnder3V2, MachineEnder3Max, MachineEnder3Pro422, MachineEnder3Pro427, Creality422, Creality427, MachineEnder6, MachineCR6, MachineCR6Max, MachineSermoonD1) + #elif ANY(MachineEnder3V2, MachineEnder3Max, MachineEnder3Pro422, MachineEnder3Pro427, Creality422, Creality427, MachineEnder6, MachineCR6, MachineCR6Max, MachineSermoonD1, MachineCR30) #define SERIAL_PORT 1 #else #define SERIAL_PORT 0 @@ -718,6 +726,8 @@ #define MOTHERBOARD BOARD_BTT_SKR_CR6 #elif ENABLED(CR6_452) #define MOTHERBOARD BOARD_CREALITY_V452 + #elif ENABLED(MachineCR30) + #define MOTHERBOARD BOARD_CREALITY_V4210 #elif ANY(MachineCR6, MachineCR6Max) #define MOTHERBOARD BOARD_CREALITY_V453 #else @@ -1460,7 +1470,7 @@ // Enable one of the options below for CoreXY, CoreXZ, or CoreYZ kinematics, // either in the usual order or reversed -#if ANY(MachineEnder4, MachineEnder6) +#if ANY(MachineEnder4, MachineEnder6, MachineCR30) #define COREXY #endif //#define COREXZ @@ -1471,7 +1481,9 @@ //#define MARKFORGED_XY // MarkForged. See https://reprap.org/forum/read.php?152,504042 // Enable for a belt style printer with endless "Z" motion -//#define BELTPRINTER +#if ENABLED(MachineCR30) + #define BELTPRINTER +#endif // Enable for Polargraph Kinematics //#define POLARGRAPH @@ -1547,12 +1559,12 @@ #endif // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). -#if ANY(MachineEnder4, MachineCR2020) +#if ANY(MachineEnder4, MachineCR2020, MachineCR30) #define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #else #define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #endif -#if ENABLED(MachineCR2020) +#if ENABLED(MachineCR2020, MachineCR30) #define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #else #define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. @@ -1593,7 +1605,7 @@ * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'L6474', 'POWERSTEP01', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE'] */ -#if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, MachineCR10SV2, CrealitySilentBoard, MachineCR10SPro, MachineCR10SProV2, MachineCR10Max, SKRMiniE3V2, MachineCR6, MachineCR6Max) && DISABLED(SKR_UART) +#if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, MachineCR10SV2, CrealitySilentBoard, MachineCR10SPro, MachineCR10SProV2, MachineCR10Max, SKRMiniE3V2, MachineCR6, MachineCR6Max, MachineSermoonD1, MachineCR30) && DISABLED(SKR_UART) #if ENABLED(SKR_2209) #define X_DRIVER_TYPE TMC2209_STANDALONE #define Y_DRIVER_TYPE TMC2209_STANDALONE @@ -1747,7 +1759,7 @@ #define EStepsmm 409 #elif ANY(EZRstruder, MachineCR10SV2) #define EStepsmm 93 -#elif ANY(MachineCR10SPro, MachineCR10Max, MachineCRXPro, MachineEnder6) +#elif ANY(MachineCR10SPro, MachineCR10Max, MachineCRXPro, MachineEnder6, MachineCR30) #define EStepsmm 140 #elif ENABLED(MachineCR2020) #define EStepsmm 113 @@ -1757,6 +1769,8 @@ #if ENABLED(MachineEnder5Plus) #define ZStepsmm 800 +#elif ENABLED(MachineCR30) + #define ZStepsmm 1152.95 #else #define ZStepsmm 400 #endif @@ -1786,7 +1800,7 @@ #define DEFAULT_ACCELERATION 750 // X, Y, Z and E acceleration for printing moves #define DEFAULT_RETRACT_ACCELERATION 1000 // E acceleration for retracts #define DEFAULT_TRAVEL_ACCELERATION 300 // X, Y, Z acceleration for travel (non printing) moves -#elif (ANY(MachineCR10SPro, MachineCR6, MachineCR6Max)) +#elif (ANY(MachineCR10SPro, MachineCR6, MachineCR6Max, MachineCR30)) #define DEFAULT_MAX_FEEDRATE { 500, 500, 10, 70 } #define DEFAULT_MAX_ACCELERATION { 750, 750, 100, 60 } #define DEFAULT_ACCELERATION 750 // X, Y, Z and E acceleration for printing moves @@ -2321,7 +2335,7 @@ #define INVERT_E0_DIR false #define INVERT_E1_DIR true #endif -#elif(ANY(MachineEnder4, MachineEnder5) && NONE(Creality422, Creality427)) +#elif(ANY(MachineEnder4, MachineEnder5, MachineCR30) && NONE(Creality422, Creality427)) #define INVERT_X_DIR true #define INVERT_Y_DIR true #define INVERT_Z_DIR true @@ -2513,6 +2527,13 @@ #define X_MAX_POS 290 #define Y_MAX_POS 270 #define ClipClearance 10 + #elif ENABLED(MachineCR30) + #define X_BED_SIZE 220 + #define Y_BED_SIZE 250 + #define Z_MAX_POS 20000000 + #define X_MAX_POS X_BED_SIZE + #define Y_MAX_POS Y_BED_SIZE + #define ClipClearance 2 #elif ENABLED(MachineCR20) #define X_BED_SIZE 230 #define Y_BED_SIZE 230 @@ -2599,6 +2620,9 @@ #elif ENABLED(MachineCR6Max) #define X_MIN_POS -10 #define Y_MIN_POS -3 +#elif ENABLED(MachineCR30) + #define X_MIN_POS 0 + #define Y_MIN_POS -5 #else #define X_MIN_POS 0 #define Y_MIN_POS 0 @@ -2792,7 +2816,7 @@ #define AUTO_BED_LEVELING_UBL #elif BOTH(PROBE_MANUALLY, FORCE10SPRODISPLAY) #define MESH_BED_LEVELING - #elif !BOTH(OrigLA, MachineCR10Orig) + #elif !BOTH(OrigLA, MachineCR10Orig) && DISABLED(MachineCR30) #define AUTO_BED_LEVELING_BILINEAR #endif /** @@ -2954,7 +2978,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) && (DISABLED(MachineCRX) || ANY(GraphicLCD, OrigLCD)) +#if NONE(ABL_EZABL, ABL_NCSW, ABL_BLTOUCH, ABL_TOUCH_MI, SKRMiniE3V2, MachineEnder3V2, FORCE10SPRODISPLAY, MachineCR6, MachineCR6Max, MachineSermoonD1, MachineCR30) && (DISABLED(MachineCRX) || ANY(GraphicLCD, OrigLCD)) #define LCD_BED_LEVELING #endif diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 41d74c10ce..2388eff453 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -825,9 +825,11 @@ #define HOMING_BACKOFF_POST_MM { 8, 8, 2 } // (mm) Backoff from endstops after homing -#define QUICK_HOME // If G28 contains XY do a diagonal move first - -//#define HOME_Y_BEFORE_X // If G28 contains XY home Y before X +#if DISABLED(MachineCR30) + #define QUICK_HOME // If G28 contains XY do a diagonal move first +#else + #define HOME_Y_BEFORE_X // If G28 contains XY home Y before X +#endif //#define HOME_Z_FIRST // Home Z first. Requires a Z-MIN endstop (not a probe). //#define CODEPENDENT_XY_HOMING // If X/Y can't home without homing Y/X first @@ -1411,7 +1413,9 @@ //#define SD_IGNORE_AT_STARTUP // Don't mount the SD card when starting up //#define SDCARD_READONLY // Read-only SD card (to save over 2K of flash) - //#define GCODE_REPEAT_MARKERS // Enable G-code M808 to set repeat markers and do looping + #if ENABLED(MachineCR30) + #define GCODE_REPEAT_MARKERS // Enable G-code M808 to set repeat markers and do looping + #endif #define SD_PROCEDURE_DEPTH 1 // Increase if you need more nested M32 calls @@ -2065,7 +2069,7 @@ * Repeatedly attempt G29 leveling until it succeeds. * Stop after G29_MAX_RETRIES attempts. */ -#if ENABLED(ABL_BI) && NONE(MachineCR10Orig, LowMemoryBoard, SKRMiniE3V2) +#if ENABLED(ABL_BI) && NONE(MachineCR10Orig, LowMemoryBoard, SKRMiniE3V2, MachineCR30) #define G29_RETRY_AND_RECOVER #endif #if ENABLED(G29_RETRY_AND_RECOVER) diff --git a/Marlin/Version.h b/Marlin/Version.h index 5aeb5e4924..bfddc720aa 100644 --- a/Marlin/Version.h +++ b/Marlin/Version.h @@ -28,7 +28,7 @@ /** * Marlin release version identifier */ -#define SHORT_BUILD_VERSION "2.0.9_DW7.4.2" +#define SHORT_BUILD_VERSION "2.0.9_DW7.4.3" /** * Verbose version identifier which should contain a reference to the location @@ -73,6 +73,8 @@ #define VerChar1 "5" #elif ENABLED(MachineCR2020) #define VerChar1 "20" +#elif(ENABLED(MachineCR30)) + #define VerChar1 "CR30" #endif #if(ENABLED(HotendStock)) @@ -121,7 +123,7 @@ * here we define this default string as the date where the latest release * version was tagged. */ -#define STRING_DISTRIBUTION_DATE "2021-10-13" +#define STRING_DISTRIBUTION_DATE "2021-10-15" /** * Defines a generic printer name to be output to the LCD after booting Marlin. @@ -170,6 +172,8 @@ #define CUSTOM_MACHINE_NAME "TM3D 2020" #elif ENABLED(MachineSermoonD1) #define CUSTOM_MACHINE_NAME "SermoonD1" +#elif ENABLED(MachineCR30) + #define CUSTOM_MACHINE_NAME "CR30 Printmill" #endif /** diff --git a/buildroot/share/PlatformIO/scripts/common-cxxflags.py b/buildroot/share/PlatformIO/scripts/common-cxxflags.py index 59707ceec4..fb67cf6106 100644 --- a/buildroot/share/PlatformIO/scripts/common-cxxflags.py +++ b/buildroot/share/PlatformIO/scripts/common-cxxflags.py @@ -27,7 +27,7 @@ def add_cpu_freq(): if env.GetBuildType() == "debug" and env.get('UPLOAD_PROTOCOL') not in ['jlink', 'stlink']: env['BUILD_DIR'] = '$PROJECT_BUILD_DIR/$PIOENV/debug' env_name = str(env["PIOENV"]) -env.Replace(PROGNAME="%s_DW7.4.2" % (env_name)) +env.Replace(PROGNAME="%s_DW7.4.3" % (env_name)) print("Environment: %s" % (env_name)) # On some platform, F_CPU is a runtime variable. Since it's used to convert from ns diff --git a/buildroot/share/PlatformIO/scripts/random-bin.py b/buildroot/share/PlatformIO/scripts/random-bin.py index a01ba3c49d..a4841cb5f5 100644 --- a/buildroot/share/PlatformIO/scripts/random-bin.py +++ b/buildroot/share/PlatformIO/scripts/random-bin.py @@ -6,5 +6,5 @@ Import("env") from datetime import datetime env_name = str(env["PIOENV"]) -env['PROGNAME'] = "firmware_%s_DW7.4.2" % (env_name) +env['PROGNAME'] = "firmware_%s_DW7.4.3" % (env_name) #env['PROGNAME'] .= datetime.now().strftime("-%Y%m%d-%H%M%S") diff --git a/platformio.ini b/platformio.ini index f09c34a7f8..fe7433cd18 100644 --- a/platformio.ini +++ b/platformio.ini @@ -2801,6 +2801,11 @@ platform = ${common_stm32f1.platform} extends = env:STM32F103RET6_creality_maple build_flags = ${env:STM32F103RET6_creality_maple.build_flags} -DMachineCR6Max -DBondtechLGX +[env:CR30] +platform = ${common_stm32f1.platform} +extends = env:STM32F103RET6_creality_maple +build_flags = ${env:STM32F103RET6_creality_maple.build_flags} -DMachineCR30 + # # ATmega1280 #