@ -69,7 +69,7 @@
// @section info
// @section info
// Author info of this build printed to the host during boot and M115
// Author info of this build printed to the host during boot and M115
# define STRING_CONFIG_H_AUTHOR "(none, default config )" // Who made the changes.
# define STRING_CONFIG_H_AUTHOR "(Sergey, FlyingbearGhost4S / 5 )" // Who made the changes.
//#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes)
//#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes)
/**
/**
@ -102,7 +102,7 @@
*
*
* : [ - 1 , 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ]
* : [ - 1 , 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ]
*/
*/
# define SERIAL_PORT 0
# define SERIAL_PORT 3
/**
/**
* Serial Port Baud Rate
* Serial Port Baud Rate
@ -115,7 +115,7 @@
*
*
* : [ 2400 , 9600 , 19200 , 38400 , 57600 , 115200 , 250000 , 500000 , 1000000 ]
* : [ 2400 , 9600 , 19200 , 38400 , 57600 , 115200 , 250000 , 500000 , 1000000 ]
*/
*/
# define BAUDRATE 2500 00
# define BAUDRATE 1152 00
//#define BAUD_RATE_GCODE // Enable G-code M575 to set the baud rate
//#define BAUD_RATE_GCODE // Enable G-code M575 to set the baud rate
/**
/**
@ -123,8 +123,8 @@
* Currently Ethernet ( - 2 ) is only supported on Teensy 4.1 boards .
* Currently Ethernet ( - 2 ) is only supported on Teensy 4.1 boards .
* : [ - 2 , - 1 , 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ]
* : [ - 2 , - 1 , 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ]
*/
*/
//#define SERIAL_PORT_2 -1
# define SERIAL_PORT_2 1
//#define BAUDRATE_2 250000 // Enable to override BAUDRATE
# define BAUDRATE_2 115200 // Enable to override BAUDRATE
/**
/**
* Select a third serial port on the board to use for communication with the host .
* Select a third serial port on the board to use for communication with the host .
@ -139,11 +139,11 @@
// Choose the name from boards.h that matches your setup
// Choose the name from boards.h that matches your setup
# ifndef MOTHERBOARD
# ifndef MOTHERBOARD
# define MOTHERBOARD BOARD_RAMPS_14_EFB
# define MOTHERBOARD BOARD_MKS_ROBIN_NANO
# endif
# endif
// Name displayed in the LCD "Ready" message and Info menu
// Name displayed in the LCD "Ready" message and Info menu
//#define CUSTOM_MACHINE_NAME "3D Printer"
# define CUSTOM_MACHINE_NAME "FBGhost 4s / 5"
// Printer's unique ID, used by some programs to differentiate between machines.
// 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
// Choose your own or use a service like https://www.uuidgenerator.net/version4
@ -490,7 +490,7 @@
# define TEMP_SENSOR_5 0
# define TEMP_SENSOR_5 0
# define TEMP_SENSOR_6 0
# define TEMP_SENSOR_6 0
# define TEMP_SENSOR_7 0
# define TEMP_SENSOR_7 0
# define TEMP_SENSOR_BED 0
# define TEMP_SENSOR_BED 1
# define TEMP_SENSOR_PROBE 0
# define TEMP_SENSOR_PROBE 0
# define TEMP_SENSOR_CHAMBER 0
# define TEMP_SENSOR_CHAMBER 0
# define TEMP_SENSOR_COOLER 0
# define TEMP_SENSOR_COOLER 0
@ -589,21 +589,21 @@
# define PID_K1 0.95 // Smoothing factor within any PID loop
# define PID_K1 0.95 // Smoothing factor within any PID loop
# if ENABLED(PIDTEMP)
# 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_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)
//#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]
// Set/get with gcode: M301 E[extruder number, 0-2]
# if ENABLED(PID_PARAMS_PER_HOTEND)
# if ENABLED(PID_PARAMS_PER_HOTEND)
// Specify between 1 and HOTENDS values per array.
// Specify between 1 and HOTENDS values per array.
// If fewer than EXTRUDER values are provided, the last element will be repeated.
// If fewer than EXTRUDER values are provided, the last element will be repeated.
# define DEFAULT_Kp_LIST { 22.20, 22.2 0 }
# define DEFAULT_Kp_LIST { 22.20, 20. 0 }
# define DEFAULT_Ki_LIST { 1.08, 1.08 }
# define DEFAULT_Ki_LIST { 1.08, 1.0 }
# define DEFAULT_Kd_LIST { 114.00, 114.0 0 }
# define DEFAULT_Kd_LIST { 114.00, 112. 0 }
# else
# else
# define DEFAULT_Kp 22.20
# define DEFAULT_Kp 17.04
# define DEFAULT_Ki 1.08
# define DEFAULT_Ki 1.31
# define DEFAULT_Kd 114.00
# define DEFAULT_Kd 55.34
# endif
# endif
# endif // PIDTEMP
# endif // PIDTEMP
@ -624,7 +624,7 @@
* heater . If your configuration is significantly different than this and you don ' t understand
* 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 .
* the issues involved , don ' t use bed PID until someone else verifies that your hardware works .
*/
*/
//#define PIDTEMPBED
# define PIDTEMPBED
//#define BED_LIMIT_SWITCHING
//#define BED_LIMIT_SWITCHING
@ -642,10 +642,9 @@
// 120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
// 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)
// from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
# define DEFAULT_bedKp 10.00
# define DEFAULT_bedKp 40.68
# define DEFAULT_bedKi .023
# define DEFAULT_bedKi 7.93
# define DEFAULT_bedKd 305.4
# define DEFAULT_bedKd 139.15
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
# endif // PIDTEMPBED
# endif // PIDTEMPBED
@ -697,7 +696,7 @@
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
# define PID_FUNCTIONAL_RANGE 1 0 // If the temperature difference between the target temperature and the actual temperature
# define PID_FUNCTIONAL_RANGE 2 0 // If the temperature difference between the target temperature and the actual temperature
// is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
// is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
# endif
# endif
@ -718,7 +717,7 @@
* Note : For Bowden Extruders make this large enough to allow load / unload .
* Note : For Bowden Extruders make this large enough to allow load / unload .
*/
*/
# define PREVENT_LENGTHY_EXTRUDE
# define PREVENT_LENGTHY_EXTRUDE
# define EXTRUDE_MAXLENGTH 20 0
# define EXTRUDE_MAXLENGTH 71 0
//===========================================================================
//===========================================================================
//======================== Thermal Runaway Protection =======================
//======================== Thermal Runaway Protection =======================
@ -819,19 +818,19 @@
# endif
# endif
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
# define X_MIN_ENDSTOP_INVERTING fals e // Set to true to invert the logic of the endstop.
# define X_MIN_ENDSTOP_INVERTING tru e // Set to true to invert the logic of the endstop.
# define Y_MIN_ENDSTOP_INVERTING fals e // Set to true to invert the logic of the endstop.
# define Y_MIN_ENDSTOP_INVERTING tru e // Set to true to invert the logic of the endstop.
# define Z_MIN_ENDSTOP_INVERTING fals e // Set to true to invert the logic of the endstop.
# define Z_MIN_ENDSTOP_INVERTING tru e // Set to true to invert the logic of the endstop.
# define I_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
# define I_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
# define J_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
# 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 K_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
# define X_MAX_ENDSTOP_INVERTING fals e // Set to true to invert the logic of the endstop.
# define X_MAX_ENDSTOP_INVERTING tru e // Set to true to invert the logic of the endstop.
# define Y_MAX_ENDSTOP_INVERTING fals e // Set to true to invert the logic of the endstop.
# define Y_MAX_ENDSTOP_INVERTING tru e // Set to true to invert the logic of the endstop.
# define Z_MAX_ENDSTOP_INVERTING fals e // Set to true to invert the logic of the endstop.
# define Z_MAX_ENDSTOP_INVERTING tru e // 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 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 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 K_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
# define Z_MIN_PROBE_ENDSTOP_INVERTING fals e // Set to true to invert the logic of the probe.
# define Z_MIN_PROBE_ENDSTOP_INVERTING tru e // Set to true to invert the logic of the probe.
/**
/**
* Stepper Drivers
* Stepper Drivers
@ -873,7 +872,7 @@
// Enable this feature if all enabled endstop pins are interrupt-capable.
// Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles.
// This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE
# define ENDSTOP_INTERRUPTS_FEATURE
/**
/**
* Endstop Noise Threshold
* Endstop Noise Threshold
@ -890,7 +889,7 @@
//#define ENDSTOP_NOISE_THRESHOLD 2
//#define ENDSTOP_NOISE_THRESHOLD 2
// Check for stuck or disconnected endstops during homing moves.
// Check for stuck or disconnected endstops during homing moves.
//#define DETECT_BROKEN_ENDSTOP
# define DETECT_BROKEN_ENDSTOP
//=============================================================================
//=============================================================================
//============================== Movement Settings ============================
//============================== Movement Settings ============================
@ -917,18 +916,18 @@
* Override with M92
* Override with M92
* X , Y , Z [ , I [ , J [ , K ] ] ] , E0 [ , E1 [ , E2 . . . ] ]
* X , Y , Z [ , I [ , J [ , K ] ] ] , E0 [ , E1 [ , E2 . . . ] ]
*/
*/
# define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 5 00 }
# define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 4 00 }
/**
/**
* Default Max Feed Rate ( mm / s )
* Default Max Feed Rate ( mm / s )
* Override with M203
* Override with M203
* X , Y , Z [ , I [ , J [ , K ] ] ] , E0 [ , E1 [ , E2 . . . ] ]
* X , Y , Z [ , I [ , J [ , K ] ] ] , E0 [ , E1 [ , E2 . . . ] ]
*/
*/
# define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 }
# define DEFAULT_MAX_FEEDRATE { 200, 200, 4, 50 }
//#define LIMITED_MAX_FR_EDITING // Limit edit via M203 or LCD to DEFAULT_MAX_FEEDRATE * 2
# define LIMITED_MAX_FR_EDITING // Limit edit via M203 or LCD to DEFAULT_MAX_FEEDRATE * 2
# if ENABLED(LIMITED_MAX_FR_EDITING)
# if ENABLED(LIMITED_MAX_FR_EDITING)
# define MAX_FEEDRATE_EDIT_VALUES { 600, 600, 10, 5 0 } // ...or, set your own edit limits
# define MAX_FEEDRATE_EDIT_VALUES { 300, 300, 10, 7 0 } // ...or, set your own edit limits
# endif
# endif
/**
/**
@ -937,11 +936,11 @@
* Override with M201
* Override with M201
* X , Y , Z [ , I [ , J [ , K ] ] ] , E0 [ , E1 [ , E2 . . . ] ]
* X , Y , Z [ , I [ , J [ , K ] ] ] , E0 [ , E1 [ , E2 . . . ] ]
*/
*/
# define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10 000 }
# define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 3 000 }
//#define LIMITED_MAX_ACCEL_EDITING // Limit edit via M201 or LCD to DEFAULT_MAX_ACCELERATION * 2
# define LIMITED_MAX_ACCEL_EDITING // Limit edit via M201 or LCD to DEFAULT_MAX_ACCELERATION * 2
# if ENABLED(LIMITED_MAX_ACCEL_EDITING)
# if ENABLED(LIMITED_MAX_ACCEL_EDITING)
# define MAX_ACCEL_EDIT_VALUES { 6000, 6000, 200, 20 000 } // ...or, set your own edit limits
# define MAX_ACCEL_EDIT_VALUES { 5000, 5000, 100, 5 000 } // ...or, set your own edit limits
# endif
# endif
/**
/**
@ -952,9 +951,9 @@
* M204 R Retract Acceleration
* M204 R Retract Acceleration
* M204 T Travel Acceleration
* M204 T Travel Acceleration
*/
*/
# define DEFAULT_ACCELERATION 30 00 // X, Y, Z and E acceleration for printing moves
# define DEFAULT_ACCELERATION 15 00 // X, Y, Z and E acceleration for printing moves
# define DEFAULT_RETRACT_ACCELERATION 3 000 // E acceleration for retracts
# define DEFAULT_RETRACT_ACCELERATION 2 000 // E acceleration for retracts
# define DEFAULT_TRAVEL_ACCELERATION 3 000 // X, Y, Z acceleration for travel (non printing) moves
# define DEFAULT_TRAVEL_ACCELERATION 1 000 // X, Y, Z acceleration for travel (non printing) moves
/**
/**
* Default Jerk limits ( mm / s )
* Default Jerk limits ( mm / s )
@ -964,24 +963,24 @@
* When changing speed and direction , if the difference is less than the
* When changing speed and direction , if the difference is less than the
* value set here , it may happen instantaneously .
* value set here , it may happen instantaneously .
*/
*/
//#define CLASSIC_JERK
# define CLASSIC_JERK
# if ENABLED(CLASSIC_JERK)
# if ENABLED(CLASSIC_JERK)
# define DEFAULT_XJERK 10.0
# define DEFAULT_XJERK 10.0
# define DEFAULT_YJERK 10.0
# define DEFAULT_YJERK 10.0
# define DEFAULT_ZJERK 0.3
# define DEFAULT_ZJERK 0.5
//#define DEFAULT_IJERK 0.3
//#define DEFAULT_IJERK 0.3
//#define DEFAULT_JJERK 0.3
//#define DEFAULT_JJERK 0.3
//#define DEFAULT_KJERK 0.3
//#define DEFAULT_KJERK 0.3
//#define TRAVEL_EXTRA_XYJERK 0.0 // Additional jerk allowance for all travel moves
//#define TRAVEL_EXTRA_XYJERK 0.0 // Additional jerk allowance for all travel moves
//#define LIMITED_JERK_EDITING // Limit edit via M205 or LCD to DEFAULT_aJERK * 2
# define LIMITED_JERK_EDITING // Limit edit via M205 or LCD to DEFAULT_aJERK * 2
# if ENABLED(LIMITED_JERK_EDITING)
# if ENABLED(LIMITED_JERK_EDITING)
# define MAX_JERK_EDIT_VALUES { 20, 20, 0.6, 1 0 } // ...or, set your own edit limits
# define MAX_JERK_EDIT_VALUES { 30, 30, 2, 2 0 } // ...or, set your own edit limits
# endif
# endif
# endif
# endif
# define DEFAULT_EJERK 5. 0 // May be used by Linear Advance
# define DEFAULT_EJERK 1 0 // May be used by Linear Advance
/**
/**
* Junction Deviation Factor
* Junction Deviation Factor
@ -991,7 +990,7 @@
* https : //blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html
* https : //blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html
*/
*/
# if DISABLED(CLASSIC_JERK)
# if DISABLED(CLASSIC_JERK)
# define JUNCTION_DEVIATION_MM 0.013 // (mm) Distance from real junction edge
# define JUNCTION_DEVIATION_MM 0.12 // (mm) Distance from real junction edge
# define JD_HANDLE_SMALL_SEGMENTS // Use curvature estimation instead of just the junction angle
# define JD_HANDLE_SMALL_SEGMENTS // Use curvature estimation instead of just the junction angle
// for small segments (< 1mm) with large junction angles (> 135°).
// for small segments (< 1mm) with large junction angles (> 135°).
# endif
# endif
@ -1004,7 +1003,7 @@
*
*
* See https : //github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained
* See https : //github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained
*/
*/
//#define S_CURVE_ACCELERATION
# define S_CURVE_ACCELERATION
//===========================================================================
//===========================================================================
//============================= Z Probe Options =============================
//============================= Z Probe Options =============================
@ -1054,7 +1053,7 @@
* Use G29 repeatedly , adjusting the Z height at each point with movement commands
* Use G29 repeatedly , adjusting the Z height at each point with movement commands
* or ( with LCD_BED_LEVELING ) the LCD controller .
* 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 .
* A Fix - Mounted Probe either doesn ' t deploy or needs manual deployment .
@ -1169,14 +1168,14 @@
* | [ - ] |
* | [ - ] |
* O - - FRONT - - +
* O - - FRONT - - +
*/
*/
# define NOZZLE_TO_PROBE_OFFSET { 1 0, 1 0, 0 }
# define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0 }
// Most probes should stay away from the edges of the bed, but
// 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.
// with NOZZLE_AS_PROBE this can be negative for a wider probing area.
# define PROBING_MARGIN 1 0
# define PROBING_MARGIN 0
// X and Y axis travel speed (mm/min) between probes
// X and Y axis travel speed (mm/min) between probes
# define XY_PROBE_FEEDRATE (133 *60)
# define XY_PROBE_FEEDRATE (40 *60)
// Feedrate (mm/min) for the first approach when double-probing (MULTIPLE_PROBING == 2)
// 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 (4*60)
@ -1220,8 +1219,8 @@
* A total of 2 does fast / slow probes with a weighted average .
* 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 .
* 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
# define EXTRA_PROBING 1
/**
/**
* Z probes require clearance when deploying , stowing , and moving between
* Z probes require clearance when deploying , stowing , and moving between
@ -1237,16 +1236,16 @@
* Example : ` M851 Z - 5 ` with a CLEARANCE of 4 = > 9 mm from bed to nozzle .
* Example : ` M851 Z - 5 ` with a CLEARANCE of 4 = > 9 mm from bed to nozzle .
* But : ` M851 Z + 1 ` with a CLEARANCE of 2 = > 2 mm from bed to nozzle .
* But : ` M851 Z + 1 ` with a CLEARANCE of 2 = > 2 mm from bed to nozzle .
*/
*/
# define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow
# define Z_CLEARANCE_DEPLOY_PROBE 7 // Z Clearance for Deploy/Stow
# define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
# define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
# define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes
# define Z_CLEARANCE_MULTI_PROBE 3 // Z Clearance between multiple probes
//#define Z_AFTER_PROBING 5 // Z position after probing is done
# define Z_AFTER_PROBING 5 // Z position after probing is done
# define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping
# define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping
// For M851 give a range for adjusting the Z probe offset
// For M851 give a range for adjusting the Z probe offset
# define Z_PROBE_OFFSET_RANGE_MIN -20
# define Z_PROBE_OFFSET_RANGE_MIN -3
# define Z_PROBE_OFFSET_RANGE_MAX 20
# define Z_PROBE_OFFSET_RANGE_MAX 3
// Enable the M48 repeatability test to test probe accuracy
// Enable the M48 repeatability test to test probe accuracy
//#define Z_MIN_PROBE_REPEATABILITY_TEST
//#define Z_MIN_PROBE_REPEATABILITY_TEST
@ -1310,10 +1309,43 @@
// @section machine
// @section machine
# define ALL_DRV_2208
//#define FB_4S_STOCK
//#define FB_5_STOCK
# ifdef ALL_DRV_2208
# define USR_E0_DIR true
# define USR_X_DIR false
# define USR_Y_DIR false
# define USR_Z_DIR true
# endif
# ifdef FB_4S_STOCK
# define USR_E0_DIR false
# define USR_X_DIR true
# define USR_Y_DIR true
# define USR_Z_DIR false
# endif
# ifdef FB_5_STOCK
# if MOTHERBOARD == BOARD_MKS_ROBIN_NANO_S_V13
# define USR_E0_DIR false
# define USR_X_DIR true
# define USR_Y_DIR true
# define USR_Z_DIR false
# else
# define USR_E0_DIR false
# define USR_X_DIR false
# define USR_Y_DIR false
# define USR_Z_DIR false
# endif
# endif
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
# define INVERT_X_DIR false
# define INVERT_X_DIR USR_X_DIR
# define INVERT_Y_DIR true
# define INVERT_Y_DIR USR_Y_DIR
# define INVERT_Z_DIR false
# define INVERT_Z_DIR USR_Z_DIR
//#define INVERT_I_DIR false
//#define INVERT_I_DIR false
//#define INVERT_J_DIR false
//#define INVERT_J_DIR false
//#define INVERT_K_DIR false
//#define INVERT_K_DIR false
@ -1321,8 +1353,8 @@
// @section extruder
// @section extruder
// For direct drive extruder v9 set to true, for geared extruder set to false.
// For direct drive extruder v9 set to true, for geared extruder set to false.
# define INVERT_E0_DIR false
# define INVERT_E0_DIR USR_E0_DIR
# define INVERT_E1_DIR fals e
# define INVERT_E1_DIR tru e
# define INVERT_E2_DIR false
# define INVERT_E2_DIR false
# define INVERT_E3_DIR false
# define INVERT_E3_DIR false
# define INVERT_E4_DIR false
# define INVERT_E4_DIR false
@ -1332,8 +1364,8 @@
// @section homing
// @section homing
//#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed. Also enable HOME_AFTER_DEACTIVATE for extra safety.
# define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed. Also enable HOME_AFTER_DEACTIVATE for extra safety.
//#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated. Also enable NO_MOTION_BEFORE_HOMING for extra safety.
# define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated. Also enable NO_MOTION_BEFORE_HOMING for extra safety.
/**
/**
* Set Z_IDLE_HEIGHT if the Z - Axis moves on its own when steppers are disabled .
* Set Z_IDLE_HEIGHT if the Z - Axis moves on its own when steppers are disabled .
@ -1342,10 +1374,10 @@
*/
*/
//#define Z_IDLE_HEIGHT Z_HOME_POS
//#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 2 // (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.
// 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
# define Z_AFTER_HOMING 10 // (mm) Height to move to after homing Z
// Direction of endstops when homing; 1=MAX, -1=MIN
// Direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
// :[-1,1]
@ -1359,14 +1391,14 @@
// @section machine
// @section machine
// The size of the printable area
// The size of the printable area
# define X_BED_SIZE 20 0
# define X_BED_SIZE 25 0
# define Y_BED_SIZE 20 0
# define Y_BED_SIZE 21 0
// Travel limits (mm) after homing, corresponding to endstop positions.
// Travel limits (mm) after homing, corresponding to endstop positions.
# define X_MIN_POS 0
# define X_MIN_POS 0
# define Y_MIN_POS 0
# define Y_MIN_POS 0
# define Z_MIN_POS 0
# define Z_MIN_POS 0
# define X_MAX_POS X_BED_SIZE
# define X_MAX_POS X_BED_SIZE+X_MIN_POS
# define Y_MAX_POS Y_BED_SIZE
# define Y_MAX_POS Y_BED_SIZE
# define Z_MAX_POS 200
# define Z_MAX_POS 200
//#define I_MIN_POS 0
//#define I_MIN_POS 0
@ -1408,7 +1440,7 @@
# endif
# endif
# if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS)
# 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
# endif
/**
/**
@ -1424,9 +1456,9 @@
* RAMPS - based boards use SERVO3_PIN for the first runout sensor .
* RAMPS - based boards use SERVO3_PIN for the first runout sensor .
* For other boards you may need to define FIL_RUNOUT_PIN , FIL_RUNOUT2_PIN , etc .
* For other boards you may need to define FIL_RUNOUT_PIN , FIL_RUNOUT2_PIN , etc .
*/
*/
//#define FILAMENT_RUNOUT_SENSOR
# define FILAMENT_RUNOUT_SENSOR
# if ENABLED(FILAMENT_RUNOUT_SENSOR)
# if ENABLED(FILAMENT_RUNOUT_SENSOR)
# define FIL_RUNOUT_ENABLED_DEFAULT tru e // Enable the sensor on startup. Override with M412 followed by M500.
# define FIL_RUNOUT_ENABLED_DEFAULT fals e // 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.
# define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each.
# define FIL_RUNOUT_STATE LOW // Pin state indicating that filament is NOT present.
# define FIL_RUNOUT_STATE LOW // Pin state indicating that filament is NOT present.
@ -1476,7 +1508,7 @@
// After a runout is detected, continue printing this length of filament
// After a runout is detected, continue printing this length of filament
// before executing the runout script. Useful for a sensor at the end of
// before executing the runout script. Useful for a sensor at the end of
// a feed tube. Requires 4 bytes SRAM per sensor, plus 4 bytes overhead.
// a feed tube. Requires 4 bytes SRAM per sensor, plus 4 bytes overhead.
//#define FILAMENT_RUNOUT_DISTANCE_MM 25
# define FILAMENT_RUNOUT_DISTANCE_MM 500
# ifdef FILAMENT_RUNOUT_DISTANCE_MM
# ifdef FILAMENT_RUNOUT_DISTANCE_MM
// Enable this option to use an encoder disc that toggles the runout pin
// Enable this option to use an encoder disc that toggles the runout pin
@ -1528,14 +1560,14 @@
//#define AUTO_BED_LEVELING_LINEAR
//#define AUTO_BED_LEVELING_LINEAR
//#define AUTO_BED_LEVELING_BILINEAR
//#define AUTO_BED_LEVELING_BILINEAR
//#define AUTO_BED_LEVELING_UBL
//#define AUTO_BED_LEVELING_UBL
//#define MESH_BED_LEVELING
# define MESH_BED_LEVELING
/**
/**
* Normally G28 leaves leveling disabled on completion . Enable one of
* Normally G28 leaves leveling disabled on completion . Enable one of
* these options to restore the prior leveling state or to always enable
* these options to restore the prior leveling state or to always enable
* leveling immediately after G28 .
* leveling immediately after G28 .
*/
*/
//#define RESTORE_LEVELING_AFTER_G28
# define RESTORE_LEVELING_AFTER_G28
//#define ENABLE_LEVELING_AFTER_G28
//#define ENABLE_LEVELING_AFTER_G28
/**
/**
@ -1552,7 +1584,7 @@
* Turn on with the command ' M111 S32 ' .
* Turn on with the command ' M111 S32 ' .
* NOTE : Requires a lot of PROGMEM !
* NOTE : Requires a lot of PROGMEM !
*/
*/
//#define DEBUG_LEVELING_FEATURE
# define DEBUG_LEVELING_FEATURE
# if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL, PROBE_MANUALLY)
# if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL, PROBE_MANUALLY)
// Set a height for the start of manual adjustment
// Set a height for the start of manual adjustment
@ -1577,14 +1609,14 @@
/**
/**
* Enable the G26 Mesh Validation Pattern tool .
* Enable the G26 Mesh Validation Pattern tool .
*/
*/
//#define G26_MESH_VALIDATION
# define G26_MESH_VALIDATION
# if ENABLED(G26_MESH_VALIDATION)
# if ENABLED(G26_MESH_VALIDATION)
# define MESH_TEST_NOZZLE_SIZE 0.4 // (mm) Diameter of primary nozzle.
# define MESH_TEST_NOZZLE_SIZE 0.4 // (mm) Diameter of primary nozzle.
# define MESH_TEST_LAYER_HEIGHT 0.2 // (mm) Default layer height for G26.
# define MESH_TEST_LAYER_HEIGHT 0.2 // (mm) Default layer height for G26.
# define MESH_TEST_HOTEND_TEMP 205 // (°C) Default nozzle temperature for G26.
# define MESH_TEST_HOTEND_TEMP 24 0 // (°C) Default nozzle temperature for G26.
# define MESH_TEST_BED_TEMP 6 0 // (°C) Default bed temperature for G26.
# define MESH_TEST_BED_TEMP 9 0 // (°C) Default bed temperature for G26.
# define G26_XY_FEEDRATE 20 // (mm/s) Feedrate for G26 XY moves.
# define G26_XY_FEEDRATE 20 // (mm/s) Feedrate for G26 XY moves.
# define G26_XY_FEEDRATE_TRAVEL 10 0 // (mm/s) Feedrate for G26 XY travel moves.
# define G26_XY_FEEDRATE_TRAVEL 8 0 // (mm/s) Feedrate for G26 XY travel moves.
# define G26_RETRACT_MULTIPLIER 1.0 // G26 Q (retraction) used by default between mesh test elements.
# define G26_RETRACT_MULTIPLIER 1.0 // G26 Q (retraction) used by default between mesh test elements.
# endif
# endif
@ -1593,7 +1625,7 @@
# if EITHER(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR)
# if EITHER(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR)
// Set the number of grid points per dimension.
// Set the number of grid points per dimension.
# define GRID_MAX_POINTS_X 3
# define GRID_MAX_POINTS_X 4
# define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
# define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
// Probe along the Y axis, advancing X after each column
// Probe along the Y axis, advancing X after each column
@ -1603,13 +1635,13 @@
// Beyond the probed grid, continue the implied tilt?
// Beyond the probed grid, continue the implied tilt?
// Default is to maintain the height of the nearest edge.
// Default is to maintain the height of the nearest edge.
//#define EXTRAPOLATE_BEYOND_GRID
# define EXTRAPOLATE_BEYOND_GRID
//
//
// Experimental Subdivision of the grid by Catmull-Rom method.
// Experimental Subdivision of the grid by Catmull-Rom method.
// Synthesizes intermediate points to produce a more detailed mesh.
// Synthesizes intermediate points to produce a more detailed mesh.
//
//
//#define ABL_BILINEAR_SUBDIVISION
# define ABL_BILINEAR_SUBDIVISION
# if ENABLED(ABL_BILINEAR_SUBDIVISION)
# if ENABLED(ABL_BILINEAR_SUBDIVISION)
// Number of subdivisions between probe points
// Number of subdivisions between probe points
# define BILINEAR_SUBDIVISIONS 3
# define BILINEAR_SUBDIVISIONS 3
@ -1625,7 +1657,7 @@
//#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh
//#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh
# define MESH_INSET 1 // Set Mesh bounds as an inset region of the bed
# define MESH_INSET 5 // 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_X 10 // Don't use more than 15 points per axis, implementation limited.
# define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
# define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
@ -1645,7 +1677,7 @@
//=================================== Mesh ==================================
//=================================== Mesh ==================================
//===========================================================================
//===========================================================================
# define MESH_INSET 1 0 // Set Mesh bounds as an inset region of the bed
# define MESH_INSET 2 0 // 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_X 3 // Don't use more than 7 points per axis, implementation limited.
# define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
# define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
@ -1657,16 +1689,16 @@
* Add a bed leveling sub - menu for ABL or MBL .
* Add a bed leveling sub - menu for ABL or MBL .
* Include a guided procedure if manual probing is enabled .
* Include a guided procedure if manual probing is enabled .
*/
*/
//#define LCD_BED_LEVELING
# define LCD_BED_LEVELING
# if ENABLED(LCD_BED_LEVELING)
# if ENABLED(LCD_BED_LEVELING)
# define MESH_EDIT_Z_STEP 0.025 // (mm) Step size while manually probing Z axis.
# define MESH_EDIT_Z_STEP 0.025 // (mm) Step size while manually probing Z axis.
# define LCD_PROBE_Z_RANGE 4 // (mm) Z Range centered on Z_MIN_POS for LCD Z adjustment
# define LCD_PROBE_Z_RANGE 4 // (mm) Z Range centered on Z_MIN_POS for LCD Z adjustment
//#define MESH_EDIT_MENU // Add a menu to edit mesh points
# define MESH_EDIT_MENU // Add a menu to edit mesh points
# endif
# endif
// Add a menu item to move between bed corners for manual bed adjustment
// Add a menu item to move between bed corners for manual bed adjustment
//#define LEVEL_BED_CORNERS
# define LEVEL_BED_CORNERS
# if ENABLED(LEVEL_BED_CORNERS)
# if ENABLED(LEVEL_BED_CORNERS)
# define LEVEL_CORNERS_INSET_LFRB { 30, 30, 30, 30 } // (mm) Left, Front, Right, Back insets
# define LEVEL_CORNERS_INSET_LFRB { 30, 30, 30, 30 } // (mm) Left, Front, Right, Back insets
@ -1727,15 +1759,15 @@
* - Allows Z homing only when XY positions are known and trusted .
* - Allows Z homing only when XY positions are known and trusted .
* - If stepper drivers sleep , XY homing may be required again before Z homing .
* - If stepper drivers sleep , XY homing may be required again before Z homing .
*/
*/
//#define Z_SAFE_HOMING
# define Z_SAFE_HOMING
# if ENABLED(Z_SAFE_HOMING)
# if ENABLED(Z_SAFE_HOMING)
# define Z_SAFE_HOMING_X_POINT X_CENTER // X point for Z homing
# define Z_SAFE_HOMING_X_POINT 0 // X point for Z homing
# define Z_SAFE_HOMING_Y_POINT Y_CENTER // Y point for Z homing
# define Z_SAFE_HOMING_Y_POINT 0 // Y point for Z homing
# endif
# endif
// Homing speeds (mm/min)
// Homing speeds (mm/min)
# define HOMING_FEEDRATE_MM_M { (50*60), (5 0*60), (4*60) }
# define HOMING_FEEDRATE_MM_M { (40*60), (4 0*60), (4*60) }
// Validate that endstops are triggered on homing moves
// Validate that endstops are triggered on homing moves
# define VALIDATE_HOMING_ENDSTOPS
# define VALIDATE_HOMING_ENDSTOPS
@ -1812,12 +1844,12 @@
* M501 - Read settings from EEPROM . ( i . e . , Throw away unsaved changes )
* M501 - Read settings from EEPROM . ( i . e . , Throw away unsaved changes )
* M502 - Revert settings to " factory " defaults . ( Follow with M500 to init the EEPROM . )
* M502 - Revert settings to " factory " defaults . ( Follow with M500 to init the EEPROM . )
*/
*/
//#define EEPROM_SETTINGS // Persistent storage with M500 and M501
# define EEPROM_SETTINGS // Persistent storage with M500 and M501
//#define DISABLE_M503 // Saves ~2700 bytes of PROGMEM. Disable for release!
//#define DISABLE_M503 // Saves ~2700 bytes of PROGMEM. Disable for release!
# define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM.
# define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM.
# define EEPROM_BOOT_SILENT // Keep M503 quiet and only give errors during first load
# define EEPROM_BOOT_SILENT // Keep M503 quiet and only give errors during first load
# if ENABLED(EEPROM_SETTINGS)
# if ENABLED(EEPROM_SETTINGS)
//#define EEPROM_AUTO_INIT // Init EEPROM automatically on any errors.
# define EEPROM_AUTO_INIT // Init EEPROM automatically on any errors.
# endif
# endif
//
//
@ -1845,16 +1877,14 @@
//
//
// Preheat Constants - Up to 5 are supported without changes
// Preheat Constants - Up to 5 are supported without changes
//
//
# define PREHEAT_1_LABEL "PLA"
# define PREHEAT_1_LABEL "PETG"
# define PREHEAT_1_TEMP_HOTEND 180
# define PREHEAT_1_TEMP_HOTEND 235
# define PREHEAT_1_TEMP_BED 70
# define PREHEAT_1_TEMP_BED 80
# define PREHEAT_1_TEMP_CHAMBER 35
# define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
# define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
# define PREHEAT_2_LABEL "ABS"
# define PREHEAT_2_LABEL "ABS"
# define PREHEAT_2_TEMP_HOTEND 240
# define PREHEAT_2_TEMP_HOTEND 250
# define PREHEAT_2_TEMP_BED 110
# define PREHEAT_2_TEMP_BED 100
# define PREHEAT_2_TEMP_CHAMBER 35
# define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
# define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
/**
/**
@ -1868,11 +1898,11 @@
* P1 Raise the nozzle always to Z - park height .
* P1 Raise the nozzle always to Z - park height .
* P2 Raise the nozzle by Z - park amount , limited to Z_MAX_POS .
* P2 Raise the nozzle by Z - park amount , limited to Z_MAX_POS .
*/
*/
//#define NOZZLE_PARK_FEATURE
# define NOZZLE_PARK_FEATURE
# if ENABLED(NOZZLE_PARK_FEATURE)
# if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z_raise }
// Specify a park position as { X, Y, Z_raise }
# define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10) , 20 }
# define NOZZLE_PARK_POINT { (X_MIN_POS + 10), 10, 20 }
//#define NOZZLE_PARK_X_ONLY // X move only is required to park
//#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_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_Z_RAISE_MIN 2 // (mm) Always raise Z by at least this distance
@ -1994,7 +2024,7 @@
*
*
* View the current statistics with M78 .
* View the current statistics with M78 .
*/
*/
//#define PRINTCOUNTER
# define PRINTCOUNTER
# if ENABLED(PRINTCOUNTER)
# if ENABLED(PRINTCOUNTER)
# define PRINTCOUNTER_SAVE_INTERVAL 60 // (minutes) EEPROM save interval during print
# define PRINTCOUNTER_SAVE_INTERVAL 60 // (minutes) EEPROM save interval during print
# endif
# endif
@ -2085,14 +2115,14 @@
* SD Card support is disabled by default . If your controller has an SD slot ,
* SD Card support is disabled by default . If your controller has an SD slot ,
* you must uncomment the following option or it won ' t work .
* you must uncomment the following option or it won ' t work .
*/
*/
//#define SDSUPPORT
# define SDSUPPORT
/**
/**
* SD CARD : ENABLE CRC
* SD CARD : ENABLE CRC
*
*
* Use CRC checks and retries on the SD communication .
* Use CRC checks and retries on the SD communication .
*/
*/
//#define SD_CHECK_AND_RETRY
# define SD_CHECK_AND_RETRY
/**
/**
* LCD Menu Items
* LCD Menu Items
@ -2155,7 +2185,7 @@
//
//
// Add individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu.
// 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
//
//
// SPEAKER/BUZZER
// SPEAKER/BUZZER
@ -2648,7 +2678,7 @@
// 480x320, 3.5", FSMC Display From MKS
// 480x320, 3.5", FSMC Display From MKS
// Normally used in MKS Robin Nano V1.2
// Normally used in MKS Robin Nano V1.2
//
//
//#define MKS_ROBIN_TFT35
# define MKS_ROBIN_TFT35
//
//
// 480x272, 4.3", FSMC Display From MKS
// 480x272, 4.3", FSMC Display From MKS
@ -2720,11 +2750,11 @@
* root of your SD card , together with the compiled firmware .
* root of your SD card , together with the compiled firmware .
*/
*/
//#define TFT_CLASSIC_UI
//#define TFT_CLASSIC_UI
//#define TFT_COLOR_UI
# define TFT_COLOR_UI
//#define TFT_LVGL_UI
//#define TFT_LVGL_UI
# if ENABLED(TFT_LVGL_UI)
# if ENABLED(TFT_LVGL_UI)
//#define MKS_WIFI_MODULE // MKS WiFi module
# define MKS_WIFI_MODULE // MKS WiFi module
# endif
# endif
/**
/**
@ -2749,25 +2779,25 @@
//
//
// Touch Screen Settings
// Touch Screen Settings
//
//
//#define TOUCH_SCREEN
# define TOUCH_SCREEN
# if ENABLED(TOUCH_SCREEN)
# if ENABLED(TOUCH_SCREEN)
# define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens
# define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens
# define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus
# 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_X 12316
//#define TOUCH_CALIBRATION_Y -8981
# define TOUCH_CALIBRATION_Y -8981
//#define TOUCH_OFFSET_X -43
# define TOUCH_OFFSET_X -43
//#define TOUCH_OFFSET_Y 257
# define TOUCH_OFFSET_Y 257
//#define TOUCH_ORIENTATION TOUCH_LANDSCAPE
# define TOUCH_ORIENTATION TOUCH_LANDSCAPE
# if BOTH(TOUCH_SCREEN_CALIBRATION, EEPROM_SETTINGS)
# if BOTH(TOUCH_SCREEN_CALIBRATION, EEPROM_SETTINGS)
# define TOUCH_CALIBRATION_AUTO_SAVE // Auto save successful calibration values to EEPROM
# define TOUCH_CALIBRATION_AUTO_SAVE // Auto save successful calibration values to EEPROM
# endif
# endif
# if ENABLED(TFT_COLOR_UI)
# if ENABLED(TFT_COLOR_UI)
//#define SINGLE_TOUCH_NAVIGATION
# define SINGLE_TOUCH_NAVIGATION
# endif
# endif
# endif
# endif