From 5105557ed49cb72c769812ab051795c4ed9eb887 Mon Sep 17 00:00:00 2001 From: Danny Burnett Date: Tue, 12 Mar 2024 19:34:15 +0100 Subject: [PATCH 01/15] Updates --- Marlin/Configuration.h | 131 ++++++++++++++++++++++++------------- Marlin/Configuration_adv.h | 75 ++++++++++++++------- 2 files changed, 136 insertions(+), 70 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index f639b68787a8..3ed92ed3f37c 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -21,6 +21,8 @@ */ #pragma once +#define CONFIG_EXAMPLES_DIR "Creality/Ender-3 Pro/CrealityV427" + /** * Configuration.h * @@ -60,7 +62,7 @@ // @section info // Author info of this build printed to the host during boot and M115 -#define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. +#define STRING_CONFIG_H_AUTHOR "(Dust, Ender-3 Pro)" // Who made the changes. //#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes) /** @@ -78,16 +80,16 @@ #define SHOW_BOOTSCREEN // Show the bitmap in Marlin/_Bootscreen.h on startup. -//#define SHOW_CUSTOM_BOOTSCREEN +#define SHOW_CUSTOM_BOOTSCREEN // Show the bitmap in Marlin/_Statusscreen.h on the status screen. -//#define CUSTOM_STATUS_SCREEN_IMAGE +#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine // Choose the name from boards.h that matches your setup #ifndef MOTHERBOARD - #define MOTHERBOARD BOARD_RAMPS_14_EFB + #define MOTHERBOARD BOARD_CREALITY_V427 #endif /** @@ -98,7 +100,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT 0 +#define SERIAL_PORT 1 /** * Serial Port Baud Rate @@ -111,7 +113,7 @@ * * :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] */ -#define BAUDRATE 250000 +#define BAUDRATE 115200 //#define BAUD_RATE_GCODE // Enable G-code M575 to set the baud rate @@ -135,7 +137,7 @@ //#define BLUETOOTH // Name displayed in the LCD "Ready" message and Info menu -//#define CUSTOM_MACHINE_NAME "3D Printer" +#define CUSTOM_MACHINE_NAME "Danny's Ender 3 Pro 4.2.7" // Printer's unique ID, used by some programs to differentiate between machines. // Choose your own or use a service like https://www.uuidgenerator.net/version4 @@ -158,9 +160,9 @@ * TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', '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'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 +#define X_DRIVER_TYPE TMC2208_STANDALONE +#define Y_DRIVER_TYPE TMC2208_STANDALONE +#define Z_DRIVER_TYPE TMC2208_STANDALONE //#define X2_DRIVER_TYPE A4988 //#define Y2_DRIVER_TYPE A4988 //#define Z2_DRIVER_TYPE A4988 @@ -172,7 +174,7 @@ //#define U_DRIVER_TYPE A4988 //#define V_DRIVER_TYPE A4988 //#define W_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE TMC2208_STANDALONE //#define E1_DRIVER_TYPE A4988 //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 @@ -544,7 +546,7 @@ #define TEMP_SENSOR_5 0 #define TEMP_SENSOR_6 0 #define TEMP_SENSOR_7 0 -#define TEMP_SENSOR_BED 0 +#define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_PROBE 0 #define TEMP_SENSOR_CHAMBER 0 #define TEMP_SENSOR_COOLER 0 @@ -627,7 +629,7 @@ #define HEATER_5_MAXTEMP 275 #define HEATER_6_MAXTEMP 275 #define HEATER_7_MAXTEMP 275 -#define BED_MAXTEMP 150 +#define BED_MAXTEMP 125 #define CHAMBER_MAXTEMP 60 /** @@ -660,16 +662,17 @@ //#define PID_PARAMS_PER_HOTEND // Use separate PID parameters for each extruder (useful for mismatched extruders) // Set/get with G-code: M301 E[extruder number, 0-2] + // Creality Ender-3 #if ENABLED(PID_PARAMS_PER_HOTEND) // Specify up to one value per hotend here, according to your setup. // If there are fewer values, the last one applies to the remaining hotends. - #define DEFAULT_Kp_LIST { 22.20, 22.20 } - #define DEFAULT_Ki_LIST { 1.08, 1.08 } - #define DEFAULT_Kd_LIST { 114.00, 114.00 } + #define DEFAULT_Kp_LIST { 21.73, 21.73 } + #define DEFAULT_Ki_LIST { 1.54, 1.54 } + #define DEFAULT_Kd_LIST { 76.55, 76.55 } #else - #define DEFAULT_Kp 22.20 - #define DEFAULT_Ki 1.08 - #define DEFAULT_Kd 114.00 + #define DEFAULT_Kp 21.73 + #define DEFAULT_Ki 1.54 + #define DEFAULT_Kd 76.55 #endif #endif @@ -810,8 +813,8 @@ #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. - //#define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of flash) - //#define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of flash) + #define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of flash) + #define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of flash) #endif // @section safety @@ -1221,14 +1224,14 @@ * Override with M92 * X, Y, Z [, I [, J [, K...]]], E0 [, E1[, E2...]] */ -#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 500 } +#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 93 } /** * Default Max Feed Rate (linear=mm/s, rotational=°/s) * Override with M203 * X, Y, Z [, I [, J [, K...]]], E0 [, E1[, E2...]] */ -#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } +#define DEFAULT_MAX_FEEDRATE { 500, 500, 5, 25 } //#define LIMITED_MAX_FR_EDITING // Limit edit via M203 or LCD to DEFAULT_MAX_FEEDRATE * 2 #if ENABLED(LIMITED_MAX_FR_EDITING) @@ -1241,7 +1244,7 @@ * Override with M201 * X, Y, Z [, I [, J [, K...]]], E0 [, E1[, E2...]] */ -#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } +#define DEFAULT_MAX_ACCELERATION { 500, 500, 100, 5000 } //#define LIMITED_MAX_ACCEL_EDITING // Limit edit via M201 or LCD to DEFAULT_MAX_ACCELERATION * 2 #if ENABLED(LIMITED_MAX_ACCEL_EDITING) @@ -1255,10 +1258,16 @@ * M204 P Acceleration * M204 R Retract Acceleration * M204 T Travel Acceleration + * M204 I Angular Acceleration + * M204 J Angular Travel Acceleration */ -#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E acceleration for printing moves -#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts -#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves +#define DEFAULT_ACCELERATION 500 // X, Y, Z ... and E acceleration for printing moves +#define DEFAULT_RETRACT_ACCELERATION 500 // E acceleration for retracts +#define DEFAULT_TRAVEL_ACCELERATION 500 // X, Y, Z ... acceleration for travel (non printing) moves +#if ENABLED(AXIS4_ROTATES) + #define DEFAULT_ANGULAR_ACCELERATION 3000 // I, J, K acceleration for rotational-only printing moves + #define DEFAULT_ANGULAR_TRAVEL_ACCELERATION 3000 // I, J, K acceleration for rotational-only travel (non printing) moves +#endif /** * Default Jerk limits (mm/s) @@ -1298,7 +1307,7 @@ * https://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html */ #if DISABLED(CLASSIC_JERK) - #define JUNCTION_DEVIATION_MM 0.013 // (mm) Distance from real junction edge + #define JUNCTION_DEVIATION_MM 0.08 // (mm) Distance from real junction edge #define JD_HANDLE_SMALL_SEGMENTS // Use curvature estimation instead of just the junction angle // for small segments (< 1mm) with large junction angles (> 135°). #endif @@ -1536,7 +1545,7 @@ * | [-] | * O-- FRONT --+ */ -#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } +#define NOZZLE_TO_PROBE_OFFSET { -38, -4, 0 } // Most probes should stay away from the edges of the bed, but // with NOZZLE_AS_PROBE this can be negative for a wider probing area. @@ -1688,14 +1697,14 @@ // @section extruder #define DISABLE_E false // Disable the extruder when not stepping -#define DISABLE_INACTIVE_EXTRUDER // Keep only the active extruder enabled +//#define DISABLE_INACTIVE_EXTRUDER // Keep only the active extruder enabled // @section motion // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way. #define INVERT_X_DIR false -#define INVERT_Y_DIR true -#define INVERT_Z_DIR false +#define INVERT_Y_DIR false +#define INVERT_Z_DIR true //#define INVERT_I_DIR false //#define INVERT_J_DIR false //#define INVERT_K_DIR false @@ -1747,8 +1756,8 @@ // @section geometry // The size of the printable area -#define X_BED_SIZE 200 -#define Y_BED_SIZE 200 +#define X_BED_SIZE 235 +#define Y_BED_SIZE 235 // Travel limits (linear=mm, rotational=°) after homing, corresponding to endstop positions. #define X_MIN_POS 0 @@ -1756,7 +1765,7 @@ #define Z_MIN_POS 0 #define X_MAX_POS X_BED_SIZE #define Y_MAX_POS Y_BED_SIZE -#define Z_MAX_POS 200 +#define Z_MAX_POS 250 //#define I_MIN_POS 0 //#define I_MAX_POS 50 //#define J_MIN_POS 0 @@ -1926,7 +1935,7 @@ */ //#define AUTO_BED_LEVELING_3POINT //#define AUTO_BED_LEVELING_LINEAR -//#define AUTO_BED_LEVELING_BILINEAR +#define AUTO_BED_LEVELING_BILINEAR //#define AUTO_BED_LEVELING_UBL //#define MESH_BED_LEVELING @@ -1979,6 +1988,12 @@ #define DEFAULT_LEVELING_FADE_HEIGHT 10.0 // (mm) Default fade height. #endif + /** + * Add Z offset (M424 Z) that applies to all moves at the planner level. + * This Z offset will be automatically set to the middle value with G29. + */ + //#define GLOBAL_MESH_Z_OFFSET + /** * For Cartesian machines, instead of dividing moves on mesh boundaries, * split up moves into short segments like a Delta. This follows the @@ -2151,7 +2166,7 @@ #endif // Homing speeds (linear=mm/min, rotational=°/min) -#define HOMING_FEEDRATE_MM_M { (50*60), (50*60), (4*60) } +#define HOMING_FEEDRATE_MM_M { (20*60), (20*60), (4*60) } // Validate that endstops are triggered on homing moves #define VALIDATE_HOMING_ENDSTOPS @@ -2229,7 +2244,7 @@ * M501 - Read settings from EEPROM. (i.e., Throw away unsaved changes) * M502 - Revert settings to "factory" defaults. (Follow with M500 to init the EEPROM.) */ -//#define EEPROM_SETTINGS // Persistent storage with M500 and M501 +#define EEPROM_SETTINGS // Persistent storage with M500 and M501 //#define DISABLE_M503 // Saves ~2700 bytes of flash. Disable for release! #define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM. #define EEPROM_BOOT_SILENT // Keep M503 quiet and only give errors during first load @@ -2268,17 +2283,22 @@ // Preheat Constants - Up to 10 are supported without changes // #define PREHEAT_1_LABEL "PLA" -#define PREHEAT_1_TEMP_HOTEND 180 -#define PREHEAT_1_TEMP_BED 70 +#define PREHEAT_1_TEMP_HOTEND 185 +#define PREHEAT_1_TEMP_BED 45 #define PREHEAT_1_TEMP_CHAMBER 35 -#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255 +#define PREHEAT_1_FAN_SPEED 255 // Value from 0 to 255 #define PREHEAT_2_LABEL "ABS" #define PREHEAT_2_TEMP_HOTEND 240 -#define PREHEAT_2_TEMP_BED 110 +#define PREHEAT_2_TEMP_BED 70 #define PREHEAT_2_TEMP_CHAMBER 35 -#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 +#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 +#define PREHEAT_3_LABEL "PETG" +#define PREHEAT_3_TEMP_HOTEND 220 +#define PREHEAT_3_TEMP_BED 60 +#define PREHEAT_3_TEMP_CHAMBER 35 +#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255 // @section motion /** @@ -2513,7 +2533,7 @@ * SD Card support is disabled by default. If your controller has an SD slot, * you must uncomment the following option or it won't work. */ -//#define SDSUPPORT +#define SDSUPPORT /** * SD CARD: ENABLE CRC @@ -2891,7 +2911,10 @@ // This is RAMPS-compatible using a single 10-pin connector. // (For CR-10 owners who want to replace the Melzi Creality board but retain the display) // -//#define CR10_STOCKDISPLAY +#define CR10_STOCKDISPLAY +#if ENABLED(CR10_STOCKDISPLAY) + #define RET6_12864_LCD // Specific to the SoC (can either be RET / VET) +#endif // // Ender-2 OEM display, a variant of the MKS_MINI_12864 @@ -3019,6 +3042,9 @@ * - Download https://github.com/InsanityAutomation/Marlin/raw/CrealityDwin2.0_Bleeding/TM3D_Combined480272_Landscape_V7.7z * - Copy the downloaded DWIN_SET folder to the SD card. * + * CREALITY_TOUCH + * - CR-6 OEM touch screen. A DWIN display with touch. + * * Flash display with DGUS Displays for Marlin: * - Format the SD card to FAT32 with an allocation size of 4kb. * - Download files as specified for your type of display. @@ -3030,6 +3056,11 @@ #define USE_MKS_GREEN_UI #endif +// +// CR-6 OEM touch screen. A DWIN display with touch. +// +//#define DWIN_CREALITY_TOUCHLCD + // // Touch-screen LCD for Malyan M200/M300 printers // @@ -3056,6 +3087,12 @@ // //#define NEXTION_TFT +// +// PanelDue touch controller by Escher3D +// http://escher3d.com/pages/order/products/product2.php +// +//#define PANELDUE + // // Third-party or vendor-customized controller interfaces. // Sources should be installed in 'src/lcd/extui'. @@ -3277,7 +3314,7 @@ // Use software PWM to drive the fan, as for the heaters. This uses a very low frequency // which is not as annoying as with the hardware PWM. On the other hand, if this frequency // is too low, you should also increment SOFT_PWM_SCALE. -//#define FAN_SOFT_PWM +#define FAN_SOFT_PWM // Incrementing this by 1 will double the software PWM frequency, // affecting heaters, and the fan if FAN_SOFT_PWM is enabled. @@ -3423,4 +3460,4 @@ //#define EDITABLE_SERVO_ANGLES // Disable servo with M282 to reduce power consumption, noise, and heat when not in use -//#define SERVO_DETACH_GCODE +//#define SERVO_DETACH_GCODE \ No newline at end of file diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 71f46bfe8a79..f1f11fb8e005 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -375,7 +375,7 @@ #endif #if ENABLED(PIDTEMP) - // Add an additional term to the heater power, proportional to the extrusion speed. + // Add an experimental additional term to the heater power, proportional to the extrusion speed. // A well-chosen Kc value should add just enough power to melt the increased material volume. //#define PID_EXTRUSION_SCALING #if ENABLED(PID_EXTRUSION_SCALING) @@ -384,7 +384,7 @@ #endif /** - * Add an additional term to the heater power, proportional to the fan speed. + * Add an experimental additional term to the heater power, proportional to the fan speed. * A well-chosen Kf value should add just enough power to compensate for power-loss from the cooling fan. * You can either just add a constant compensation with the DEFAULT_Kf value * or follow the instruction below to get speed-dependent compensation. @@ -887,7 +887,7 @@ //#define HOMING_BACKOFF_POST_MM { 2, 2, 2 } // (linear=mm, rotational=°) Backoff from endstops after homing //#define XY_COUNTERPART_BACKOFF_MM 0 // (mm) Backoff X after homing Y, and vice-versa -//#define QUICK_HOME // If G28 contains XY do a diagonal move first +#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 //#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 @@ -938,7 +938,7 @@ * differs, a mode set eeprom write will be completed at initialization. * Use the option below to force an eeprom write to a V3.1 probe regardless. */ - //#define BLTOUCH_SET_5V_MODE + #define BLTOUCH_SET_5V_MODE /** * Safety: Activate if connecting a probe with an unknown voltage mode. @@ -1056,7 +1056,7 @@ * M4: 40 = Clockwise, 41 = Counter-Clockwise * M5: 50 = Clockwise, 51 = Counter-Clockwise */ - #define TRAMMING_SCREW_THREAD 30 + #define TRAMMING_SCREW_THREAD 40 #endif @@ -1134,8 +1134,12 @@ #define DISABLE_INACTIVE_E true // Default Minimum Feedrates for printing and travel moves -#define DEFAULT_MINIMUMFEEDRATE 0.0 // (mm/s. °/s for rotational-only moves) Minimum feedrate. Set with M205 S. -#define DEFAULT_MINTRAVELFEEDRATE 0.0 // (mm/s. °/s for rotational-only moves) Minimum travel feedrate. Set with M205 T. +#define DEFAULT_MINIMUMFEEDRATE 0.0 // (mm/s) Minimum feedrate. Set with M205 S. +#define DEFAULT_MINTRAVELFEEDRATE 0.0 // (mm/s) Minimum travel feedrate. Set with M205 T. +#if HAS_ROTATIONAL_AXES + #define DEFAULT_ANGULAR_MINIMUMFEEDRATE 0.0 // (°/s) Minimum feedrate for rotational-only moves. Set with M205 P. + #define DEFAULT_ANGULAR_MINTRAVELFEEDRATE 0.0 // (°/s) Minimum travel feedrate for rotational-only moves. Set with M205 Q. +#endif // Minimum time that a segment needs to take as the buffer gets emptied #define DEFAULT_MINSEGMENTTIME 20000 // (µs) Set with M205 B. @@ -1413,7 +1417,7 @@ #endif // Include a page of printer information in the LCD Main Menu - //#define LCD_INFO_MENU + #define LCD_INFO_MENU #if ENABLED(LCD_INFO_MENU) //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif @@ -1432,8 +1436,9 @@ #if HAS_DISPLAY //#define SOUND_MENU_ITEM // Add a mute option to the LCD menu #define SOUND_ON_DEFAULT // Buzzer/speaker default enabled state +#endif - // The timeout to return to the status screen from sub-menus +#if HAS_DISPLAY // The timeout to return to the status screen from sub-menus //#define LCD_TIMEOUT_TO_STATUS 15000 // (ms) #if ENABLED(SHOW_BOOTSCREEN) @@ -1444,7 +1449,7 @@ #endif // Scroll a longer status message into view - //#define STATUS_MESSAGE_SCROLLING + #define STATUS_MESSAGE_SCROLLING // Apply a timeout to low-priority status messages //#define STATUS_MESSAGE_TIMEOUT_SEC 30 // (seconds) @@ -1639,7 +1644,7 @@ //#define LONG_FILENAME_WRITE_SUPPORT // Create / delete files with long filenames via M28, M30, and Binary Transfer Protocol //#define M20_TIMESTAMP_SUPPORT // Include timestamps by adding the 'T' flag to M20 commands - //#define SCROLL_LONG_FILENAMES // Scroll long filenames in the SD card menu + #define SCROLL_LONG_FILENAMES // Scroll long filenames in the SD card menu //#define SD_ABORT_NO_COOLDOWN // Leave the heaters on after Stop Print (not recommended!) @@ -1765,6 +1770,15 @@ */ //#define NO_SD_HOST_DRIVE // Disable SD Card access over USB (for security). +/** + * By default the framework is responsible for the shared media I/O. + * Enable this if you need Marlin to take care of the shared media I/O. + * Useful if shared media isn't working properly on some boards. + */ +#if ENABLED(SDSUPPORT) && DISABLED(NO_SD_HOST_DRIVE) + //#define DISKIO_HOST_DRIVE +#endif + /** * Additional options for Graphical Displays * @@ -2063,7 +2077,7 @@ * * Warning: Does not respect endstops! */ -//#define BABYSTEPPING +#define BABYSTEPPING #if ENABLED(BABYSTEPPING) //#define INTEGRATED_BABYSTEPPING // EXPERIMENTAL integration of babystepping into the Stepper ISR //#define BABYSTEP_WITHOUT_HOMING @@ -2074,7 +2088,7 @@ #define BABYSTEP_MULTIPLICATOR_Z 1 // (steps or mm) Steps or millimeter distance for each Z babystep #define BABYSTEP_MULTIPLICATOR_XY 1 // (steps or mm) Steps or millimeter distance for each XY babystep - //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping. + #define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping. #if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING) #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds. // Note: Extra time may be added to mitigate controller latency. @@ -2086,10 +2100,14 @@ //#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28 - //#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping - #if ENABLED(BABYSTEP_ZPROBE_OFFSET) - //#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets - //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor + #define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping + //#define BABYSTEP_GLOBAL_Z // Combine M424 Z and Babystepping + + #if EITHER(BABYSTEP_ZPROBE_OFFSET, BABYSTEP_GLOBAL_Z) + #if ENABLED(BABYSTEP_ZPROBE_OFFSET) + //#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets + #endif + //#define BABYSTEP_GFX_OVERLAY // Enable graphical overlay on Z-offset editor #endif #endif @@ -2721,7 +2739,7 @@ #define INTERPOLATE true #if AXIS_IS_TMC_CONFIG(X) - #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. + #define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 // Multiplied x1000 for TMC26X @@ -2741,7 +2759,7 @@ #endif #if AXIS_IS_TMC_CONFIG(Y) - #define Y_CURRENT 800 + #define Y_CURRENT 580 #define Y_CURRENT_HOME Y_CURRENT #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 @@ -2761,7 +2779,7 @@ #endif #if AXIS_IS_TMC_CONFIG(Z) - #define Z_CURRENT 800 + #define Z_CURRENT 580 #define Z_CURRENT_HOME Z_CURRENT #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 @@ -2861,7 +2879,7 @@ #endif #if AXIS_IS_TMC_CONFIG(E0) - #define E0_CURRENT 800 + #define E0_CURRENT 650 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 #define E0_CHAIN_POS -1 @@ -3052,7 +3070,7 @@ * Define your own with: * { , , hysteresis_start[1..8] } */ - #define CHOPPER_TIMING CHOPPER_DEFAULT_12V // All axes (override below) + #define CHOPPER_TIMING CHOPPER_DEFAULT_24V // All axes (override below) //#define CHOPPER_TIMING_X CHOPPER_TIMING // For X Axes (override below) //#define CHOPPER_TIMING_X2 CHOPPER_TIMING_X //#define CHOPPER_TIMING_Y CHOPPER_TIMING // For Y Axes (override below) @@ -3590,6 +3608,14 @@ */ //#define CNC_COORDINATE_SYSTEMS +/** + * CNC Drilling Cycle - UNDER DEVELOPMENT + * + * Enables G81 to perform a drilling cycle. + * Currently only supports a single cycle, no G-code chaining. + */ +//#define CNC_DRILLING_CYCLE + // @section reporting /** @@ -3709,6 +3735,7 @@ #ifdef G0_FEEDRATE //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode #endif +//#define G0_ANGULAR_FEEDRATE 2700 // (°/min) // @section gcode @@ -4168,6 +4195,8 @@ #define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \ { -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE } + // Continue unloading if sensor detects filament after the initial unload move + //#define MMU_IR_UNLOAD_MOVE #else /** @@ -4252,4 +4281,4 @@ //#define SOFT_RESET_ON_KILL // Use a digital button to soft-reset the controller after KILL // Report uncleaned reset reason from register r2 instead of MCUSR. Supported by Optiboot on AVR. -//#define OPTIBOOT_RESET_REASON +//#define OPTIBOOT_RESET_REASON \ No newline at end of file From 0a672969917d9ff3af0b2c46c79ec902beabfde7 Mon Sep 17 00:00:00 2001 From: Danny Burnett Date: Wed, 22 May 2024 15:06:01 +0200 Subject: [PATCH 02/15] Update Marlin/Configuration.h --- Marlin/Configuration.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index fb3445b8e14d..535138fec3e4 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -3198,9 +3198,6 @@ * - Download https://github.com/CrealityOfficial/Ender-3S1/archive/3S1_Plus_Screen.zip * - Copy the downloaded DWIN_SET folder to the SD card. * - * CREALITY_TOUCH - * - CR-6 OEM touch screen. A DWIN display with touch. - * * Flash display with DGUS Displays for Marlin: * - Format the SD card to FAT32 with an allocation size of 4kb. * - Download files as specified for your type of display. From 7dcead5b58ace0460708ed2204fda213167d3a9d Mon Sep 17 00:00:00 2001 From: Danny Burnett Date: Wed, 22 May 2024 15:06:06 +0200 Subject: [PATCH 03/15] Update Marlin/Configuration.h --- Marlin/Configuration.h | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 535138fec3e4..9e641f121477 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -2100,12 +2100,6 @@ #define DEFAULT_LEVELING_FADE_HEIGHT 10.0 // (mm) Default fade height. #endif - /** - * Add Z offset (M424 Z) that applies to all moves at the planner level. - * This Z offset will be automatically set to the middle value with G29. - */ - //#define GLOBAL_MESH_Z_OFFSET - /** * For Cartesian machines, instead of dividing moves on mesh boundaries, * split up moves into short segments like a Delta. This follows the From 64bb296aaddb3034cc4c50efda620d9a0105bab4 Mon Sep 17 00:00:00 2001 From: Danny Burnett Date: Wed, 22 May 2024 15:06:11 +0200 Subject: [PATCH 04/15] Update Marlin/Configuration.h --- Marlin/Configuration.h | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 9e641f121477..6ad51bf61c52 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -3208,11 +3208,6 @@ //#define IA_CREALITY_BOOT_DELAY 1500 // (ms) #endif -// -// CR-6 OEM touch screen. A DWIN display with touch. -// -//#define DWIN_CREALITY_TOUCHLCD - // // Touch-screen LCD for Malyan M200/M300 printers // From 4c7cb7b48ba33b3536ca7b932c820739e6844818 Mon Sep 17 00:00:00 2001 From: Danny Burnett Date: Wed, 22 May 2024 15:06:16 +0200 Subject: [PATCH 05/15] Update Marlin/Configuration.h --- Marlin/Configuration.h | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 6ad51bf61c52..fd52f8d4615b 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -3242,12 +3242,6 @@ // //#define NEXTION_TFT -// -// PanelDue touch controller by Escher3D -// http://escher3d.com/pages/order/products/product2.php -// -//#define PANELDUE - // // Third-party or vendor-customized controller interfaces. // Sources should be installed in 'src/lcd/extui'. From 92125af2c374be27774e391b70ecba58615bfc47 Mon Sep 17 00:00:00 2001 From: Danny Burnett Date: Wed, 22 May 2024 15:06:21 +0200 Subject: [PATCH 06/15] Update Marlin/Configuration_adv.h --- Marlin/Configuration_adv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index c03eaf22662a..5de6afa1404b 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -407,7 +407,7 @@ #endif #if ENABLED(PIDTEMP) - // Add an experimental additional term to the heater power, proportional to the extrusion speed. + // Add an additional term to the heater power, proportional to the extrusion speed. // A well-chosen Kc value should add just enough power to melt the increased material volume. //#define PID_EXTRUSION_SCALING #if ENABLED(PID_EXTRUSION_SCALING) From b33b0caf8fe9f678a3ac7d47c7682269d0cc24c4 Mon Sep 17 00:00:00 2001 From: Danny Burnett Date: Wed, 22 May 2024 15:06:25 +0200 Subject: [PATCH 07/15] Update Marlin/Configuration_adv.h --- Marlin/Configuration_adv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 5de6afa1404b..902c8ce16d28 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -416,7 +416,7 @@ #endif /** - * Add an experimental additional term to the heater power, proportional to the fan speed. + * Add an additional term to the heater power, proportional to the fan speed. * A well-chosen Kf value should add just enough power to compensate for power-loss from the cooling fan. * You can either just add a constant compensation with the DEFAULT_Kf value * or follow the instruction below to get speed-dependent compensation. From 927f6f0ffc7f3abf6451f3a96177c8448feaecec Mon Sep 17 00:00:00 2001 From: Danny Burnett Date: Wed, 22 May 2024 15:14:01 +0200 Subject: [PATCH 08/15] Update Marlin/Configuration_adv.h --- Marlin/Configuration_adv.h | 9 --------- 1 file changed, 9 deletions(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 902c8ce16d28..a642c9451676 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1956,15 +1956,6 @@ */ //#define NO_SD_HOST_DRIVE // Disable SD Card access over USB (for security). -/** - * By default the framework is responsible for the shared media I/O. - * Enable this if you need Marlin to take care of the shared media I/O. - * Useful if shared media isn't working properly on some boards. - */ -#if ENABLED(SDSUPPORT) && DISABLED(NO_SD_HOST_DRIVE) - //#define DISKIO_HOST_DRIVE -#endif - /** * Additional options for Graphical Displays * From 51ea514b710d0977c5a99c278737c43014394dcf Mon Sep 17 00:00:00 2001 From: Danny Burnett Date: Wed, 22 May 2024 15:15:02 +0200 Subject: [PATCH 09/15] Update Marlin/Configuration.h --- Marlin/Configuration.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index fd52f8d4615b..0b01c1959388 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -1284,10 +1284,6 @@ #define DEFAULT_ACCELERATION 500 // X, Y, Z ... and E acceleration for printing moves #define DEFAULT_RETRACT_ACCELERATION 500 // E acceleration for retracts #define DEFAULT_TRAVEL_ACCELERATION 500 // X, Y, Z ... acceleration for travel (non printing) moves -#if ENABLED(AXIS4_ROTATES) - #define DEFAULT_ANGULAR_ACCELERATION 3000 // I, J, K acceleration for rotational-only printing moves - #define DEFAULT_ANGULAR_TRAVEL_ACCELERATION 3000 // I, J, K acceleration for rotational-only travel (non printing) moves -#endif /** * Default Jerk limits (mm/s) From 8d1f5045054e51fe7aa93af11710260e46ec835e Mon Sep 17 00:00:00 2001 From: Danny Burnett Date: Wed, 22 May 2024 15:16:17 +0200 Subject: [PATCH 10/15] Update Marlin/Configuration_adv.h --- Marlin/Configuration_adv.h | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index a642c9451676..138f5d6c46f5 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1258,12 +1258,8 @@ #define DISABLE_IDLE_E // Shut down all idle extruders // Default Minimum Feedrates for printing and travel moves -#define DEFAULT_MINIMUMFEEDRATE 0.0 // (mm/s) Minimum feedrate. Set with M205 S. -#define DEFAULT_MINTRAVELFEEDRATE 0.0 // (mm/s) Minimum travel feedrate. Set with M205 T. -#if HAS_ROTATIONAL_AXES - #define DEFAULT_ANGULAR_MINIMUMFEEDRATE 0.0 // (°/s) Minimum feedrate for rotational-only moves. Set with M205 P. - #define DEFAULT_ANGULAR_MINTRAVELFEEDRATE 0.0 // (°/s) Minimum travel feedrate for rotational-only moves. Set with M205 Q. -#endif +#define DEFAULT_MINIMUMFEEDRATE 0.0 // (mm/s. °/s for rotational-only moves) Minimum feedrate. Set with M205 S. +#define DEFAULT_MINTRAVELFEEDRATE 0.0 // (mm/s. °/s for rotational-only moves) Minimum travel feedrate. Set with M205 T. // Minimum time that a segment needs to take as the buffer gets emptied #define DEFAULT_MINSEGMENTTIME 20000 // (µs) Set with M205 B. From 0afb2d639cbbedefd34087bc2c5fb468a3450455 Mon Sep 17 00:00:00 2001 From: Danny Burnett Date: Wed, 22 May 2024 15:20:53 +0200 Subject: [PATCH 11/15] Update Marlin/Configuration_adv.h --- Marlin/Configuration_adv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 138f5d6c46f5..37569f4b578c 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -2976,7 +2976,7 @@ #define INTERPOLATE true #if AXIS_IS_TMC_CONFIG(X) - #define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current. + #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 From b2ba4cdab5e9a001445f78d9dcbec6f3a4695535 Mon Sep 17 00:00:00 2001 From: Danny Burnett Date: Wed, 22 May 2024 15:21:48 +0200 Subject: [PATCH 12/15] Update Marlin/Configuration_adv.h --- Marlin/Configuration_adv.h | 1 - 1 file changed, 1 deletion(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 37569f4b578c..fa9bcf9212a4 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -3982,7 +3982,6 @@ #ifdef G0_FEEDRATE //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode #endif -//#define G0_ANGULAR_FEEDRATE 2700 // (°/min) /** * Startup commands From 5aac8d47474787128c00127eaf3b69749630c289 Mon Sep 17 00:00:00 2001 From: Danny Burnett Date: Wed, 22 May 2024 15:21:54 +0200 Subject: [PATCH 13/15] Update Marlin/Configuration_adv.h --- Marlin/Configuration_adv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index fa9bcf9212a4..22d8a8b5b88f 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -3116,7 +3116,7 @@ #endif #if AXIS_IS_TMC_CONFIG(E0) - #define E0_CURRENT 650 + #define E0_CURRENT 800 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 #define E0_CHAIN_POS -1 From 76ef79df581425365d6b1277bcfc0cd85f5022f8 Mon Sep 17 00:00:00 2001 From: Danny Burnett Date: Wed, 22 May 2024 15:22:02 +0200 Subject: [PATCH 14/15] Update Marlin/Configuration_adv.h --- Marlin/Configuration_adv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 22d8a8b5b88f..5f970cdf85ed 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -2996,7 +2996,7 @@ #endif #if AXIS_IS_TMC_CONFIG(Y) - #define Y_CURRENT 580 + #define Y_CURRENT 800 #define Y_CURRENT_HOME Y_CURRENT #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 From 45edb4313bf1db01dfcc3791ffe83b4ba6459bbb Mon Sep 17 00:00:00 2001 From: Danny Burnett Date: Wed, 22 May 2024 15:22:11 +0200 Subject: [PATCH 15/15] Update Marlin/Configuration_adv.h --- Marlin/Configuration_adv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 5f970cdf85ed..213501070f8d 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -3016,7 +3016,7 @@ #endif #if AXIS_IS_TMC_CONFIG(Z) - #define Z_CURRENT 580 + #define Z_CURRENT 800 #define Z_CURRENT_HOME Z_CURRENT #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11