From 5d6f1e9afe0e29fd575be18456017e9cdba9f757 Mon Sep 17 00:00:00 2001 From: just-trey Date: Wed, 12 Jan 2022 18:54:27 -0500 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20Elegoo=20Neptune=202=20(#6?= =?UTF-8?q?48)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../examples/Elegoo/Neptune 2/Configuration.h | 251 ++++++++++++------ .../Elegoo/Neptune 2/Configuration_adv.h | 121 +++++---- config/examples/Elegoo/Neptune 2/readme.md | 23 +- 3 files changed, 260 insertions(+), 135 deletions(-) diff --git a/config/examples/Elegoo/Neptune 2/Configuration.h b/config/examples/Elegoo/Neptune 2/Configuration.h index 787058d680..0803195bdd 100644 --- a/config/examples/Elegoo/Neptune 2/Configuration.h +++ b/config/examples/Elegoo/Neptune 2/Configuration.h @@ -69,9 +69,60 @@ // @section info // Author info of this build printed to the host during boot and M115 -#define STRING_CONFIG_H_AUTHOR "(EvilGremlin)" // Who made the changes. +#define STRING_CONFIG_H_AUTHOR "(just-trey, Elegoo Neptune 2)" // Who made the changes. //#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes) +// @section custom +/** + * Consolidated list of overrides that are not required in this file. They either simplify + * managing multiple configurations or override values specified in other files. + */ + +// MAIN CONFIGURATION SWITCHES FOR FEATURES - see readme.md for more details. + +#define IS_BOARD_1_3 true // True if you have the 1.3 board, false for 1.2 board +#define HAS_BLTOUCH false // Enable if you have a BlTouch, false fo no BlTouch +#define IS_2D false // True if you have a Neptuen 2d (Dual extruder) +// Define missing pins +#define POWER_LOSS_PIN PA2 +#define MT_DET_PIN_STATE LOW + +/* Neptune 2 Custom Theme (adjustments for better clarity) */ +#define COLOR_GRAYER 0x8C51 // #8D8D8D + +#define COLOR_BACKGROUND COLOR_BLACK +#define COLOR_SELECTION_BG COLOR_RED +#define COLOR_WEBSITE_URL COLOR_CYAN +#define COLOR_INACTIVE COLOR_GRAYER +#define COLOR_COLD COLOR_CYAN +#define COLOR_HOTEND COLOR_ORANGE +#define COLOR_HEATED_BED COLOR_ORANGE +#define COLOR_CHAMBER COLOR_ORANGE +#define COLOR_COOLER COLOR_ORANGE +#define COLOR_FAN COLOR_CYAN +#define COLOR_AXIS_HOMED COLOR_CYAN +#define COLOR_AXIS_NOT_HOMED COLOR_YELLOW +#define COLOR_RATE_100 COLOR_VIVID_GREEN +#define COLOR_RATE_ALTERED COLOR_YELLOW +#define COLOR_PRINT_TIME COLOR_AQUA +#define COLOR_PROGRESS_FRAME COLOR_WHITE +#define COLOR_PROGRESS_BAR COLOR_CYAN +#define COLOR_PROGRESS_BG COLOR_BLACK +#define COLOR_STATUS_MESSAGE COLOR_WHITE +#define COLOR_CONTROL_ENABLED COLOR_WHITE +#define COLOR_CONTROL_DISABLED COLOR_GRAYER +#define COLOR_CONTROL_CANCEL COLOR_RED +#define COLOR_CONTROL_CONFIRM COLOR_VIVID_GREEN +#define COLOR_BUSY COLOR_SILVER +#define COLOR_MENU_TEXT COLOR_WHITE +#define COLOR_MENU_VALUE COLOR_WHITE +#define COLOR_SLIDER COLOR_WHITE +#define COLOR_SLIDER_INACTIVE COLOR_GRAYER +#define COLOR_UBL COLOR_WHITE +#define COLOR_TOUCH_CALIBRATION COLOR_WHITE +#define COLOR_KILL_SCREEN_BG COLOR_RED +#define COLOR_KILL_SCREEN_TEXT COLOR_YELLOW + /** * *** VENDORS PLEASE READ *** * @@ -95,8 +146,15 @@ // @section machine // Choose the name from boards.h that matches your setup +// NOTE for platformio.ini: +// For ZNP Robin Nano 1.2 - set default_envs = mks_robin_nano35 +// For ZNP Robin Nano 1.3 - default_envs = mks_robin_nano_v1_3_f4 #ifndef MOTHERBOARD - #define MOTHERBOARD BOARD_MKS_ROBIN_NANO + #if (IS_BOARD_1_3) + #define MOTHERBOARD BOARD_MKS_ROBIN_NANO_V1_3_F4 + #else + #define MOTHERBOARD BOARD_MKS_ROBIN_NANO + #endif #endif /** @@ -120,7 +178,7 @@ * * :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] */ -#define BAUDRATE 250000 +#define BAUDRATE 115200 // See https://github.com/MarlinFirmware/Marlin/issues/12174 #define BAUD_RATE_GCODE // Enable G-code M575 to set the baud rate /** @@ -142,11 +200,14 @@ // Enable the Bluetooth serial interface on AT90USB devices //#define BLUETOOTH - #define FIRMWARE_BIN elegoo.bin // Name displayed in the LCD "Ready" message and Info menu -#define CUSTOM_MACHINE_NAME "Elegoo Neptune 2" +#if IS_2D + #define CUSTOM_MACHINE_NAME "Elegoo Neptune 2D" +#else + #define CUSTOM_MACHINE_NAME "Elegoo Neptune 2" +#endif // 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 @@ -195,7 +256,12 @@ // This defines the number of extruders // :[0, 1, 2, 3, 4, 5, 6, 7, 8] -#define EXTRUDERS 1 +#if IS_2D + #define EXTRUDERS 2 + #define SINGLENOZZLE +#else + #define EXTRUDERS 1 +#endif // Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc. #define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 @@ -519,13 +585,13 @@ //#define MAX31865_SENSOR_OHMS_1 100 //#define MAX31865_CALIBRATION_OHMS_1 430 -#define TEMP_RESIDENCY_TIME 5 // (seconds) Time to wait for hotend to "settle" in M109 -#define TEMP_WINDOW 5 // (°C) Temperature proximity for the "temperature reached" timer -#define TEMP_HYSTERESIS 10 // (°C) Temperature proximity considered "close enough" to the target +#define TEMP_RESIDENCY_TIME 10 // (seconds) Time to wait for hotend to "settle" in M109 +#define TEMP_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer +#define TEMP_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target -#define TEMP_BED_RESIDENCY_TIME 5 // (seconds) Time to wait for bed to "settle" in M190 -#define TEMP_BED_WINDOW 5 // (°C) Temperature proximity for the "temperature reached" timer -#define TEMP_BED_HYSTERESIS 10 // (°C) Temperature proximity considered "close enough" to the target +#define TEMP_BED_RESIDENCY_TIME 10 // (seconds) Time to wait for bed to "settle" in M190 +#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer +#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target #define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191 #define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer @@ -563,7 +629,7 @@ // Above this temperature the heater will be switched off. // This can protect components from overheating, but NOT from shorts and failures. // (Use MINTEMP for thermistor short/failure protection.) -#define HEATER_0_MAXTEMP 275 +#define HEATER_0_MAXTEMP 270 #define HEATER_1_MAXTEMP 275 #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 @@ -571,7 +637,7 @@ #define HEATER_5_MAXTEMP 275 #define HEATER_6_MAXTEMP 275 #define HEATER_7_MAXTEMP 275 -#define BED_MAXTEMP 150 +#define BED_MAXTEMP 110 #define CHAMBER_MAXTEMP 60 /** @@ -596,7 +662,7 @@ #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_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] @@ -608,9 +674,10 @@ #define DEFAULT_Ki_LIST { 1.08, 1.08 } #define DEFAULT_Kd_LIST { 114.00, 114.00 } #else - #define DEFAULT_Kp 34.54 - #define DEFAULT_Ki 3.91 - #define DEFAULT_Kd 76.32 + // Tuned by the author. Tune your machine with M303. + #define DEFAULT_Kp 25.47 + #define DEFAULT_Ki 2.11 + #define DEFAULT_Kd 76.90 #endif #endif // PIDTEMP @@ -650,10 +717,10 @@ // 120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) // from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) -// Calibrated values - #define DEFAULT_bedKp 79.92 - #define DEFAULT_bedKi 12.97 - #define DEFAULT_bedKd 328.19 + // Tuned by the author. Tune your machine with M303. + #define DEFAULT_bedKp 31.30 + #define DEFAULT_bedKi 6.02 + #define DEFAULT_bedKd 108.50 // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. #endif // PIDTEMPBED @@ -727,7 +794,7 @@ * Note: For Bowden Extruders make this large enough to allow load/unload. */ #define PREVENT_LENGTHY_EXTRUDE -#define EXTRUDE_MAXLENGTH 500 +#define EXTRUDE_MAXLENGTH 200 //=========================================================================== //======================== Thermal Runaway Protection ======================= @@ -846,12 +913,16 @@ #define J_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. #define K_MIN_ENDSTOP_INVERTING false // 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 false // Set to true to invert the logic of the endstop. +#define Y_MAX_ENDSTOP_INVERTING true // 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. #define I_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. #define J_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. #define K_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. -#define Z_MIN_PROBE_ENDSTOP_INVERTING false // Set to true to invert the logic of the probe. +#if HAS_BLTOUCH + #define Z_MIN_PROBE_ENDSTOP_INVERTING false // Set to true to invert the logic of the probe. +#else + #define Z_MIN_PROBE_ENDSTOP_INVERTING true // Set to true to invert the logic of the probe. +#endif /** * Stepper Drivers @@ -883,7 +954,7 @@ //#define J_DRIVER_TYPE A4988 //#define K_DRIVER_TYPE A4988 #define E0_DRIVER_TYPE A4988 -//#define E1_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 // for 2D support //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 @@ -930,21 +1001,31 @@ * following movement settings. If fewer factors are given than the * total number of extruders, the last value applies to the rest. */ -//#define DISTINCT_E_FACTORS +#if IS_2D + #define DISTINCT_E_FACTORS +#endif /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 * X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]] */ -#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 95 } +#if IS_2D + #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 133, 133 } +#else + #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 133 } +#endif /** * Default Max Feed Rate (mm/s) * Override with M203 * X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]] */ -#define DEFAULT_MAX_FEEDRATE { 150, 150, 20, 50 } +#if IS_2D + #define DEFAULT_MAX_FEEDRATE { 150, 150, 3, 70, 70 } +#else + #define DEFAULT_MAX_FEEDRATE { 150, 150, 3, 70 } +#endif //#define LIMITED_MAX_FR_EDITING // Limit edit via M203 or LCD to DEFAULT_MAX_FEEDRATE * 2 #if ENABLED(LIMITED_MAX_FR_EDITING) @@ -957,7 +1038,7 @@ * Override with M201 * X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]] */ -#define DEFAULT_MAX_ACCELERATION { 2000, 2000, 300, 3000 } +#define DEFAULT_MAX_ACCELERATION { 1000, 1000, 100, 1000 } //#define LIMITED_MAX_ACCEL_EDITING // Limit edit via M201 or LCD to DEFAULT_MAX_ACCELERATION * 2 #if ENABLED(LIMITED_MAX_ACCEL_EDITING) @@ -988,7 +1069,7 @@ #if ENABLED(CLASSIC_JERK) #define DEFAULT_XJERK 10.0 #define DEFAULT_YJERK 10.0 - #define DEFAULT_ZJERK 0.3 + #define DEFAULT_ZJERK 0.4 //#define DEFAULT_IJERK 0.3 //#define DEFAULT_JJERK 0.3 //#define DEFAULT_KJERK 0.3 @@ -1040,10 +1121,13 @@ * 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 - -// Force the use of the probe for Z-axis homing -//#define USE_PROBE_FOR_Z_HOMING +#if HAS_BLTOUCH + #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 +#else + #define PROBE_MANUALLY +#endif /** * Z_MIN_PROBE_PIN @@ -1060,7 +1144,7 @@ * - normally-closed switches to GND and D32. * - normally-open switches to 5V and D32. */ -//#define Z_MIN_PROBE_PIN 32 // Pin 32 is the RAMPS default +#define Z_MIN_PROBE_PIN PC4 // Z-MAX PIN FOR BOARD /** * Probe Type @@ -1074,7 +1158,7 @@ * Use G29 repeatedly, adjusting the Z height at each point with movement commands * or (with LCD_BED_LEVELING) the LCD controller. */ -#define PROBE_MANUALLY +//#define PROBE_MANUALLY /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -1097,7 +1181,9 @@ /** * The BLTouch probe uses a Hall effect sensor and emulates a servo. */ -//#define BLTOUCH +#if HAS_BLTOUCH + #define BLTOUCH +#endif /** * MagLev V4 probe by MDD @@ -1200,20 +1286,20 @@ * | [-] | * O-- FRONT --+ */ -#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } +#define NOZZLE_TO_PROBE_OFFSET { 32.55, 3, 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. -#define PROBING_MARGIN 10 +#define PROBING_MARGIN 20 // X and Y axis travel speed (mm/min) between probes -#define XY_PROBE_FEEDRATE (133*60) +#define XY_PROBE_FEEDRATE (4000) // Feedrate (mm/min) for the first approach when double-probing (MULTIPLE_PROBING == 2) -#define Z_PROBE_FEEDRATE_FAST (4*60) +#define Z_PROBE_FEEDRATE_FAST (600) // Feedrate (mm/min) for the "accurate" probe of each point -#define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 2) +#define Z_PROBE_FEEDRATE_SLOW (300) /** * Probe Activation Switch @@ -1286,7 +1372,7 @@ // For M851 give a range for adjusting the Z probe offset #define Z_PROBE_OFFSET_RANGE_MIN -20 -#define Z_PROBE_OFFSET_RANGE_MAX 20 +#define Z_PROBE_OFFSET_RANGE_MAX 50 // Enable the M48 repeatability test to test probe accuracy //#define Z_MIN_PROBE_REPEATABILITY_TEST @@ -1382,7 +1468,7 @@ */ //#define Z_IDLE_HEIGHT Z_HOME_POS -//#define Z_HOMING_HEIGHT 4 // (mm) Minimal Z height before homing (G28) for Z clearance above the bed, clamps, ... +#define Z_HOMING_HEIGHT 4 // (mm) Minimal Z height before homing (G28) for Z clearance above the bed, clamps, ... // Be sure to have this much clearance over your Z_MAX_POS to prevent grinding. //#define Z_AFTER_HOMING 10 // (mm) Height to move to after homing Z @@ -1403,12 +1489,12 @@ #define Y_BED_SIZE 235 // Travel limits (mm) after homing, corresponding to endstop positions. -#define X_MIN_POS -3 +#define X_MIN_POS 0 #define Y_MIN_POS 0 #define Z_MIN_POS 0 #define X_MAX_POS X_BED_SIZE #define Y_MAX_POS Y_BED_SIZE -#define Z_MAX_POS 260 +#define Z_MAX_POS 250 //#define I_MIN_POS 0 //#define I_MAX_POS 50 //#define J_MIN_POS 0 @@ -1448,7 +1534,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 /** @@ -1467,12 +1553,16 @@ #define FILAMENT_RUNOUT_SENSOR #if ENABLED(FILAMENT_RUNOUT_SENSOR) #define FIL_RUNOUT_ENABLED_DEFAULT true // Enable the sensor on startup. Override with M412 followed by M500. - #define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. + #if IS_2D + #define NUM_RUNOUT_SENSORS 2 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. + #else + #define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. + #endif #define FIL_RUNOUT_STATE LOW // Pin state indicating that filament is NOT present. #define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins. //#define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins. - //#define WATCH_ALL_RUNOUT_SENSORS // Execute runout script on any triggering sensor, not only for the active extruder. + #define WATCH_ALL_RUNOUT_SENSORS // Execute runout script on any triggering sensor, not only for the active extruder. // This is automatically enabled for MIXING_EXTRUDERs. // Override individually if the runout sensors vary @@ -1511,7 +1601,7 @@ // Commands to execute on filament runout. // With multiple runout sensors use the %c placeholder for the current tool in commands (e.g., "M600 T%c") // NOTE: After 'M412 H1' the host handles filament runout and this script does not apply. - #define FILAMENT_RUNOUT_SCRIPT "M600" + #define FILAMENT_RUNOUT_SCRIPT "M600 T%c" // After a runout is detected, continue printing this length of filament // before executing the runout script. Useful for a sensor at the end of @@ -1566,16 +1656,18 @@ */ //#define AUTO_BED_LEVELING_3POINT //#define AUTO_BED_LEVELING_LINEAR -//#define AUTO_BED_LEVELING_BILINEAR -//define AUTO_BED_LEVELING_UBL -//#define MESH_BED_LEVELING - +//#define AUTO_BED_LEVELING_UBL +#if HAS_BLTOUCH + #define AUTO_BED_LEVELING_BILINEAR +#else + #define MESH_BED_LEVELING +#endif /** * Normally G28 leaves leveling disabled on completion. Enable one of * these options to restore the prior leveling state or to always enable * leveling immediately after G28. */ -//#define RESTORE_LEVELING_AFTER_G28 +#define RESTORE_LEVELING_AFTER_G28 //#define ENABLE_LEVELING_AFTER_G28 /** @@ -1583,7 +1675,7 @@ */ //#define PREHEAT_BEFORE_LEVELING #if ENABLED(PREHEAT_BEFORE_LEVELING) - #define LEVELING_NOZZLE_TEMP 120 // (°C) Only applies to E0 at this time + #define LEVELING_NOZZLE_TEMP 180 // (°C) Only applies to E0 at this time #define LEVELING_BED_TEMP 50 #endif @@ -1633,7 +1725,7 @@ #if EITHER(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR) // Set the number of grid points per dimension. - #define GRID_MAX_POINTS_X 3 + #define GRID_MAX_POINTS_X 5 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X // Probe along the Y axis, advancing X after each column @@ -1685,7 +1777,7 @@ //=================================== Mesh ================================== //=========================================================================== - #define MESH_INSET 10 // Set Mesh bounds as an inset region of the bed + #define MESH_INSET 20 // Set Mesh bounds as an inset region of the bed #define GRID_MAX_POINTS_X 3 // Don't use more than 7 points per axis, implementation limited. #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X @@ -1697,7 +1789,7 @@ * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. */ -//#define LCD_BED_LEVELING +#define LCD_BED_LEVELING #if ENABLED(LCD_BED_LEVELING) #define MESH_EDIT_Z_STEP 0.025 // (mm) Step size while manually probing Z axis. @@ -1709,8 +1801,8 @@ #define LEVEL_BED_CORNERS #if ENABLED(LEVEL_BED_CORNERS) - #define LEVEL_CORNERS_INSET_LFRB { 50, 50, 50, 50 } // (mm) Left, Front, Right, Back insets - #define LEVEL_CORNERS_HEIGHT 0.2 // (mm) Z height of nozzle at leveling points + #define LEVEL_CORNERS_INSET_LFRB { 30, 30, 30, 30 } // (mm) Left, Front, Right, Back insets + #define LEVEL_CORNERS_HEIGHT 0.0 // (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_CORNERS_USE_PROBE @@ -1767,7 +1859,9 @@ * - Allows Z homing only when XY positions are known and trusted. * - If stepper drivers sleep, XY homing may be required again before Z homing. */ -//#define Z_SAFE_HOMING +#if HAS_BLTOUCH + #define Z_SAFE_HOMING +#endif #if ENABLED(Z_SAFE_HOMING) #define Z_SAFE_HOMING_X_POINT X_CENTER // X point for Z homing @@ -1775,7 +1869,7 @@ #endif // Homing speeds (mm/min) -#define HOMING_FEEDRATE_MM_M { (50*60), (50*60), (15*60) } +#define HOMING_FEEDRATE_MM_M { (2400), (2400), (10*60) } // Validate that endstops are triggered on homing moves #define VALIDATE_HOMING_ENDSTOPS @@ -1887,14 +1981,14 @@ // Preheat Constants - Up to 5 are supported without changes // #define PREHEAT_1_LABEL "PLA" -#define PREHEAT_1_TEMP_HOTEND 200 +#define PREHEAT_1_TEMP_HOTEND 200 #define PREHEAT_1_TEMP_BED 50 #define PREHEAT_1_TEMP_CHAMBER 35 #define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255 #define PREHEAT_2_LABEL "PETG" -#define PREHEAT_2_TEMP_HOTEND 240 -#define PREHEAT_2_TEMP_BED 75 +#define PREHEAT_2_TEMP_HOTEND 230 +#define PREHEAT_2_TEMP_BED 75 #define PREHEAT_2_TEMP_CHAMBER 35 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 @@ -1919,11 +2013,11 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z_raise } - #define NOZZLE_PARK_POINT { 5, 5, 10 } - #define NOZZLE_PARK_X_ONLY // X move only is required to park + #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MIN_POS + 10), 20 } + //#define NOZZLE_PARK_X_ONLY // X move only is required to park //#define NOZZLE_PARK_Y_ONLY // Y move only is required to park #define NOZZLE_PARK_Z_RAISE_MIN 2 // (mm) Always raise Z by at least this distance - #define NOZZLE_PARK_XY_FEEDRATE 50 // (mm/s) X and Y axes feedrate (also used for delta Z axis) + #define NOZZLE_PARK_XY_FEEDRATE 100 // (mm/s) X and Y axes feedrate (also used for delta Z axis) #define NOZZLE_PARK_Z_FEEDRATE 5 // (mm/s) Z axis feedrate (not used for delta printers) #endif @@ -2139,7 +2233,7 @@ * * Use CRC checks and retries on the SD communication. */ -//#define SD_CHECK_AND_RETRY +#define SD_CHECK_AND_RETRY /** * LCD Menu Items @@ -2202,7 +2296,7 @@ // // Add individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu. // -#define INDIVIDUAL_AXIS_HOMING_MENU +//#define INDIVIDUAL_AXIS_HOMING_MENU //#define INDIVIDUAL_AXIS_HOMING_SUBMENU // @@ -2838,7 +2932,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_IDLE_SLEEP 300 // (secs) Turn off the TFT backlight if set (5mn) + //#define TOUCH_IDLE_SLEEP 300 // (secs) Turn off the TFT backlight if set (5mn) #define TOUCH_SCREEN_CALIBRATION @@ -2879,26 +2973,23 @@ // :[1,2,3,4,5,6,7,8] //#define NUM_M106_FANS 1 -// Increase the FAN PWM frequency. Removes the PWM noise but increases heating in the FET/Arduino -//#define FAST_PWM_FAN - // 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. // However, control resolution will be halved for each increment; // at zero value, there are 128 effective control positions. // :[0,1,2,3,4,5,6,7] -#define SOFT_PWM_SCALE 1 +#define SOFT_PWM_SCALE 0 // If SOFT_PWM_SCALE is set to a value higher than 0, dithering can // be used to mitigate the associated resolution loss. If enabled, // some of the PWM cycles are stretched so on average the desired // duty cycle is attained. -#define SOFT_PWM_DITHER +//#define SOFT_PWM_DITHER // Temperature status LEDs that display the hotend and bed temperature. // If all hotends, bed temperature, and target temperature are under 54C diff --git a/config/examples/Elegoo/Neptune 2/Configuration_adv.h b/config/examples/Elegoo/Neptune 2/Configuration_adv.h index 5ff81e7c7e..6053169bea 100644 --- a/config/examples/Elegoo/Neptune 2/Configuration_adv.h +++ b/config/examples/Elegoo/Neptune 2/Configuration_adv.h @@ -283,8 +283,8 @@ * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD */ #if ENABLED(THERMAL_PROTECTION_HOTENDS) - #define THERMAL_PROTECTION_PERIOD 60 // Seconds - #define THERMAL_PROTECTION_HYSTERESIS 5 // Degrees Celsius + #define THERMAL_PROTECTION_PERIOD 40 // Seconds + #define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius //#define ADAPTIVE_FAN_SLOWING // Slow part cooling fan if temperature drops #if BOTH(ADAPTIVE_FAN_SLOWING, PIDTEMP) @@ -311,13 +311,13 @@ * Thermal Protection parameters for the bed are just as above for hotends. */ #if ENABLED(THERMAL_PROTECTION_BED) - #define THERMAL_PROTECTION_BED_PERIOD 60 // Seconds - #define THERMAL_PROTECTION_BED_HYSTERESIS 5 // Degrees Celsius + #define THERMAL_PROTECTION_BED_PERIOD 40 // Seconds + #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius /** * As described above, except for the bed (M140/M190/M303). */ - #define WATCH_BED_TEMP_PERIOD 120 // Seconds + #define WATCH_BED_TEMP_PERIOD 60 // Seconds #define WATCH_BED_TEMP_INCREASE 2 // Degrees Celsius #endif @@ -486,7 +486,7 @@ * Hotend Idle Timeout * Prevent filament in the nozzle from charring and causing a critical jam. */ -//#define HOTEND_IDLE_TIMEOUT +#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 180 // (°C) Minimum temperature to enable hotend protection @@ -532,7 +532,7 @@ // When first starting the main fan, run it at full speed for the // given number of milliseconds. This gets the fan spinning reliably // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) -//#define FAN_KICKSTART_TIME 100 +#define FAN_KICKSTART_TIME 100 // Some coolers may require a non-zero "off" state. //#define FAN_OFF_PWM 1 @@ -549,22 +549,25 @@ * * Define one or both of these to override the default 0-255 range. */ -#define FAN_MIN_PWM 100 -#define FAN_MAX_PWM 255 +//#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 /** - * FAST PWM FAN Settings + * Fan Fast PWM * - * Use to change the FAST FAN PWM frequency (if enabled in Configuration.h) - * Combinations of PWM Modes, prescale values and TOP resolutions are used internally to produce a - * frequency as close as possible to the desired frequency. + * Combinations of PWM Modes, prescale values and TOP resolutions are used internally + * to produce a frequency as close as possible to the desired frequency. * - * FAST_PWM_FAN_FREQUENCY [undefined by default] + * FAST_PWM_FAN_FREQUENCY * Set this to your desired frequency. - * If left undefined this defaults to F = F_CPU/(2*255*1) - * i.e., F = 31.4kHz on 16MHz microcontrollers or F = 39.2kHz on 20MHz microcontrollers. - * These defaults are the same as with the old FAST_PWM_FAN implementation - no migration is required + * For AVR, if left undefined this defaults to F = F_CPU/(2*255*1) + * i.e., F = 31.4kHz on 16MHz microcontrollers or F = 39.2kHz on 20MHz microcontrollers. + * For non AVR, if left undefined this defaults to F = 1Khz. + * This F value is only to protect the hardware from an absence of configuration + * and not to complete it when users are not aware that the frequency must be specifically set to support the target board. + * * NOTE: Setting very low frequencies (< 10 Hz) may result in unexpected timer behavior. + * Setting very high frequencies can damage your hardware. * * USE_OCR2A_AS_TOP [undefined by default] * Boards that use TIMER2 for PWM have limitations resulting in only a few possible frequencies on TIMER2: @@ -574,9 +577,17 @@ * PWM on pin OC2A. Only use this option if you don't need PWM on 0C2A. (Check your schematic.) * USE_OCR2A_AS_TOP sacrifices duty cycle control resolution to achieve this broader range of frequencies. */ +//#define FAST_PWM_FAN // Increase the fan PWM frequency. Removes the PWM noise but increases heating in the FET/Arduino #if ENABLED(FAST_PWM_FAN) - //#define FAST_PWM_FAN_FREQUENCY 31400 + //#define FAST_PWM_FAN_FREQUENCY 31400 // Define here to override the defaults below //#define USE_OCR2A_AS_TOP + #ifndef FAST_PWM_FAN_FREQUENCY + #ifdef __AVR__ + #define FAST_PWM_FAN_FREQUENCY ((F_CPU) / (2 * 255 * 1)) + #else + #define FAST_PWM_FAN_FREQUENCY 1000U + #endif + #endif #endif /** @@ -598,8 +609,8 @@ * Multiple extruders can be assigned to the same pin in which case * the fan will turn on when any selected extruder is above the threshold. */ -#define E0_AUTO_FAN_PIN PB0 -#define E1_AUTO_FAN_PIN -1 +#define E0_AUTO_FAN_PIN FAN1_PIN +#define E1_AUTO_FAN_PIN FAN1_PIN #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 @@ -839,7 +850,7 @@ //#define HOMING_BACKOFF_POST_MM { 2, 2, 2 } // (mm) Backoff from endstops after homing -//#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 @@ -982,7 +993,7 @@ #if ENABLED(ASSISTED_TRAMMING) // Define positions for probe points. - #define TRAMMING_POINT_XY { { 20, 20 }, { 180, 20 }, { 180, 180 }, { 20, 180 } } + #define TRAMMING_POINT_XY { { 53, 35 }, { 200, 35 }, { 200, 200 }, { 53, 200 } } // Define position names for probe points. #define TRAMMING_POINT_NAME_1 "Front-Left" @@ -1172,7 +1183,7 @@ * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the * lowest stepping frequencies. */ -//#define ADAPTIVE_STEP_SMOOTHING +#define ADAPTIVE_STEP_SMOOTHING /** * Custom Microstepping @@ -1273,17 +1284,17 @@ // Add Probe Z Offset calibration to the Z Probe Offsets menu #if HAS_BED_PROBE - //#define PROBE_OFFSET_WIZARD + #define PROBE_OFFSET_WIZARD #if ENABLED(PROBE_OFFSET_WIZARD) // // Enable to init the Probe Z-Offset when starting the Wizard. // Use a height slightly above the estimated nozzle-to-probe Z offset. // For example, with an offset of -5, consider a starting height of -4. // - //#define PROBE_OFFSET_WIZARD_START_Z -4.0 + #define PROBE_OFFSET_WIZARD_START_Z 0 // Set a convenient position to do the calibration (probing point and nozzle/bed-distance) - //#define PROBE_OFFSET_WIZARD_XY_POS { X_CENTER, Y_CENTER } + #define PROBE_OFFSET_WIZARD_XY_POS { X_CENTER, Y_CENTER } #endif #if ENABLED(AUTO_BED_LEVELING_BILINEAR) @@ -1359,13 +1370,13 @@ #endif // Scroll a longer status message into view - #define STATUS_MESSAGE_SCROLLING + //#define STATUS_MESSAGE_SCROLLING // On the Info Screen, display XY with one decimal place when possible //#define LCD_DECIMAL_SMALL_XY // Add an 'M73' G-code to set the current percentage - #define LCD_SET_PROGRESS_MANUALLY + //#define LCD_SET_PROGRESS_MANUALLY // Show the E position (filament used) during printing //#define LCD_SHOW_E_TOTAL @@ -1452,7 +1463,7 @@ */ //#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 PLR_ENABLED_DEFAULT true // 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_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. @@ -1522,7 +1533,7 @@ #define SCROLL_LONG_FILENAMES // Leave the heaters on after Stop Print (not recommended!) - #define SD_ABORT_NO_COOLDOWN + //#define SD_ABORT_NO_COOLDOWN /** * This option allows you to abort SD printing when any endstop is triggered. @@ -1608,7 +1619,7 @@ //#define CONFIGURATION_EMBEDDING // Add an optimized binary file transfer mode, initiated with 'M28 B1' - #define BINARY_FILE_TRANSFER + //#define BINARY_FILE_TRANSFER #if ENABLED(BINARY_FILE_TRANSFER) // Include extra facilities (e.g., 'M20 F') supporting firmware upload via BINARY_FILE_TRANSFER @@ -1724,7 +1735,7 @@ #if HAS_MARLINUI_U8GLIB || IS_DWIN_MARLINUI // Show SD percentage next to the progress bar - //#define SHOW_SD_PERCENT + #define SHOW_SD_PERCENT // Enable to save many cycles by drawing a hollow frame on Menu Screens #define MENU_HOLLOW_FRAME @@ -1963,7 +1974,9 @@ //#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28 - //#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping + #if HAS_BLTOUCH + #define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping + #endif #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 @@ -2264,18 +2277,18 @@ // For debug-echo: 128 bytes for the optimal speed. // Other output doesn't need to be that speedy. // :[0, 2, 4, 8, 16, 32, 64, 128, 256] -#define TX_BUFFER_SIZE 32 +#define TX_BUFFER_SIZE 0 // Host Receive Buffer Size // Without XON/XOFF flow control (see SERIAL_XON_XOFF below) 32 bytes should be enough. // To use flow control, set this buffer size to at least 1024 bytes. // :[0, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048] -#define RX_BUFFER_SIZE 1024 +//#define RX_BUFFER_SIZE 1024 #if RX_BUFFER_SIZE >= 1024 // Enable to have the controller send XON/XOFF control characters to // the host to signal the RX buffer is becoming full. - #define SERIAL_XON_XOFF + //#define SERIAL_XON_XOFF #endif #if ENABLED(SDSUPPORT) @@ -2302,7 +2315,7 @@ * Currently handles M108, M112, M410, M876 * NOTE: Not yet implemented for all platforms. */ -#define EMERGENCY_PARSER +//#define EMERGENCY_PARSER /** * Realtime Reporting (requires EMERGENCY_PARSER) @@ -2331,7 +2344,7 @@ //#define NO_TIMEOUTS 1000 // Milliseconds // Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary. -#define ADVANCED_OK +//#define ADVANCED_OK // Printrun may have trouble receiving long strings all at once. // This option inserts short delays between lines of serial output. @@ -2416,10 +2429,10 @@ * Retract and prime filament on tool-change to reduce * ooze and stringing and to get cleaner transitions. */ - //#define TOOLCHANGE_FILAMENT_SWAP + #define TOOLCHANGE_FILAMENT_SWAP #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) // Load / Unload - #define TOOLCHANGE_FS_LENGTH 12 // (mm) Load / Unload length + #define TOOLCHANGE_FS_LENGTH 80 // (mm) Load / Unload length #define TOOLCHANGE_FS_EXTRA_RESUME_LENGTH 0 // (mm) Extra length for better restart, fine tune by LCD/Gcode) #define TOOLCHANGE_FS_RETRACT_SPEED (50*60) // (mm/min) (Unloading) #define TOOLCHANGE_FS_UNRETRACT_SPEED (25*60) // (mm/min) (On SINGLENOZZLE or Bowden loading must be slowed down) @@ -2483,20 +2496,20 @@ #define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + #define PAUSE_PARK_RETRACT_LENGTH 3 // (mm) Initial retract. // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 30 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 15 // (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 400 // (mm) The length of filament for a complete unload. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 200 // (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. #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. // 0 to disable start loading and skip to fast load only - #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 30 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 15 // (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 400 // (mm) Load length of filament, from extruder gear to nozzle. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 200 // (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. @@ -2505,7 +2518,7 @@ // Set to 0 for manual extrusion. // Filament can be extruded repeatedly from the Filament Change menu // until extrusion is consistent, and to purge old filament. - #define ADVANCED_PAUSE_RESUME_PRIME 10 // (mm) Extra distance to prime nozzle after returning from park. + #define ADVANCED_PAUSE_RESUME_PRIME 10 // (mm) Extra distance to prime nozzle after returning from park. #define ADVANCED_PAUSE_FANS_PAUSE // Turn off print-cooling fans while the machine is paused. // Filament Unload does a Retract, Delay, and Purge first: @@ -2514,8 +2527,8 @@ #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. #define FILAMENT_UNLOAD_PURGE_FEEDRATE 25 // (mm/s) feedrate to purge before unload - #define PAUSE_PARK_NOZZLE_TIMEOUT 300 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 3 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 3 // Number of alert beeps to play when a response is needed. #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. //#define FILAMENT_CHANGE_RESUME_ON_INSERT // Automatically continue / load filament when runout sensor is triggered again. //#define PAUSE_REHEAT_FAST_RESUME // Reduce number of waits by not prompting again post-timeout before continuing. @@ -2523,7 +2536,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 @@ -2964,7 +2977,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) @@ -3737,7 +3750,7 @@ */ #define EXTENDED_CAPABILITIES_REPORT #if ENABLED(EXTENDED_CAPABILITIES_REPORT) - #define M115_GEOMETRY_REPORT + //#define M115_GEOMETRY_REPORT #endif /** @@ -3782,11 +3795,11 @@ * - M206 and M428 are disabled. * - G92 will revert to its behavior from Marlin 1.0. */ -//#define NO_WORKSPACE_OFFSETS +#define NO_WORKSPACE_OFFSETS // Extra options for the M114 "Current Position" report //#define M114_DETAIL // Use 'M114` for details to check planner calculations -#define M114_REALTIME // Real current position based on forward kinematics +//#define M114_REALTIME // Real current position based on forward kinematics //#define M114_LEGACY // M114 used to synchronize on every call. Enable if needed. //#define REPORT_FAN_CHANGE // Report the new fan speed when changed by M106 (and others) @@ -3967,7 +3980,7 @@ #if ENABLED(HOST_ACTION_COMMANDS) #define HOST_PAUSE_M76 #define HOST_PROMPT_SUPPORT - #define HOST_START_MENU_ITEM // Add a menu item that tells the host to start + //#define HOST_START_MENU_ITEM // Add a menu item that tells the host to start //#define HOST_SHUTDOWN_MENU_ITEM // Add a menu item that tells the host to shut down #endif diff --git a/config/examples/Elegoo/Neptune 2/readme.md b/config/examples/Elegoo/Neptune 2/readme.md index f9b5c24dc5..3aac3005f1 100644 --- a/config/examples/Elegoo/Neptune 2/readme.md +++ b/config/examples/Elegoo/Neptune 2/readme.md @@ -1 +1,22 @@ -When updating the firmware from the SD card, the firmware file must be named 'elegoo.bin'. \ No newline at end of file +# Elegoo Neptune 2/Neptune 2D/Neptune 2S Configuration + +*IMPORTANT:* Once compiled, be sure to rename `Robin_nano35.bin` to `elegoo.bin` before flashing. + +Compiled binaries of configurations are available here: https://github.com/just-trey/Marlin/tree/elegoo-neptune-2/config/Elegoo/Neptune-2 + +The configuration provided has custom switches in the `Configuration.h` file `// @section custom` to simplify the build options. This configuration supports the ZNP Robin Nano 1.2 and 1.3 Boards with only minor changes in `// @section custom` and a `default_envs` change in the `platformio.ini` file. The configuration is currently set for the 1.3 board without BLTouch, which is the most common option. + +NOTE: The original Neptune 2 and 2S use the same configurations except the 2S is always a 1.2 version of the board. +## For ZNP Robin Nano 1.2 boards: + - In the `Configuration.h` file, ensure `#define IS_BOARD_1_3` is set to `false`. + - Update/Ensure `default_envs = mks_robin_nano35` in the `platformio.ini` file. + +## For ZNP Robin Nano 1.3 boards: + - In the `Configuration.h` file, ensure `#define IS_BOARD_1_3` is set to `true`. + - In the `platformio.ini` file update/ensure `default_envs = mks_robin_nano_v1_3_f4`. + +## To enable BlTouch (All boards): + - In the `Configuration.h` file, ensure `#define HAS_BLTOUCH` is set to `true`. + +## For the Neptune 2D (All boards): + - In the `Configuration.h` file, ensure `#define IS_2D` is set to `true`.