diff --git a/config/examples/Anet/ET4+/Configuration.h b/config/examples/Anet/ET4+/Configuration.h index fb4e6fd917..932b51839a 100644 --- a/config/examples/Anet/ET4+/Configuration.h +++ b/config/examples/Anet/ET4+/Configuration.h @@ -492,6 +492,12 @@ #define DEFAULT_Ki_LIST { 1.38, 1.38 } #define DEFAULT_Kd_LIST { 62.92, 62.92 } #else + // ET4 Default settings + //#define DEFAULT_Kp 40.00 + //#define DEFAULT_Ki 0.70 + //#define DEFAULT_Kd 50.00 + + // ET4 Autotune PID results #define DEFAULT_Kp 18.62 #define DEFAULT_Ki 1.38 #define DEFAULT_Kd 62.92 @@ -515,7 +521,7 @@ * heater. If your configuration is significantly different than this and you don't understand * the issues involved, don't use bed PID until someone else verifies that your hardware works. */ -//#define PIDTEMPBED +#define PIDTEMPBED //#define BED_LIMIT_SWITCHING @@ -558,7 +564,7 @@ * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** */ #define PREVENT_COLD_EXTRUSION -#define EXTRUDE_MINTEMP 160 +#define EXTRUDE_MINTEMP 180 /** * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. @@ -647,12 +653,12 @@ #endif // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). -#define X_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. //eg89 -#define Y_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. //eg89 +#define X_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. #define Z_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. #define X_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. -#define Z_MAX_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. //eg89 +#define Z_MAX_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // Set to true to invert the logic of the probe. /** @@ -673,15 +679,15 @@ * TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE * :['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'] */ -#define X_DRIVER_TYPE TMC2208_STANDALONE -#define Y_DRIVER_TYPE TMC2208_STANDALONE -#define Z_DRIVER_TYPE TMC2208_STANDALONE +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 //#define X2_DRIVER_TYPE A4988 //#define Y2_DRIVER_TYPE A4988 //#define Z2_DRIVER_TYPE A4988 //#define Z3_DRIVER_TYPE A4988 //#define Z4_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE TMC2208_STANDALONE +#define E0_DRIVER_TYPE A4988 //#define E1_DRIVER_TYPE A4988 //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 @@ -836,10 +842,10 @@ * The probe replaces the Z-MIN endstop and is used for Z homing. * (Automatically enables USE_PROBE_FOR_Z_HOMING.) */ -#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN +//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN // Force the use of the probe for Z-axis homing -//#define USE_PROBE_FOR_Z_HOMING +#define USE_PROBE_FOR_Z_HOMING /** * Z_MIN_PROBE_PIN @@ -871,7 +877,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY -#define MANUAL_PROBE_START_Z 0.2 +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -996,16 +1002,16 @@ // 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. -#define PROBING_MARGIN 10 +#define PROBING_MARGIN 25 // X and Y axis travel speed (mm/min) between probes -#define XY_PROBE_SPEED (67*60) +#define XY_PROBE_SPEED (66*60) // Feedrate (mm/min) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST (10*60) // Feedrate (mm/min) for the "accurate" probe of each point -#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 3) +#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 4) /** * Probe Activation Switch @@ -1043,7 +1049,7 @@ * A total of 2 does fast/slow probes with a weighted average. * A total of 3 or more adds more slow probes, taking the average. */ -#define MULTIPLE_PROBING 2 +#define MULTIPLE_PROBING 3 //#define EXTRA_PROBING 1 /** @@ -1157,7 +1163,7 @@ // :[-1,1] #define X_HOME_DIR -1 #define Y_HOME_DIR -1 -#define Z_HOME_DIR 1 +#define Z_HOME_DIR -1 // @section machine @@ -1199,7 +1205,7 @@ #endif #if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS) - //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD + #define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD #endif /** @@ -1314,8 +1320,8 @@ */ //#define AUTO_BED_LEVELING_3POINT //#define AUTO_BED_LEVELING_LINEAR -//#define AUTO_BED_LEVELING_BILINEAR -#define AUTO_BED_LEVELING_UBL +#define AUTO_BED_LEVELING_BILINEAR +//#define AUTO_BED_LEVELING_UBL //#define MESH_BED_LEVELING /** @@ -1340,7 +1346,7 @@ * Turn on with the command 'M111 S32'. * NOTE: Requires a lot of PROGMEM! */ -#define DEBUG_LEVELING_FEATURE +//#define DEBUG_LEVELING_FEATURE #if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_UBL) // Gradually reduce leveling correction until a set height is reached, @@ -1606,11 +1612,16 @@ #define PREHEAT_1_TEMP_BED 70 #define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255 -#define PREHEAT_2_LABEL "ABS" +#define PREHEAT_2_LABEL "PETG" #define PREHEAT_2_TEMP_HOTEND 240 -#define PREHEAT_2_TEMP_BED 110 +#define PREHEAT_2_TEMP_BED 80 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 +#define PREHEAT_3_LABEL "ABS" +#define PREHEAT_3_TEMP_HOTEND 240 +#define PREHEAT_3_TEMP_BED 110 +#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255 + /** * Nozzle Park * @@ -2340,7 +2351,7 @@ // 320x240, 3.2", FSMC Display From MKS // Normally used in MKS Robin Nano V1.2 // -#define MKS_ROBIN_TFT32 +//#define MKS_ROBIN_TFT32 // // 480x320, 3.5", FSMC Display From MKS @@ -2474,7 +2485,7 @@ #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus - //#define TOUCH_SCREEN_CALIBRATION + #define TOUCH_SCREEN_CALIBRATION //#define TOUCH_CALIBRATION_X -11838 //#define TOUCH_CALIBRATION_Y 8776 diff --git a/config/examples/Anet/ET4+/Configuration_adv.h b/config/examples/Anet/ET4+/Configuration_adv.h index f954d25202..4df8c7c700 100644 --- a/config/examples/Anet/ET4+/Configuration_adv.h +++ b/config/examples/Anet/ET4+/Configuration_adv.h @@ -1660,7 +1660,7 @@ //#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28 - //#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping + #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 @@ -1689,7 +1689,7 @@ //#define EXTRA_LIN_ADVANCE_K // Enable for second linear advance constants #define LIN_ADVANCE_K 0.22 // Unit: mm compression per 1mm/s extruder speed //#define LA_DEBUG // If enabled, this will generate debug information output over USB. - #define EXPERIMENTAL_SCURVE // Enable this option to permit S-Curve Acceleration + //#define EXPERIMENTAL_SCURVE // Enable this option to permit S-Curve Acceleration #endif // @section leveling @@ -2166,7 +2166,7 @@ //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. //#define HOME_BEFORE_FILAMENT_CHANGE // If needed, home before parking for filament change - #define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + #define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif @@ -3044,7 +3044,7 @@ * This allows the laser to keep in perfect sync with the planner and removes * the powerup/down delay since lasers require negligible time. */ - #define LASER_POWER_INLINE + //#define LASER_POWER_INLINE #if ENABLED(LASER_POWER_INLINE) /** diff --git a/config/examples/Anet/ET4+/README.md b/config/examples/Anet/ET4+/README.md index 337840f6af..214b66e921 100644 --- a/config/examples/Anet/ET4+/README.md +++ b/config/examples/Anet/ET4+/README.md @@ -26,14 +26,19 @@ A debugging/programming probe (_e.g._, ST-Link, J-Link, or Black Magic Probe) is 2. Plug in the ST-Link to your computer's USB port & power on your printer. 3. Download & install [STM32 ST-Link Utility](https://www.st.com/en/development-tools/stsw-link004.html). 4. Launch STM32 ST-Link Utility & click `Target` then `Connect`. -5. Back up the original motherboard firmware from `0x08000000` with a size of `0x100000`. +5. Back up the original motherboard firmware starting at address `0x08000000` with a size of `0x100000`: 6. Download & extract [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases). 7. Click on `Target` then `Program...` 8. Set the `Start Address` to `0x08000000`. 9. Under `File Path`, click `Browse` and select `openblt_et4.bin` extracted in Step 6. 10. Click `Start` to initiate the flashing process. -11. OpenBLT for Anet ET4/ET5 series printers is now be installed on your motherboard. +11. OpenBLT for Anet ET4/ET5 series printers is now installed on your motherboard. + +## Compiling Marlin + +1. Overwrite the default Marlin configs with the ones from this folder. +2. Compile with the `Anet_ET4_OpenBLT` PlatformIO environment. ## Installing Marlin diff --git a/config/examples/Anet/ET4-Pro/Configuration.h b/config/examples/Anet/ET4-Pro/Configuration.h index d0a45e455a..064bf5a7eb 100644 --- a/config/examples/Anet/ET4-Pro/Configuration.h +++ b/config/examples/Anet/ET4-Pro/Configuration.h @@ -480,21 +480,27 @@ #define PID_K1 0.95 // Smoothing factor within any PID loop #if ENABLED(PIDTEMP) - #define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of PROGMEM) - #define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of PROGMEM) + #define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of PROGMEM) + #define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of PROGMEM) //#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders) // Set/get with gcode: M301 E[extruder number, 0-2] #if ENABLED(PID_PARAMS_PER_HOTEND) // Specify between 1 and HOTENDS values per array. // If fewer than EXTRUDER values are provided, the last element will be repeated. - #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 { 18.62, 18.62 } + #define DEFAULT_Ki_LIST { 1.38, 1.38 } + #define DEFAULT_Kd_LIST { 62.92, 62.92 } #else - #define DEFAULT_Kp 22.20 - #define DEFAULT_Ki 1.08 - #define DEFAULT_Kd 114.00 + // ET4 Default settings + //#define DEFAULT_Kp 40.00 + //#define DEFAULT_Ki 0.70 + //#define DEFAULT_Kd 50.00 + + // ET4 Autotune PID results + #define DEFAULT_Kp 18.62 + #define DEFAULT_Ki 1.38 + #define DEFAULT_Kd 62.92 #endif #endif // PIDTEMP @@ -515,7 +521,7 @@ * heater. If your configuration is significantly different than this and you don't understand * the issues involved, don't use bed PID until someone else verifies that your hardware works. */ -//#define PIDTEMPBED +#define PIDTEMPBED //#define BED_LIMIT_SWITCHING @@ -558,14 +564,14 @@ * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** */ #define PREVENT_COLD_EXTRUSION -#define EXTRUDE_MINTEMP 160 +#define EXTRUDE_MINTEMP 180 /** * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. * Note: For Bowden Extruders make this large enough to allow load/unload. */ #define PREVENT_LENGTHY_EXTRUDE -#define EXTRUDE_MAXLENGTH 200 +#define EXTRUDE_MAXLENGTH 350 //=========================================================================== //======================== Thermal Runaway Protection ======================= @@ -586,7 +592,7 @@ #define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders #define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed -//#define THERMAL_PROTECTION_CHAMBER // Enable thermal protection for the heated chamber +#define THERMAL_PROTECTION_CHAMBER // Enable thermal protection for the heated chamber //=========================================================================== //============================= Mechanical Settings ========================= @@ -647,13 +653,13 @@ #endif // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). -#define X_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. //eg89 -#define Y_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. //eg89 -#define Z_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define X_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. #define X_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. -#define Z_MAX_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. //eg89 -#define Z_MIN_PROBE_ENDSTOP_INVERTING true// Set to true to invert the logic of the probe. +#define Z_MAX_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Z_MIN_PROBE_ENDSTOP_INVERTING true // Set to true to invert the logic of the probe. /** * Stepper Drivers @@ -783,7 +789,7 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define CLASSIC_JERK +//#define CLASSIC_JERK #if ENABLED(CLASSIC_JERK) #define DEFAULT_XJERK 10.0 #define DEFAULT_YJERK 10.0 @@ -807,7 +813,7 @@ * https://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html */ #if DISABLED(CLASSIC_JERK) - #define JUNCTION_DEVIATION_MM 0.025 // (mm) Distance from real junction edge + #define JUNCTION_DEVIATION_MM 0.013 // (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 @@ -871,7 +877,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY -#define MANUAL_PROBE_START_Z 0.2 +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -1199,7 +1205,7 @@ #endif #if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS) - //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD + #define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD #endif /** @@ -1314,8 +1320,8 @@ */ //#define AUTO_BED_LEVELING_3POINT //#define AUTO_BED_LEVELING_LINEAR -//#define AUTO_BED_LEVELING_BILINEAR -#define AUTO_BED_LEVELING_UBL +#define AUTO_BED_LEVELING_BILINEAR +//#define AUTO_BED_LEVELING_UBL //#define MESH_BED_LEVELING /** @@ -1340,7 +1346,7 @@ * Turn on with the command 'M111 S32'. * NOTE: Requires a lot of PROGMEM! */ -#define DEBUG_LEVELING_FEATURE +//#define DEBUG_LEVELING_FEATURE #if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_UBL) // Gradually reduce leveling correction until a set height is reached, @@ -1407,7 +1413,7 @@ //#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh - #define MESH_INSET 25 // Set Mesh bounds as an inset region of the bed + #define MESH_INSET 1 // Set Mesh bounds as an inset region of the bed #define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited. #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X @@ -1448,9 +1454,9 @@ #if ENABLED(LEVEL_BED_CORNERS) #define LEVEL_CORNERS_INSET_LFRB { 30, 30, 30, 30 } // (mm) Left, Front, Right, Back insets - #define LEVEL_CORNERS_HEIGHT 0.05 // (mm) Z height of nozzle at leveling points + #define LEVEL_CORNERS_HEIGHT 0.05 // (mm) Z height of nozzle at leveling points #define LEVEL_CORNERS_Z_HOP 4.0 // (mm) Z height of nozzle between leveling points - #define LEVEL_CENTER_TOO // Move to the center after the last corner + #define LEVEL_CENTER_TOO // Move to the center after the last corner //#define LEVEL_CORNERS_USE_PROBE #if ENABLED(LEVEL_CORNERS_USE_PROBE) #define LEVEL_CORNERS_PROBE_TOLERANCE 0.1 @@ -1472,8 +1478,8 @@ // Manually set the home position. Leave these undefined for automatic settings. // For DELTA this is the top-center of the Cartesian print volume. -//#define MANUAL_X_HOME_POS 110 -//#define MANUAL_Y_HOME_POS 110 +//#define MANUAL_X_HOME_POS 0 +//#define MANUAL_Y_HOME_POS 0 //#define MANUAL_Z_HOME_POS 0 // Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area. @@ -1606,11 +1612,16 @@ #define PREHEAT_1_TEMP_BED 70 #define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255 -#define PREHEAT_2_LABEL "ABS" +#define PREHEAT_2_LABEL "PETG" #define PREHEAT_2_TEMP_HOTEND 240 -#define PREHEAT_2_TEMP_BED 110 +#define PREHEAT_2_TEMP_BED 80 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 +#define PREHEAT_3_LABEL "ABS" +#define PREHEAT_3_TEMP_HOTEND 240 +#define PREHEAT_3_TEMP_BED 110 +#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255 + /** * Nozzle Park * @@ -1812,7 +1823,7 @@ * * :['JAPANESE', 'WESTERN', 'CYRILLIC'] */ -#define DISPLAY_CHARSET_HD44780 WESTERN +#define DISPLAY_CHARSET_HD44780 JAPANESE /** * Info Screen Style (0:Classic, 1:Průša) @@ -2340,7 +2351,7 @@ // 320x240, 3.2", FSMC Display From MKS // Normally used in MKS Robin Nano V1.2 // -#define MKS_ROBIN_TFT32 +//#define MKS_ROBIN_TFT32 // // 480x320, 3.5", FSMC Display From MKS @@ -2474,13 +2485,13 @@ #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus - //#define TOUCH_SCREEN_CALIBRATION + #define TOUCH_SCREEN_CALIBRATION //#define TOUCH_CALIBRATION_X -11838 //#define TOUCH_CALIBRATION_Y 8776 - //#define TOUCH_OFFSET_X -43 - //#define TOUCH_OFFSET_Y 257 - //#define TOUCH_ORIENTATION TOUCH_LANDSCAPE + //#define TOUCH_OFFSET_X 333 + //#define TOUCH_OFFSET_Y -17 + //#define TOUCH_ORIENTATION TOUCH_PORTRAIT #if ENABLED(TFT_COLOR_UI) //#define SINGLE_TOUCH_NAVIGATION @@ -2510,7 +2521,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. diff --git a/config/examples/Anet/ET4-Pro/Configuration_adv.h b/config/examples/Anet/ET4-Pro/Configuration_adv.h index 5cafdfad5f..4df8c7c700 100644 --- a/config/examples/Anet/ET4-Pro/Configuration_adv.h +++ b/config/examples/Anet/ET4-Pro/Configuration_adv.h @@ -663,6 +663,7 @@ #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 // @section bltouch @@ -873,7 +874,7 @@ * See https://hydraraptor.blogspot.com/2010/12/frequency-limit.html * Use M201 F G to change limits at runtime. */ -#define XY_FREQUENCY_LIMIT 10 // (Hz) Maximum frequency of small zigzag infill moves. Set with M201 F. +#define XY_FREQUENCY_LIMIT 10 // (Hz) Maximum frequency of small zigzag infill moves. Set with M201 F. #ifdef XY_FREQUENCY_LIMIT #define XY_FREQUENCY_MIN_PERCENT 5 // (percent) Minimum FR percentage to apply. Set with M201 G. #endif @@ -1054,7 +1055,7 @@ #if EITHER(IS_ULTIPANEL, EXTENSIBLE_UI) #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 2*60 } // (mm/min) Feedrates for manual moves along X, Y, Z, E from panel - #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) + #define FINE_MANUAL_MOVE 0.025 // (mm) Smallest manual move (< 0.1mm) applying to Z on most machines #if IS_ULTIPANEL #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen @@ -1158,10 +1159,10 @@ #endif #if EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY) && ANY(HAS_MARLINUI_U8GLIB, HAS_MARLINUI_HD44780, IS_TFTGLCD_PANEL, EXTENSIBLE_UI) - //#define SHOW_REMAINING_TIME // Display estimated time to completion + #define SHOW_REMAINING_TIME // Display estimated time to completion #if ENABLED(SHOW_REMAINING_TIME) //#define USE_M73_REMAINING_TIME // Use remaining time from M73 command instead of estimation - //#define ROTATE_PROGRESS_DISPLAY // Display (P)rogress, (E)lapsed, and (R)emaining time + #define ROTATE_PROGRESS_DISPLAY // Display (P)rogress, (E)lapsed, and (R)emaining time #endif #if EITHER(HAS_MARLINUI_U8GLIB, EXTENSIBLE_UI) @@ -1221,14 +1222,14 @@ * an option on the LCD screen to continue the print from the last-known * point in the file. */ - //#define POWER_LOSS_RECOVERY + #define POWER_LOSS_RECOVERY #if ENABLED(POWER_LOSS_RECOVERY) #define PLR_ENABLED_DEFAULT false // Power Loss Recovery enabled by default. (Set with 'M413 Sn' & M500) //#define BACKUP_POWER_SUPPLY // Backup power / UPS to move the steppers on power loss //#define POWER_LOSS_RECOVER_ZHOME // Z homing is needed for proper recovery. 99.9% of the time this should be disabled! //#define POWER_LOSS_ZRAISE 2 // (mm) Z axis raise on resume (on power loss with UPS) //#define POWER_LOSS_PIN 44 // Pin to detect power loss. Set to -1 to disable default pin on boards without module. - //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #define POWER_LOSS_STATE LOW // State of pin indicating power loss //#define POWER_LOSS_PULLUP // Set pullup / pulldown as appropriate for your sensor //#define POWER_LOSS_PULLDOWN //#define POWER_LOSS_PURGE_LEN 20 // (mm) Length of filament to purge on resume @@ -1452,7 +1453,7 @@ //#define STATUS_ALT_FAN_BITMAP // Use the alternative fan bitmap //#define STATUS_FAN_FRAMES 3 // :[0,1,2,3,4] Number of fan animation frames //#define STATUS_HEAT_PERCENT // Show heating in a progress bar - #define BOOT_MARLIN_LOGO_ANIMATED // Animated Marlin logo. Costs ~‭3260 (or ~940) bytes of PROGMEM. + //#define BOOT_MARLIN_LOGO_ANIMATED // Animated Marlin logo. Costs ~‭3260 (or ~940) bytes of PROGMEM. // Frivolous Game Options //#define MARLIN_BRICKOUT @@ -1659,7 +1660,7 @@ //#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28 - //#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping + #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 @@ -2131,7 +2132,7 @@ // This short retract is done immediately, before parking the nozzle. #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 350 // (mm) The length of filament for a complete unload. // For Bowden, the full length of the tube and nozzle. // For direct drive, the full length of the nozzle. // Set to 0 for manual unloading. @@ -2140,7 +2141,7 @@ // 0 to disable start loading and skip to fast load only #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. - #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 350 // (mm) Load length of filament, from extruder gear to nozzle. // For Bowden, the full length of the tube and nozzle. // For direct drive, the full length of the nozzle. //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. @@ -2165,7 +2166,7 @@ //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. //#define HOME_BEFORE_FILAMENT_CHANGE // If needed, home before parking for filament change - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + #define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif @@ -3043,7 +3044,7 @@ * This allows the laser to keep in perfect sync with the planner and removes * the powerup/down delay since lasers require negligible time. */ - #define LASER_POWER_INLINE + //#define LASER_POWER_INLINE #if ENABLED(LASER_POWER_INLINE) /** diff --git a/config/examples/Anet/ET4-Pro/README.md b/config/examples/Anet/ET4-Pro/README.md index 337840f6af..214b66e921 100644 --- a/config/examples/Anet/ET4-Pro/README.md +++ b/config/examples/Anet/ET4-Pro/README.md @@ -26,14 +26,19 @@ A debugging/programming probe (_e.g._, ST-Link, J-Link, or Black Magic Probe) is 2. Plug in the ST-Link to your computer's USB port & power on your printer. 3. Download & install [STM32 ST-Link Utility](https://www.st.com/en/development-tools/stsw-link004.html). 4. Launch STM32 ST-Link Utility & click `Target` then `Connect`. -5. Back up the original motherboard firmware from `0x08000000` with a size of `0x100000`. +5. Back up the original motherboard firmware starting at address `0x08000000` with a size of `0x100000`: 6. Download & extract [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases). 7. Click on `Target` then `Program...` 8. Set the `Start Address` to `0x08000000`. 9. Under `File Path`, click `Browse` and select `openblt_et4.bin` extracted in Step 6. 10. Click `Start` to initiate the flashing process. -11. OpenBLT for Anet ET4/ET5 series printers is now be installed on your motherboard. +11. OpenBLT for Anet ET4/ET5 series printers is now installed on your motherboard. + +## Compiling Marlin + +1. Overwrite the default Marlin configs with the ones from this folder. +2. Compile with the `Anet_ET4_OpenBLT` PlatformIO environment. ## Installing Marlin diff --git a/config/examples/Anet/ET4/Configuration.h b/config/examples/Anet/ET4/Configuration.h index f4ed29b109..b77adbfad1 100644 --- a/config/examples/Anet/ET4/Configuration.h +++ b/config/examples/Anet/ET4/Configuration.h @@ -480,8 +480,8 @@ #define PID_K1 0.95 // Smoothing factor within any PID loop #if ENABLED(PIDTEMP) - #define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of PROGMEM) - #define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of PROGMEM) + #define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of PROGMEM) + #define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of PROGMEM) //#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders) // Set/get with gcode: M301 E[extruder number, 0-2] @@ -494,7 +494,7 @@ #else // ET4 Default settings //#define DEFAULT_Kp 40.00 - //#define DEFAULT_Ki 0.70 + //#define DEFAULT_Ki 0.70 //#define DEFAULT_Kd 50.00 // ET4 Autotune PID results @@ -521,7 +521,7 @@ * heater. If your configuration is significantly different than this and you don't understand * the issues involved, don't use bed PID until someone else verifies that your hardware works. */ -//#define PIDTEMPBED +#define PIDTEMPBED //#define BED_LIMIT_SWITCHING @@ -564,7 +564,7 @@ * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** */ #define PREVENT_COLD_EXTRUSION -#define EXTRUDE_MINTEMP 160 +#define EXTRUDE_MINTEMP 180 /** * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. @@ -653,12 +653,12 @@ #endif // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). -#define X_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. // eg89 -#define Y_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. // eg89 +#define X_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. #define Z_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. #define X_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. -#define Z_MAX_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. // eg89 +#define Z_MAX_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // Set to true to invert the logic of the probe. /** @@ -679,15 +679,15 @@ * TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE * :['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'] */ -#define X_DRIVER_TYPE TMC2208_STANDALONE -#define Y_DRIVER_TYPE TMC2208_STANDALONE -#define Z_DRIVER_TYPE TMC2208_STANDALONE +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 //#define X2_DRIVER_TYPE A4988 //#define Y2_DRIVER_TYPE A4988 //#define Z2_DRIVER_TYPE A4988 //#define Z3_DRIVER_TYPE A4988 //#define Z4_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE TMC2208_STANDALONE +#define E0_DRIVER_TYPE A4988 //#define E1_DRIVER_TYPE A4988 //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 @@ -842,7 +842,7 @@ * The probe replaces the Z-MIN endstop and is used for Z homing. * (Automatically enables USE_PROBE_FOR_Z_HOMING.) */ -#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN +//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN // Force the use of the probe for Z-axis homing //#define USE_PROBE_FOR_Z_HOMING @@ -877,13 +877,13 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY -#define MANUAL_PROBE_START_Z 0.2 +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. * (e.g., an inductive probe or a nozzle-based probe-switch.) */ -//#define FIX_MOUNTED_PROBE +#define FIX_MOUNTED_PROBE /** * Use the nozzle as the probe, with the hotend @@ -895,7 +895,7 @@ * Use the nozzle as the probe, as with a conductive * nozzle system or a piezo-electric smart effector. */ -#define NOZZLE_AS_PROBE +//#define NOZZLE_AS_PROBE /** * Z Servo Probe, such as an endstop switch on a rotating arm. @@ -1002,16 +1002,16 @@ // 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. -#define PROBING_MARGIN 10 +#define PROBING_MARGIN 25 // X and Y axis travel speed (mm/min) between probes -#define XY_PROBE_SPEED (67*60) +#define XY_PROBE_SPEED (66*60) // Feedrate (mm/min) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST (10*60) // Feedrate (mm/min) for the "accurate" probe of each point -#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 3) +#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 4) /** * Probe Activation Switch @@ -1049,7 +1049,7 @@ * A total of 2 does fast/slow probes with a weighted average. * A total of 3 or more adds more slow probes, taking the average. */ -#define MULTIPLE_PROBING 2 +#define MULTIPLE_PROBING 3 //#define EXTRA_PROBING 1 /** @@ -1205,7 +1205,7 @@ #endif #if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS) - //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD + #define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD #endif /** @@ -1320,8 +1320,8 @@ */ //#define AUTO_BED_LEVELING_3POINT //#define AUTO_BED_LEVELING_LINEAR -//#define AUTO_BED_LEVELING_BILINEAR -#define AUTO_BED_LEVELING_UBL +#define AUTO_BED_LEVELING_BILINEAR +//#define AUTO_BED_LEVELING_UBL //#define MESH_BED_LEVELING /** @@ -1346,7 +1346,7 @@ * Turn on with the command 'M111 S32'. * NOTE: Requires a lot of PROGMEM! */ -#define DEBUG_LEVELING_FEATURE +//#define DEBUG_LEVELING_FEATURE #if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_UBL) // Gradually reduce leveling correction until a set height is reached, @@ -1454,9 +1454,9 @@ #if ENABLED(LEVEL_BED_CORNERS) #define LEVEL_CORNERS_INSET_LFRB { 30, 30, 30, 30 } // (mm) Left, Front, Right, Back insets - #define LEVEL_CORNERS_HEIGHT 0.05 // (mm) Z height of nozzle at leveling points + #define LEVEL_CORNERS_HEIGHT 0.05 // (mm) Z height of nozzle at leveling points #define LEVEL_CORNERS_Z_HOP 4.0 // (mm) Z height of nozzle between leveling points - #define LEVEL_CENTER_TOO // Move to the center after the last corner + #define LEVEL_CENTER_TOO // Move to the center after the last corner //#define LEVEL_CORNERS_USE_PROBE #if ENABLED(LEVEL_CORNERS_USE_PROBE) #define LEVEL_CORNERS_PROBE_TOLERANCE 0.1 @@ -1612,11 +1612,16 @@ #define PREHEAT_1_TEMP_BED 70 #define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255 -#define PREHEAT_2_LABEL "ABS" +#define PREHEAT_2_LABEL "PETG" #define PREHEAT_2_TEMP_HOTEND 240 -#define PREHEAT_2_TEMP_BED 110 +#define PREHEAT_2_TEMP_BED 80 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 +#define PREHEAT_3_LABEL "ABS" +#define PREHEAT_3_TEMP_HOTEND 240 +#define PREHEAT_3_TEMP_BED 110 +#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255 + /** * Nozzle Park * @@ -2480,7 +2485,7 @@ #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus - //#define TOUCH_SCREEN_CALIBRATION + #define TOUCH_SCREEN_CALIBRATION //#define TOUCH_CALIBRATION_X -11838 //#define TOUCH_CALIBRATION_Y 8776 diff --git a/config/examples/Anet/ET4/Configuration_adv.h b/config/examples/Anet/ET4/Configuration_adv.h index 3c4db06a53..ed42945311 100644 --- a/config/examples/Anet/ET4/Configuration_adv.h +++ b/config/examples/Anet/ET4/Configuration_adv.h @@ -874,7 +874,7 @@ * See https://hydraraptor.blogspot.com/2010/12/frequency-limit.html * Use M201 F G to change limits at runtime. */ -#define XY_FREQUENCY_LIMIT 10 // (Hz) Maximum frequency of small zigzag infill moves. Set with M201 F. +#define XY_FREQUENCY_LIMIT 10 // (Hz) Maximum frequency of small zigzag infill moves. Set with M201 F. #ifdef XY_FREQUENCY_LIMIT #define XY_FREQUENCY_MIN_PERCENT 5 // (percent) Minimum FR percentage to apply. Set with M201 G. #endif @@ -1648,7 +1648,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. @@ -1660,7 +1660,7 @@ //#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28 - //#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping + #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 @@ -1689,7 +1689,7 @@ //#define EXTRA_LIN_ADVANCE_K // Enable for second linear advance constants #define LIN_ADVANCE_K 0.22 // Unit: mm compression per 1mm/s extruder speed //#define LA_DEBUG // If enabled, this will generate debug information output over USB. - #define EXPERIMENTAL_SCURVE // Enable this option to permit S-Curve Acceleration + //#define EXPERIMENTAL_SCURVE // Enable this option to permit S-Curve Acceleration #endif // @section leveling @@ -2166,7 +2166,7 @@ //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. //#define HOME_BEFORE_FILAMENT_CHANGE // If needed, home before parking for filament change - #define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + #define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif @@ -2534,22 +2534,22 @@ * { , , hysteresis_start[1..8] } */ #define CHOPPER_TIMING CHOPPER_DEFAULT_24V // All axes (override below) - //#define CHOPPER_TIMING_X CHOPPER_DEFAULT_12V // For X Axes (override below) - //#define CHOPPER_TIMING_X2 CHOPPER_DEFAULT_12V - //#define CHOPPER_TIMING_Y CHOPPER_DEFAULT_12V // For Y Axes (override below) - //#define CHOPPER_TIMING_Y2 CHOPPER_DEFAULT_12V - //#define CHOPPER_TIMING_Z CHOPPER_DEFAULT_12V // For Z Axes (override below) - //#define CHOPPER_TIMING_Z2 CHOPPER_DEFAULT_12V - //#define CHOPPER_TIMING_Z3 CHOPPER_DEFAULT_12V - //#define CHOPPER_TIMING_Z4 CHOPPER_DEFAULT_12V - //#define CHOPPER_TIMING_E CHOPPER_DEFAULT_12V // For Extruders (override below) - //#define CHOPPER_TIMING_E1 CHOPPER_DEFAULT_12V - //#define CHOPPER_TIMING_E2 CHOPPER_DEFAULT_12V - //#define CHOPPER_TIMING_E3 CHOPPER_DEFAULT_12V - //#define CHOPPER_TIMING_E4 CHOPPER_DEFAULT_12V - //#define CHOPPER_TIMING_E5 CHOPPER_DEFAULT_12V - //#define CHOPPER_TIMING_E6 CHOPPER_DEFAULT_12V - //#define CHOPPER_TIMING_E7 CHOPPER_DEFAULT_12V + //#define CHOPPER_TIMING_X CHOPPER_DEFAULT_24V // For X Axes (override below) + //#define CHOPPER_TIMING_X2 CHOPPER_DEFAULT_24V + //#define CHOPPER_TIMING_Y CHOPPER_DEFAULT_24V // For Y Axes (override below) + //#define CHOPPER_TIMING_Y2 CHOPPER_DEFAULT_24V + //#define CHOPPER_TIMING_Z CHOPPER_DEFAULT_24V // For Z Axes (override below) + //#define CHOPPER_TIMING_Z2 CHOPPER_DEFAULT_24V + //#define CHOPPER_TIMING_Z3 CHOPPER_DEFAULT_24V + //#define CHOPPER_TIMING_Z4 CHOPPER_DEFAULT_24V + //#define CHOPPER_TIMING_E CHOPPER_DEFAULT_24V // For Extruders (override below) + //#define CHOPPER_TIMING_E1 CHOPPER_DEFAULT_24V + //#define CHOPPER_TIMING_E2 CHOPPER_DEFAULT_24V + //#define CHOPPER_TIMING_E3 CHOPPER_DEFAULT_24V + //#define CHOPPER_TIMING_E4 CHOPPER_DEFAULT_24V + //#define CHOPPER_TIMING_E5 CHOPPER_DEFAULT_24V + //#define CHOPPER_TIMING_E6 CHOPPER_DEFAULT_24V + //#define CHOPPER_TIMING_E7 CHOPPER_DEFAULT_24V /** * Monitor Trinamic drivers diff --git a/config/examples/Anet/ET4/README.md b/config/examples/Anet/ET4/README.md index 337840f6af..214b66e921 100644 --- a/config/examples/Anet/ET4/README.md +++ b/config/examples/Anet/ET4/README.md @@ -26,14 +26,19 @@ A debugging/programming probe (_e.g._, ST-Link, J-Link, or Black Magic Probe) is 2. Plug in the ST-Link to your computer's USB port & power on your printer. 3. Download & install [STM32 ST-Link Utility](https://www.st.com/en/development-tools/stsw-link004.html). 4. Launch STM32 ST-Link Utility & click `Target` then `Connect`. -5. Back up the original motherboard firmware from `0x08000000` with a size of `0x100000`. +5. Back up the original motherboard firmware starting at address `0x08000000` with a size of `0x100000`: 6. Download & extract [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases). 7. Click on `Target` then `Program...` 8. Set the `Start Address` to `0x08000000`. 9. Under `File Path`, click `Browse` and select `openblt_et4.bin` extracted in Step 6. 10. Click `Start` to initiate the flashing process. -11. OpenBLT for Anet ET4/ET5 series printers is now be installed on your motherboard. +11. OpenBLT for Anet ET4/ET5 series printers is now installed on your motherboard. + +## Compiling Marlin + +1. Overwrite the default Marlin configs with the ones from this folder. +2. Compile with the `Anet_ET4_OpenBLT` PlatformIO environment. ## Installing Marlin diff --git a/config/examples/Anet/ET4X/Configuration.h b/config/examples/Anet/ET4X/Configuration.h index b9c6c7f772..fe992967a7 100644 --- a/config/examples/Anet/ET4X/Configuration.h +++ b/config/examples/Anet/ET4X/Configuration.h @@ -480,8 +480,8 @@ #define PID_K1 0.95 // Smoothing factor within any PID loop #if ENABLED(PIDTEMP) - #define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of PROGMEM) - #define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of PROGMEM) + #define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of PROGMEM) + #define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of PROGMEM) //#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders) // Set/get with gcode: M301 E[extruder number, 0-2] @@ -492,6 +492,12 @@ #define DEFAULT_Ki_LIST { 1.38, 1.38 } #define DEFAULT_Kd_LIST { 62.92, 62.92 } #else + // ET4 Default settings + //#define DEFAULT_Kp 40.00 + //#define DEFAULT_Ki 0.70 + //#define DEFAULT_Kd 50.00 + + // ET4 Autotune PID results #define DEFAULT_Kp 18.62 #define DEFAULT_Ki 1.38 #define DEFAULT_Kd 62.92 @@ -565,7 +571,7 @@ * Note: For Bowden Extruders make this large enough to allow load/unload. */ #define PREVENT_LENGTHY_EXTRUDE -#define EXTRUDE_MAXLENGTH 100 +#define EXTRUDE_MAXLENGTH 350 //=========================================================================== //======================== Thermal Runaway Protection ======================= @@ -586,7 +592,7 @@ #define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders #define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed -//#define THERMAL_PROTECTION_CHAMBER // Enable thermal protection for the heated chamber +#define THERMAL_PROTECTION_CHAMBER // Enable thermal protection for the heated chamber //=========================================================================== //============================= Mechanical Settings ========================= @@ -647,13 +653,13 @@ #endif // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). -#define X_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. //eg89 -#define Y_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. //eg89 -#define Z_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define X_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. #define X_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. -#define Z_MAX_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. //eg89 -#define Z_MIN_PROBE_ENDSTOP_INVERTING true// Set to true to invert the logic of the probe. +#define Z_MAX_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Z_MIN_PROBE_ENDSTOP_INVERTING true // Set to true to invert the logic of the probe. /** * Stepper Drivers @@ -999,7 +1005,7 @@ #define PROBING_MARGIN 25 // X and Y axis travel speed (mm/min) between probes -#define XY_PROBE_SPEED (83*60) +#define XY_PROBE_SPEED (66*60) // Feedrate (mm/min) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST (10*60) @@ -1044,7 +1050,7 @@ * A total of 3 or more adds more slow probes, taking the average. */ #define MULTIPLE_PROBING 3 -#define EXTRA_PROBING 2 +//#define EXTRA_PROBING 1 /** * Z probes require clearance when deploying, stowing, and moving between @@ -1340,7 +1346,7 @@ * Turn on with the command 'M111 S32'. * NOTE: Requires a lot of PROGMEM! */ -#define DEBUG_LEVELING_FEATURE +//#define DEBUG_LEVELING_FEATURE #if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_UBL) // Gradually reduce leveling correction until a set height is reached, @@ -1448,9 +1454,9 @@ #if ENABLED(LEVEL_BED_CORNERS) #define LEVEL_CORNERS_INSET_LFRB { 30, 30, 30, 30 } // (mm) Left, Front, Right, Back insets - #define LEVEL_CORNERS_HEIGHT 0.05 // (mm) Z height of nozzle at leveling points + #define LEVEL_CORNERS_HEIGHT 0.05 // (mm) Z height of nozzle at leveling points #define LEVEL_CORNERS_Z_HOP 4.0 // (mm) Z height of nozzle between leveling points - //#define LEVEL_CENTER_TOO // Move to the center after the last corner + #define LEVEL_CENTER_TOO // Move to the center after the last corner //#define LEVEL_CORNERS_USE_PROBE #if ENABLED(LEVEL_CORNERS_USE_PROBE) #define LEVEL_CORNERS_PROBE_TOLERANCE 0.1 @@ -1603,7 +1609,7 @@ // Preheat Constants #define PREHEAT_1_LABEL "PLA" #define PREHEAT_1_TEMP_HOTEND 210 -#define PREHEAT_1_TEMP_BED 60 +#define PREHEAT_1_TEMP_BED 70 #define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255 #define PREHEAT_2_LABEL "PETG" @@ -1611,6 +1617,11 @@ #define PREHEAT_2_TEMP_BED 80 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 +#define PREHEAT_3_LABEL "ABS" +#define PREHEAT_3_TEMP_HOTEND 240 +#define PREHEAT_3_TEMP_BED 110 +#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255 + /** * Nozzle Park * @@ -1812,7 +1823,7 @@ * * :['JAPANESE', 'WESTERN', 'CYRILLIC'] */ -#define DISPLAY_CHARSET_HD44780 WESTERN +#define DISPLAY_CHARSET_HD44780 JAPANESE /** * Info Screen Style (0:Classic, 1:Průša) @@ -1835,7 +1846,7 @@ * Enable one of the following items for a slower SPI transfer speed. * This may be required to resolve "volume init" errors. */ -#define SPI_SPEED SPI_HALF_SPEED +//#define SPI_SPEED SPI_HALF_SPEED //#define SPI_SPEED SPI_QUARTER_SPEED //#define SPI_SPEED SPI_EIGHTH_SPEED @@ -2340,7 +2351,7 @@ // 320x240, 3.2", FSMC Display From MKS // Normally used in MKS Robin Nano V1.2 // -#define MKS_ROBIN_TFT32 +//#define MKS_ROBIN_TFT32 // // 480x320, 3.5", FSMC Display From MKS @@ -2474,7 +2485,7 @@ #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus - //#define TOUCH_SCREEN_CALIBRATION + #define TOUCH_SCREEN_CALIBRATION //#define TOUCH_CALIBRATION_X -11838 //#define TOUCH_CALIBRATION_Y 8776 @@ -2510,7 +2521,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. diff --git a/config/examples/Anet/ET4X/Configuration_adv.h b/config/examples/Anet/ET4X/Configuration_adv.h index 3d8ce002fc..ed42945311 100644 --- a/config/examples/Anet/ET4X/Configuration_adv.h +++ b/config/examples/Anet/ET4X/Configuration_adv.h @@ -374,7 +374,7 @@ #define HOTEND_IDLE_TIMEOUT #if ENABLED(HOTEND_IDLE_TIMEOUT) #define HOTEND_IDLE_TIMEOUT_SEC (5*60) // (seconds) Time without extruder movement to trigger protection - #define HOTEND_IDLE_MIN_TRIGGER 360 // (°C) Minimum temperature to enable hotend protection + #define HOTEND_IDLE_MIN_TRIGGER 180 // (°C) Minimum temperature to enable hotend protection #define HOTEND_IDLE_NOZZLE_TARGET 0 // (°C) Safe temperature for the nozzle after timeout #define HOTEND_IDLE_BED_TARGET 0 // (°C) Safe temperature for the bed after timeout #endif @@ -874,7 +874,7 @@ * See https://hydraraptor.blogspot.com/2010/12/frequency-limit.html * Use M201 F G to change limits at runtime. */ -#define XY_FREQUENCY_LIMIT 10 // (Hz) Maximum frequency of small zigzag infill moves. Set with M201 F. +#define XY_FREQUENCY_LIMIT 10 // (Hz) Maximum frequency of small zigzag infill moves. Set with M201 F. #ifdef XY_FREQUENCY_LIMIT #define XY_FREQUENCY_MIN_PERCENT 5 // (percent) Minimum FR percentage to apply. Set with M201 G. #endif @@ -1453,7 +1453,7 @@ //#define STATUS_ALT_FAN_BITMAP // Use the alternative fan bitmap //#define STATUS_FAN_FRAMES 3 // :[0,1,2,3,4] Number of fan animation frames //#define STATUS_HEAT_PERCENT // Show heating in a progress bar - #define BOOT_MARLIN_LOGO_ANIMATED // Animated Marlin logo. Costs ~‭3260 (or ~940) bytes of PROGMEM. + //#define BOOT_MARLIN_LOGO_ANIMATED // Animated Marlin logo. Costs ~‭3260 (or ~940) bytes of PROGMEM. // Frivolous Game Options //#define MARLIN_BRICKOUT @@ -1689,7 +1689,7 @@ //#define EXTRA_LIN_ADVANCE_K // Enable for second linear advance constants #define LIN_ADVANCE_K 0.22 // Unit: mm compression per 1mm/s extruder speed //#define LA_DEBUG // If enabled, this will generate debug information output over USB. - #define EXPERIMENTAL_SCURVE // Enable this option to permit S-Curve Acceleration + //#define EXPERIMENTAL_SCURVE // Enable this option to permit S-Curve Acceleration #endif // @section leveling @@ -3044,7 +3044,7 @@ * This allows the laser to keep in perfect sync with the planner and removes * the powerup/down delay since lasers require negligible time. */ - #define LASER_POWER_INLINE + //#define LASER_POWER_INLINE #if ENABLED(LASER_POWER_INLINE) /** diff --git a/config/examples/Anet/ET4X/README.md b/config/examples/Anet/ET4X/README.md index 337840f6af..214b66e921 100644 --- a/config/examples/Anet/ET4X/README.md +++ b/config/examples/Anet/ET4X/README.md @@ -26,14 +26,19 @@ A debugging/programming probe (_e.g._, ST-Link, J-Link, or Black Magic Probe) is 2. Plug in the ST-Link to your computer's USB port & power on your printer. 3. Download & install [STM32 ST-Link Utility](https://www.st.com/en/development-tools/stsw-link004.html). 4. Launch STM32 ST-Link Utility & click `Target` then `Connect`. -5. Back up the original motherboard firmware from `0x08000000` with a size of `0x100000`. +5. Back up the original motherboard firmware starting at address `0x08000000` with a size of `0x100000`: 6. Download & extract [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases). 7. Click on `Target` then `Program...` 8. Set the `Start Address` to `0x08000000`. 9. Under `File Path`, click `Browse` and select `openblt_et4.bin` extracted in Step 6. 10. Click `Start` to initiate the flashing process. -11. OpenBLT for Anet ET4/ET5 series printers is now be installed on your motherboard. +11. OpenBLT for Anet ET4/ET5 series printers is now installed on your motherboard. + +## Compiling Marlin + +1. Overwrite the default Marlin configs with the ones from this folder. +2. Compile with the `Anet_ET4_OpenBLT` PlatformIO environment. ## Installing Marlin diff --git a/config/examples/Anet/ET5-Pro/Configuration.h b/config/examples/Anet/ET5-Pro/Configuration.h index d020674164..3f4895443a 100644 --- a/config/examples/Anet/ET5-Pro/Configuration.h +++ b/config/examples/Anet/ET5-Pro/Configuration.h @@ -996,7 +996,7 @@ #define XY_PROBE_SPEED (133*60) // Feedrate (mm/min) for the first approach when double-probing (MULTIPLE_PROBING == 2) -#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z +#define Z_PROBE_SPEED_FAST (10*60) // Feedrate (mm/min) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) @@ -2474,7 +2474,7 @@ #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus - //#define TOUCH_SCREEN_CALIBRATION + #define TOUCH_SCREEN_CALIBRATION //#define TOUCH_CALIBRATION_X 12316 //#define TOUCH_CALIBRATION_Y -8981 diff --git a/config/examples/Anet/ET5-Pro/Configuration_adv.h b/config/examples/Anet/ET5-Pro/Configuration_adv.h index 91a39a59ab..1d592a8430 100644 --- a/config/examples/Anet/ET5-Pro/Configuration_adv.h +++ b/config/examples/Anet/ET5-Pro/Configuration_adv.h @@ -1222,14 +1222,14 @@ * an option on the LCD screen to continue the print from the last-known * point in the file. */ - //#define POWER_LOSS_RECOVERY + #define POWER_LOSS_RECOVERY #if ENABLED(POWER_LOSS_RECOVERY) #define PLR_ENABLED_DEFAULT false // Power Loss Recovery enabled by default. (Set with 'M413 Sn' & M500) //#define BACKUP_POWER_SUPPLY // Backup power / UPS to move the steppers on power loss //#define POWER_LOSS_RECOVER_ZHOME // Z homing is needed for proper recovery. 99.9% of the time this should be disabled! //#define POWER_LOSS_ZRAISE 2 // (mm) Z axis raise on resume (on power loss with UPS) //#define POWER_LOSS_PIN 44 // Pin to detect power loss. Set to -1 to disable default pin on boards without module. - //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #define POWER_LOSS_STATE LOW // State of pin indicating power loss //#define POWER_LOSS_PULLUP // Set pullup / pulldown as appropriate for your sensor //#define POWER_LOSS_PULLDOWN //#define POWER_LOSS_PURGE_LEN 20 // (mm) Length of filament to purge on resume diff --git a/config/examples/Anet/ET5-Pro/README.md b/config/examples/Anet/ET5-Pro/README.md index 337840f6af..214b66e921 100644 --- a/config/examples/Anet/ET5-Pro/README.md +++ b/config/examples/Anet/ET5-Pro/README.md @@ -26,14 +26,19 @@ A debugging/programming probe (_e.g._, ST-Link, J-Link, or Black Magic Probe) is 2. Plug in the ST-Link to your computer's USB port & power on your printer. 3. Download & install [STM32 ST-Link Utility](https://www.st.com/en/development-tools/stsw-link004.html). 4. Launch STM32 ST-Link Utility & click `Target` then `Connect`. -5. Back up the original motherboard firmware from `0x08000000` with a size of `0x100000`. +5. Back up the original motherboard firmware starting at address `0x08000000` with a size of `0x100000`: 6. Download & extract [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases). 7. Click on `Target` then `Program...` 8. Set the `Start Address` to `0x08000000`. 9. Under `File Path`, click `Browse` and select `openblt_et4.bin` extracted in Step 6. 10. Click `Start` to initiate the flashing process. -11. OpenBLT for Anet ET4/ET5 series printers is now be installed on your motherboard. +11. OpenBLT for Anet ET4/ET5 series printers is now installed on your motherboard. + +## Compiling Marlin + +1. Overwrite the default Marlin configs with the ones from this folder. +2. Compile with the `Anet_ET4_OpenBLT` PlatformIO environment. ## Installing Marlin diff --git a/config/examples/Anet/ET5/Configuration.h b/config/examples/Anet/ET5/Configuration.h index 20c8b730e2..1c5253255b 100644 --- a/config/examples/Anet/ET5/Configuration.h +++ b/config/examples/Anet/ET5/Configuration.h @@ -996,7 +996,7 @@ #define XY_PROBE_SPEED (133*60) // Feedrate (mm/min) for the first approach when double-probing (MULTIPLE_PROBING == 2) -#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z +#define Z_PROBE_SPEED_FAST (10*60) // Feedrate (mm/min) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) @@ -2474,7 +2474,7 @@ #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus - //#define TOUCH_SCREEN_CALIBRATION + #define TOUCH_SCREEN_CALIBRATION //#define TOUCH_CALIBRATION_X 12316 //#define TOUCH_CALIBRATION_Y -8981 diff --git a/config/examples/Anet/ET5/Configuration_adv.h b/config/examples/Anet/ET5/Configuration_adv.h index 91a39a59ab..1d592a8430 100644 --- a/config/examples/Anet/ET5/Configuration_adv.h +++ b/config/examples/Anet/ET5/Configuration_adv.h @@ -1222,14 +1222,14 @@ * an option on the LCD screen to continue the print from the last-known * point in the file. */ - //#define POWER_LOSS_RECOVERY + #define POWER_LOSS_RECOVERY #if ENABLED(POWER_LOSS_RECOVERY) #define PLR_ENABLED_DEFAULT false // Power Loss Recovery enabled by default. (Set with 'M413 Sn' & M500) //#define BACKUP_POWER_SUPPLY // Backup power / UPS to move the steppers on power loss //#define POWER_LOSS_RECOVER_ZHOME // Z homing is needed for proper recovery. 99.9% of the time this should be disabled! //#define POWER_LOSS_ZRAISE 2 // (mm) Z axis raise on resume (on power loss with UPS) //#define POWER_LOSS_PIN 44 // Pin to detect power loss. Set to -1 to disable default pin on boards without module. - //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #define POWER_LOSS_STATE LOW // State of pin indicating power loss //#define POWER_LOSS_PULLUP // Set pullup / pulldown as appropriate for your sensor //#define POWER_LOSS_PULLDOWN //#define POWER_LOSS_PURGE_LEN 20 // (mm) Length of filament to purge on resume diff --git a/config/examples/Anet/ET5/README.md b/config/examples/Anet/ET5/README.md index 337840f6af..214b66e921 100644 --- a/config/examples/Anet/ET5/README.md +++ b/config/examples/Anet/ET5/README.md @@ -26,14 +26,19 @@ A debugging/programming probe (_e.g._, ST-Link, J-Link, or Black Magic Probe) is 2. Plug in the ST-Link to your computer's USB port & power on your printer. 3. Download & install [STM32 ST-Link Utility](https://www.st.com/en/development-tools/stsw-link004.html). 4. Launch STM32 ST-Link Utility & click `Target` then `Connect`. -5. Back up the original motherboard firmware from `0x08000000` with a size of `0x100000`. +5. Back up the original motherboard firmware starting at address `0x08000000` with a size of `0x100000`: 6. Download & extract [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases). 7. Click on `Target` then `Program...` 8. Set the `Start Address` to `0x08000000`. 9. Under `File Path`, click `Browse` and select `openblt_et4.bin` extracted in Step 6. 10. Click `Start` to initiate the flashing process. -11. OpenBLT for Anet ET4/ET5 series printers is now be installed on your motherboard. +11. OpenBLT for Anet ET4/ET5 series printers is now installed on your motherboard. + +## Compiling Marlin + +1. Overwrite the default Marlin configs with the ones from this folder. +2. Compile with the `Anet_ET4_OpenBLT` PlatformIO environment. ## Installing Marlin diff --git a/config/examples/Anet/ET5X/Configuration.h b/config/examples/Anet/ET5X/Configuration.h index 8a3e66f66a..c97bb961c4 100644 --- a/config/examples/Anet/ET5X/Configuration.h +++ b/config/examples/Anet/ET5X/Configuration.h @@ -996,7 +996,7 @@ #define XY_PROBE_SPEED (133*60) // Feedrate (mm/min) for the first approach when double-probing (MULTIPLE_PROBING == 2) -#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z +#define Z_PROBE_SPEED_FAST (10*60) // Feedrate (mm/min) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) @@ -2474,7 +2474,7 @@ #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus - //#define TOUCH_SCREEN_CALIBRATION + #define TOUCH_SCREEN_CALIBRATION //#define TOUCH_CALIBRATION_X 12316 //#define TOUCH_CALIBRATION_Y -8981 diff --git a/config/examples/Anet/ET5X/Configuration_adv.h b/config/examples/Anet/ET5X/Configuration_adv.h index 91a39a59ab..1d592a8430 100644 --- a/config/examples/Anet/ET5X/Configuration_adv.h +++ b/config/examples/Anet/ET5X/Configuration_adv.h @@ -1222,14 +1222,14 @@ * an option on the LCD screen to continue the print from the last-known * point in the file. */ - //#define POWER_LOSS_RECOVERY + #define POWER_LOSS_RECOVERY #if ENABLED(POWER_LOSS_RECOVERY) #define PLR_ENABLED_DEFAULT false // Power Loss Recovery enabled by default. (Set with 'M413 Sn' & M500) //#define BACKUP_POWER_SUPPLY // Backup power / UPS to move the steppers on power loss //#define POWER_LOSS_RECOVER_ZHOME // Z homing is needed for proper recovery. 99.9% of the time this should be disabled! //#define POWER_LOSS_ZRAISE 2 // (mm) Z axis raise on resume (on power loss with UPS) //#define POWER_LOSS_PIN 44 // Pin to detect power loss. Set to -1 to disable default pin on boards without module. - //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #define POWER_LOSS_STATE LOW // State of pin indicating power loss //#define POWER_LOSS_PULLUP // Set pullup / pulldown as appropriate for your sensor //#define POWER_LOSS_PULLDOWN //#define POWER_LOSS_PURGE_LEN 20 // (mm) Length of filament to purge on resume diff --git a/config/examples/Anet/ET5X/README.md b/config/examples/Anet/ET5X/README.md index 337840f6af..214b66e921 100644 --- a/config/examples/Anet/ET5X/README.md +++ b/config/examples/Anet/ET5X/README.md @@ -26,14 +26,19 @@ A debugging/programming probe (_e.g._, ST-Link, J-Link, or Black Magic Probe) is 2. Plug in the ST-Link to your computer's USB port & power on your printer. 3. Download & install [STM32 ST-Link Utility](https://www.st.com/en/development-tools/stsw-link004.html). 4. Launch STM32 ST-Link Utility & click `Target` then `Connect`. -5. Back up the original motherboard firmware from `0x08000000` with a size of `0x100000`. +5. Back up the original motherboard firmware starting at address `0x08000000` with a size of `0x100000`: 6. Download & extract [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases). 7. Click on `Target` then `Program...` 8. Set the `Start Address` to `0x08000000`. 9. Under `File Path`, click `Browse` and select `openblt_et4.bin` extracted in Step 6. 10. Click `Start` to initiate the flashing process. -11. OpenBLT for Anet ET4/ET5 series printers is now be installed on your motherboard. +11. OpenBLT for Anet ET4/ET5 series printers is now installed on your motherboard. + +## Compiling Marlin + +1. Overwrite the default Marlin configs with the ones from this folder. +2. Compile with the `Anet_ET4_OpenBLT` PlatformIO environment. ## Installing Marlin diff --git a/config/examples/Labists/ET4/Configuration.h b/config/examples/Labists/ET4/Configuration.h index 1c4c8b4121..8baad7dcd5 100644 --- a/config/examples/Labists/ET4/Configuration.h +++ b/config/examples/Labists/ET4/Configuration.h @@ -492,6 +492,12 @@ #define DEFAULT_Ki_LIST { 1.38, 1.38 } #define DEFAULT_Kd_LIST { 62.92, 62.92 } #else + // ET4 Default settings + //#define DEFAULT_Kp 40.00 + //#define DEFAULT_Ki 0.70 + //#define DEFAULT_Kd 50.00 + + // ET4 Autotune PID results #define DEFAULT_Kp 18.62 #define DEFAULT_Ki 1.38 #define DEFAULT_Kd 62.92 @@ -515,7 +521,7 @@ * heater. If your configuration is significantly different than this and you don't understand * the issues involved, don't use bed PID until someone else verifies that your hardware works. */ -//#define PIDTEMPBED +#define PIDTEMPBED //#define BED_LIMIT_SWITCHING @@ -558,7 +564,7 @@ * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** */ #define PREVENT_COLD_EXTRUSION -#define EXTRUDE_MINTEMP 160 +#define EXTRUDE_MINTEMP 180 /** * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. @@ -647,12 +653,12 @@ #endif // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). -#define X_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. //eg89 -#define Y_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. //eg89 +#define X_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. #define Z_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. #define X_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. -#define Z_MAX_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. //eg89 +#define Z_MAX_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // Set to true to invert the logic of the probe. /** @@ -673,15 +679,15 @@ * TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE * :['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'] */ -#define X_DRIVER_TYPE TMC2208_STANDALONE -#define Y_DRIVER_TYPE TMC2208_STANDALONE -#define Z_DRIVER_TYPE TMC2208_STANDALONE +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 //#define X2_DRIVER_TYPE A4988 //#define Y2_DRIVER_TYPE A4988 //#define Z2_DRIVER_TYPE A4988 //#define Z3_DRIVER_TYPE A4988 //#define Z4_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE TMC2208_STANDALONE +#define E0_DRIVER_TYPE A4988 //#define E1_DRIVER_TYPE A4988 //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 @@ -836,10 +842,10 @@ * The probe replaces the Z-MIN endstop and is used for Z homing. * (Automatically enables USE_PROBE_FOR_Z_HOMING.) */ -#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN +//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN // Force the use of the probe for Z-axis homing -//#define USE_PROBE_FOR_Z_HOMING +#define USE_PROBE_FOR_Z_HOMING /** * Z_MIN_PROBE_PIN @@ -871,7 +877,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY -#define MANUAL_PROBE_START_Z 0.2 +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -996,16 +1002,16 @@ // 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. -#define PROBING_MARGIN 10 +#define PROBING_MARGIN 25 // X and Y axis travel speed (mm/min) between probes -#define XY_PROBE_SPEED (67*60) +#define XY_PROBE_SPEED (66*60) // Feedrate (mm/min) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST (10*60) // Feedrate (mm/min) for the "accurate" probe of each point -#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 3) +#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 4) /** * Probe Activation Switch @@ -1043,7 +1049,7 @@ * A total of 2 does fast/slow probes with a weighted average. * A total of 3 or more adds more slow probes, taking the average. */ -#define MULTIPLE_PROBING 2 +#define MULTIPLE_PROBING 3 //#define EXTRA_PROBING 1 /** @@ -1157,7 +1163,7 @@ // :[-1,1] #define X_HOME_DIR -1 #define Y_HOME_DIR -1 -#define Z_HOME_DIR 1 +#define Z_HOME_DIR -1 // @section machine @@ -1199,7 +1205,7 @@ #endif #if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS) - //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD + #define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD #endif /** @@ -1314,8 +1320,8 @@ */ //#define AUTO_BED_LEVELING_3POINT //#define AUTO_BED_LEVELING_LINEAR -//#define AUTO_BED_LEVELING_BILINEAR -#define AUTO_BED_LEVELING_UBL +#define AUTO_BED_LEVELING_BILINEAR +//#define AUTO_BED_LEVELING_UBL //#define MESH_BED_LEVELING /** @@ -1340,7 +1346,7 @@ * Turn on with the command 'M111 S32'. * NOTE: Requires a lot of PROGMEM! */ -#define DEBUG_LEVELING_FEATURE +//#define DEBUG_LEVELING_FEATURE #if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_UBL) // Gradually reduce leveling correction until a set height is reached, @@ -1606,11 +1612,16 @@ #define PREHEAT_1_TEMP_BED 70 #define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255 -#define PREHEAT_2_LABEL "ABS" +#define PREHEAT_2_LABEL "PETG" #define PREHEAT_2_TEMP_HOTEND 240 -#define PREHEAT_2_TEMP_BED 110 +#define PREHEAT_2_TEMP_BED 80 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 +#define PREHEAT_3_LABEL "ABS" +#define PREHEAT_3_TEMP_HOTEND 240 +#define PREHEAT_3_TEMP_BED 110 +#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255 + /** * Nozzle Park * @@ -2340,7 +2351,7 @@ // 320x240, 3.2", FSMC Display From MKS // Normally used in MKS Robin Nano V1.2 // -#define MKS_ROBIN_TFT32 +//#define MKS_ROBIN_TFT32 // // 480x320, 3.5", FSMC Display From MKS @@ -2474,7 +2485,7 @@ #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus - //#define TOUCH_SCREEN_CALIBRATION + #define TOUCH_SCREEN_CALIBRATION //#define TOUCH_CALIBRATION_X -11838 //#define TOUCH_CALIBRATION_Y 8776 diff --git a/config/examples/Labists/ET4/Configuration_adv.h b/config/examples/Labists/ET4/Configuration_adv.h index f954d25202..4df8c7c700 100644 --- a/config/examples/Labists/ET4/Configuration_adv.h +++ b/config/examples/Labists/ET4/Configuration_adv.h @@ -1660,7 +1660,7 @@ //#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28 - //#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping + #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 @@ -1689,7 +1689,7 @@ //#define EXTRA_LIN_ADVANCE_K // Enable for second linear advance constants #define LIN_ADVANCE_K 0.22 // Unit: mm compression per 1mm/s extruder speed //#define LA_DEBUG // If enabled, this will generate debug information output over USB. - #define EXPERIMENTAL_SCURVE // Enable this option to permit S-Curve Acceleration + //#define EXPERIMENTAL_SCURVE // Enable this option to permit S-Curve Acceleration #endif // @section leveling @@ -2166,7 +2166,7 @@ //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. //#define HOME_BEFORE_FILAMENT_CHANGE // If needed, home before parking for filament change - #define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + #define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif @@ -3044,7 +3044,7 @@ * This allows the laser to keep in perfect sync with the planner and removes * the powerup/down delay since lasers require negligible time. */ - #define LASER_POWER_INLINE + //#define LASER_POWER_INLINE #if ENABLED(LASER_POWER_INLINE) /** diff --git a/config/examples/Labists/ET4/README.md b/config/examples/Labists/ET4/README.md index 7fd0e407e3..bde2f1f1dd 100644 --- a/config/examples/Labists/ET4/README.md +++ b/config/examples/Labists/ET4/README.md @@ -1,4 +1,3 @@ - # Marlin for Labists ET4 _Note: The Labists ET4 is OEM'd by Anet, so the update process is very similar._ @@ -29,14 +28,19 @@ A debugging/programming probe (_e.g._, ST-Link, J-Link, or Black Magic Probe) is 2. Plug in the ST-Link to your computer's USB port & power on your printer. 3. Download & install [STM32 ST-Link Utility](https://www.st.com/en/development-tools/stsw-link004.html). 4. Launch STM32 ST-Link Utility & click `Target` then `Connect`. -5. Back up the original motherboard firmware from `0x08000000` with a size of `0x100000`. +5. Back up the original motherboard firmware starting at address `0x08000000` with a size of `0x100000`: 6. Download & extract [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases). 7. Click on `Target` then `Program...` 8. Set the `Start Address` to `0x08000000`. 9. Under `File Path`, click `Browse` and select `openblt_et4.bin` extracted in Step 6. 10. Click `Start` to initiate the flashing process. -11. OpenBLT for Anet ET4/ET5 series printers is now be installed on your motherboard. +11. OpenBLT for Anet ET4/ET5 series printers is now installed on your motherboard. + +## Compiling Marlin + +1. Overwrite the default Marlin configs with the ones from this folder. +2. Compile with the `Anet_ET4_OpenBLT` PlatformIO environment. ## Installing Marlin