@ -35,37 +35,36 @@
*
*
* Advanced settings can be found in Configuration_adv . h
* Advanced settings can be found in Configuration_adv . h
*/
*/
# define CONFIGURATION_H_VERSION 020007
# define CONFIGURATION_H_VERSION 020008
//===========================================================================
//===========================================================================
//============================= Getting Started =============================
//============================= Getting Started =============================
//===========================================================================
//===========================================================================
/**
/**
* Here are some standard links for getting your machine calibrated :
* Here are some useful links to help get your machine configured and calibrated :
*
*
* https : //reprap.org/wiki/Calibration
* Example Configs : https : //github.com/MarlinFirmware/Configurations/branches/all
* https : //youtu.be/wAL9d7FgInk
*
* http : //calculator.josefprusa.cz
* Průša Calculator : https : //blog.prusaprinters.org/calculator_3416/
*
* Calibration Guides : https : //reprap.org/wiki/Calibration
* https : //reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide
* https : //reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide
* https : //www.thingiverse.com/thing:5573
* https : //sites.google.com/site/repraplogphase/calibration-of-your-reprap
* https : //sites.google.com/site/repraplogphase/calibration-of-your-reprap
* https : //www.thingiverse.com/thing:298812
* https : //youtu.be/wAL9d7FgInk
*
* Calibration Objects : https : //www.thingiverse.com/thing:5573
* https : //www.thingiverse.com/thing:1278865
*/
*/
//===========================================================================
//===========================================================================
//============================= DELTA Printer ===== ==========================
//========================== DELTA / SCARA / TPARA ==========================
//===========================================================================
//===========================================================================
// For a Delta printer start with one of the configuration files in the
// config/examples/delta directory and customize for your machine.
//
//
// Download configurations from the link above and customize for your machine.
//===========================================================================
// Examples are located in config/examples/delta, .../SCARA, and .../TPARA.
//============================= SCARA Printer ===============================
//===========================================================================
// For a SCARA printer start with the configuration files in
// config/examples/SCARA and customize for your machine.
//
//
//===========================================================================
// @section info
// @section info
@ -107,7 +106,8 @@
/**
/**
* Select a secondary serial port on the board to use for communication with the host .
* Select a secondary serial port on the board to use for communication with the host .
* : [ - 1 , 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ]
* Currently Ethernet ( - 2 ) is only supported on Teensy 4.1 boards .
* : [ - 2 , - 1 , 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ]
*/
*/
# define SERIAL_PORT_2 1
# define SERIAL_PORT_2 1
@ -157,33 +157,19 @@
# endif
# endif
/**
/**
* Průša MK2 Single Nozzle Multi - Material Multiplexer , and variants .
* Multi - Material Unit
* Set to one of these predefined models :
*
*
* This device allows one stepper driver on a control board to drive
* PRUSA_MMU1 : Průša MMU1 ( The " multiplexer " version )
* two to eight stepper motors , one at a time , in a manner suitable
* PRUSA_MMU2 : Průša MMU2
* for extruders .
* PRUSA_MMU2S : Průša MMU2S ( Requires MK3S extruder with motion sensor , EXTRUDERS = 5 )
*
* EXTENDABLE_EMU_MMU2 : MMU with configurable number of filaments ( ERCF , SMuFF or similar with Průša MMU2 compatible firmware )
* This option only allows the multiplexer to switch on tool - change .
* EXTENDABLE_EMU_MMU2S : MMUS with configurable number of filaments ( ERCF , SMuFF or similar with Průša MMU2 compatible firmware )
* Additional options to configure custom E moves are pending .
*/
//#define MK2_MULTIPLEXER
# if ENABLED(MK2_MULTIPLEXER)
// Override the default DIO selector pins here, if needed.
// Some pins files may provide defaults for these pins.
//#define E_MUX0_PIN 40 // Always Required
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
# endif
/**
* Průša Multi - Material Unit v2
*
*
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails .
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails .
* Requires EXTRUDERS = 5
* See additional options in Configuration_adv . h .
*
* For additional configuration see Configuration_adv . h
*/
*/
//#define PRUSA_MMU2
//#define MMU_MODEL PRUSA_MMU2
// A dual extruder that uses a single stepper motor
// A dual extruder that uses a single stepper motor
//#define SWITCHING_EXTRUDER
//#define SWITCHING_EXTRUDER
@ -334,15 +320,21 @@
//#define PSU_DEFAULT_OFF // Keep power off until enabled directly with M80
//#define PSU_DEFAULT_OFF // Keep power off until enabled directly with M80
//#define PSU_POWERUP_DELAY 250 // (ms) Delay for the PSU to warm up to full power
//#define PSU_POWERUP_DELAY 250 // (ms) Delay for the PSU to warm up to full power
//#define PSU_POWERUP_GCODE "M355 S1" // G-code to run after power-on (e.g., case light on)
//#define PSU_POWEROFF_GCODE "M355 S0" // G-code to run before power-off (e.g., case light off)
//#define AUTO_POWER_CONTROL // Enable automatic control of the PS_ON pin
//#define AUTO_POWER_CONTROL // Enable automatic control of the PS_ON pin
# if ENABLED(AUTO_POWER_CONTROL)
# if ENABLED(AUTO_POWER_CONTROL)
# define AUTO_POWER_FANS // Turn on PSU if fans need power
# define AUTO_POWER_FANS // Turn on PSU if fans need power
# define AUTO_POWER_E_FANS
# define AUTO_POWER_E_FANS
# define AUTO_POWER_CONTROLLERFAN
# define AUTO_POWER_CONTROLLERFAN
# define AUTO_POWER_CHAMBER_FAN
# define AUTO_POWER_CHAMBER_FAN
//#define AUTO_POWER_E_TEMP 50 // (°C) Turn on PSU over this temperature
# define AUTO_POWER_COOLER_FAN
//#define AUTO_POWER_CHAMBER_TEMP 30 // (°C) Turn on PSU over this temperature
//#define AUTO_POWER_E_TEMP 50 // (°C) Turn on PSU if any extruder is over this temperature
# define POWER_TIMEOUT 30
//#define AUTO_POWER_CHAMBER_TEMP 30 // (°C) Turn on PSU if the chamber is over this temperature
//#define AUTO_POWER_COOLER_TEMP 26 // (°C) Turn on PSU if the cooler is over this temperature
# define POWER_TIMEOUT 30 // (s) Turn off power if the machine is idle for this duration
//#define POWER_OFF_DELAY 60 // (s) Delay of poweroff after M81 command. Useful to let fans run for extra time.
# endif
# endif
# endif
# endif
@ -384,8 +376,10 @@
* 13 : 100 k Hisens 3950 1 % up to 300 ° C for hotend " Simple ONE " & " Hotend " All In ONE "
* 13 : 100 k Hisens 3950 1 % up to 300 ° C for hotend " Simple ONE " & " Hotend " All In ONE "
* 15 : 100 k thermistor calibration for JGAurora A5 hotend
* 15 : 100 k thermistor calibration for JGAurora A5 hotend
* 18 : ATC Semitec 204 GT - 2 ( 4.7 k pullup ) Dagoma . Fr - MKS_Base_DKU001327
* 18 : ATC Semitec 204 GT - 2 ( 4.7 k pullup ) Dagoma . Fr - MKS_Base_DKU001327
* 20 : Pt100 with circuit in the Ultimainboard V2 . x with 5 v excitation ( AVR )
* 20 : Pt100 with circuit in the Ultimainboard V2 . x with mainboard ADC reference voltage = INA826 amplifier - board supply voltage .
* 21 : Pt100 with circuit in the Ultimainboard V2 . x with 3.3 v excitation ( STM32 \ LPC176x . . . . )
* NOTES : ( 1 ) Must use an ADC input with no pullup . ( 2 ) Some INA826 amplifiers are unreliable at 3.3 V so consider using sensor 147 , 110 , or 21.
* 21 : Pt100 with circuit in the Ultimainboard V2 . x with 3.3 v ADC reference voltage ( STM32 , LPC176x . . . . ) and 5 V INA826 amplifier board supply .
* NOTE : ADC pins are not 5 V tolerant . Not recommended because it ' s possible to damage the CPU by going over 500 ° C .
* 22 : 100 k ( hotend ) with 4.7 k pullup to 3.3 V and 220 R to analog input ( as in GTM32 Pro vB )
* 22 : 100 k ( hotend ) with 4.7 k pullup to 3.3 V and 220 R to analog input ( as in GTM32 Pro vB )
* 23 : 100 k ( bed ) with 4.7 k pullup to 3.3 v and 220 R to analog input ( as in GTM32 Pro vB )
* 23 : 100 k ( bed ) with 4.7 k pullup to 3.3 v and 220 R to analog input ( as in GTM32 Pro vB )
* 30 : Kis3d Silicone heating mat 200 W / 300 W with 6 mm precision cast plate ( EN AW 5083 ) NTC100K / B3950 ( 4.7 k pullup )
* 30 : Kis3d Silicone heating mat 200 W / 300 W with 6 mm precision cast plate ( EN AW 5083 ) NTC100K / B3950 ( 4.7 k pullup )
@ -426,16 +420,17 @@
# define TEMP_SENSOR_BED 1
# 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
// Dummy thermistor constant temperature readings, for use with 998 and 999
// Dummy thermistor constant temperature readings, for use with 998 and 999
# define DUMMY_THERMISTOR_998_VALUE 25
# define DUMMY_THERMISTOR_998_VALUE 25
# define DUMMY_THERMISTOR_999_VALUE 100
# define DUMMY_THERMISTOR_999_VALUE 100
// Resistor values when using a MAX31865 ( sensor -5)
// Resistor values when using MAX31865 sensors ( -5) on TEMP_SENSOR_0 / 1
// Sensor value is typically 100 (PT100) or 1000 ( PT1000)
//#define MAX31865_SENSOR_OHMS_0 100 // (Ω) Typically 100 or 1000 (PT100 or PT1000)
// Calibration value is typically 430 ohm for AdaFruit PT100 modules and 4300 ohm for AdaFruit PT1000 modules.
//#define MAX31865_CALIBRATION_OHMS_0 430 // (Ω) Typically 430 for AdaFruit PT100; 4300 for AdaFruit PT1000
//#define MAX31865_SENSOR_OHMS 100
//#define MAX31865_SENSOR_OHMS_1 100
//#define MAX31865_CALIBRATION_OHMS 430
//#define MAX31865_CALIBRATION_OHMS_1 430
// Use temp sensor 1 as a redundant sensor with sensor 0. If the readings
// Use temp sensor 1 as a redundant sensor with sensor 0. If the readings
// from the two sensors differ too much the print will be aborted.
// from the two sensors differ too much the print will be aborted.
@ -450,6 +445,10 @@
# define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
# 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_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
# define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
// Below this temperature the heater will be switched off
// Below this temperature the heater will be switched off
// because it probably indicates a broken thermistor wire.
// because it probably indicates a broken thermistor wire.
# define HEATER_0_MINTEMP 5
# define HEATER_0_MINTEMP 5
@ -461,6 +460,7 @@
# define HEATER_6_MINTEMP 5
# define HEATER_6_MINTEMP 5
# define HEATER_7_MINTEMP 5
# define HEATER_7_MINTEMP 5
# define BED_MINTEMP 5
# define BED_MINTEMP 5
# define CHAMBER_MINTEMP 5
// Above this temperature the heater will be switched off.
// Above this temperature the heater will be switched off.
// This can protect components from overheating, but NOT from shorts and failures.
// This can protect components from overheating, but NOT from shorts and failures.
@ -474,6 +474,17 @@
# define HEATER_6_MAXTEMP 275
# define HEATER_6_MAXTEMP 275
# define HEATER_7_MAXTEMP 275
# define HEATER_7_MAXTEMP 275
# define BED_MAXTEMP 150
# define BED_MAXTEMP 150
# define CHAMBER_MAXTEMP 60
/**
* Thermal Overshoot
* During heatup ( and printing ) the temperature can often " overshoot " the target by many degrees
* ( especially before PID tuning ) . Setting the target temperature too close to MAXTEMP guarantees
* a MAXTEMP shutdown ! Use these values to forbid temperatures being set too close to MAXTEMP .
*/
# define HOTEND_OVERSHOOT 15 // (°C) Forbid temperatures over MAXTEMP - OVERSHOOT
# define BED_OVERSHOOT 10 // (°C) Forbid temperatures over MAXTEMP - OVERSHOOT
# define COOLER_OVERSHOOT 2 // (°C) Forbid temperatures closer than OVERSHOOT
//===========================================================================
//===========================================================================
//============================= PID Settings ================================
//============================= PID Settings ================================
@ -540,21 +551,57 @@
// 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_bedKi .023
//#define DEFAULT_bedKd 305.4
//FB4S
# define DEFAULT_bedKp 40.68
# define DEFAULT_bedKp 40.68
# define DEFAULT_bedKi 7.93
# define DEFAULT_bedKi 7.93
# define DEFAULT_bedKd 139.15
# 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
# if EITHER(PIDTEMP, PIDTEMPBED)
//===========================================================================
//==================== PID > Chamber Temperature Control ====================
//===========================================================================
/**
* PID Chamber Heating
*
* If this option is enabled set PID constants below .
* If this option is disabled , bang - bang will be used and CHAMBER_LIMIT_SWITCHING will enable
* hysteresis .
*
* The PID frequency will be the same as the extruder PWM .
* If PID_dT is the default , and correct for the hardware / configuration , that means 7.689 Hz ,
* which is fine for driving a square wave into a resistive load and does not significantly
* impact FET heating . This also works fine on a Fotek SSR - 10 DA Solid State Relay into a 200 W
* heater . If your configuration is significantly different than this and you don ' t understand
* the issues involved , don ' t use chamber PID until someone else verifies that your hardware works .
*/
//#define PIDTEMPCHAMBER
//#define CHAMBER_LIMIT_SWITCHING
/**
* Max Chamber Power
* Applies to all forms of chamber control ( PID , bang - bang , and bang - bang with hysteresis ) .
* When set to any value below 255 , enables a form of PWM to the chamber heater that acts like a divider
* so don ' t use it unless you are OK with PWM on your heater . ( See the comment on enabling PIDTEMPCHAMBER )
*/
# define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
# if ENABLED(PIDTEMPCHAMBER)
# define MIN_CHAMBER_POWER 0
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
// and placed inside the small Creality printer enclosure tent.
//
# define DEFAULT_chamberKp 37.04
# define DEFAULT_chamberKi 1.40
# define DEFAULT_chamberKd 655.17
// M309 P37.04 I1.04 D655.17
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
# endif // PIDTEMPCHAMBER
# if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
//#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
@ -600,7 +647,8 @@
# define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders
# define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders
# define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed
# 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
//#define THERMAL_PROTECTION_COOLER // Enable thermal protection for the laser cooling
//===========================================================================
//===========================================================================
//============================= Mechanical Settings =========================
//============================= Mechanical Settings =========================
@ -677,6 +725,8 @@
*
*
* A4988 is assumed for unspecified drivers .
* A4988 is assumed for unspecified drivers .
*
*
* Use TMC2208 / TMC2208_STANDALONE for TMC2225 drivers and TMC2209 / TMC2209_STANDALONE for TMC2226 drivers .
*
* Options : A4988 , A5984 , DRV8825 , LV8729 , L6470 , L6474 , POWERSTEP01 ,
* Options : A4988 , A5984 , DRV8825 , LV8729 , L6470 , L6474 , POWERSTEP01 ,
* TB6560 , TB6600 , TMC2100 ,
* TB6560 , TB6600 , TMC2100 ,
* TMC2130 , TMC2130_STANDALONE , TMC2160 , TMC2160_STANDALONE ,
* TMC2130 , TMC2130_STANDALONE , TMC2160 , TMC2160_STANDALONE ,
@ -721,7 +771,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 ============================
@ -783,7 +833,6 @@
* M204 R Retract Acceleration
* M204 R Retract Acceleration
* M204 T Travel Acceleration
* M204 T Travel Acceleration
*/
*/
// @efim-a-efim - decreased E0 acceleration to make it less noisy (yes, even with TMC2208 drivers)
# define DEFAULT_ACCELERATION 1500 // X, Y, Z and E acceleration for printing moves
# define DEFAULT_ACCELERATION 1500 // X, Y, Z and E acceleration for printing moves
# define DEFAULT_RETRACT_ACCELERATION 2000 // E acceleration for retracts
# define DEFAULT_RETRACT_ACCELERATION 2000 // E acceleration for retracts
# define DEFAULT_TRAVEL_ACCELERATION 1000 // X, Y, Z acceleration for travel (non printing) moves
# define DEFAULT_TRAVEL_ACCELERATION 1000 // X, Y, Z acceleration for travel (non printing) moves
@ -884,7 +933,6 @@
* or ( with LCD_BED_LEVELING ) the LCD controller .
* or ( with LCD_BED_LEVELING ) the LCD controller .
*/
*/
# define PROBE_MANUALLY
# define PROBE_MANUALLY
//#define MANUAL_PROBE_START_Z 0.2
/**
/**
* A Fix - Mounted Probe either doesn ' t deploy or needs manual deployment .
* A Fix - Mounted Probe either doesn ' t deploy or needs manual deployment .
@ -909,11 +957,6 @@
*/
*/
//#define BLTOUCH
//#define BLTOUCH
/**
* Pressure sensor with a BLTouch - like interface
*/
//#define CREALITY_TOUCH
/**
/**
* Touch - MI Probe by hotends . fr
* Touch - MI Probe by hotends . fr
*
*
@ -967,10 +1010,20 @@
/**
/**
* Nozzle - to - Probe offsets { X , Y , Z }
* Nozzle - to - Probe offsets { X , Y , Z }
*
*
* - Use a caliper or ruler to measure the distance from the tip of
* X and Y offset
* Use a caliper or ruler to measure the distance from the tip of
* the Nozzle to the center - point of the Probe in the X and Y axes .
* the Nozzle to the center - point of the Probe in the X and Y axes .
*
* Z offset
* - For the Z offset use your best known value and adjust at runtime .
* - For the Z offset use your best known value and adjust at runtime .
* - Common probes trigger below the nozzle and have negative values for Z offset .
* - Probes triggering above the nozzle height are uncommon but do exist . When using
* probes such as this , carefully set Z_CLEARANCE_DEPLOY_PROBE and Z_CLEARANCE_BETWEEN_PROBES
* to avoid collisions during probing .
*
* Tune and Adjust
* - Probe Offsets can be tuned at runtime with ' M851 ' , LCD menus , babystepping , etc .
* - Probe Offsets can be tuned at runtime with ' M851 ' , LCD menus , babystepping , etc .
* - PROBE_OFFSET_WIZARD ( configuration_adv . h ) can be used for setting the Z offset .
*
*
* Assuming the typical work area orientation :
* Assuming the typical work area orientation :
* - Probe to RIGHT of the Nozzle has a Positive X offset
* - Probe to RIGHT of the Nozzle has a Positive X offset
@ -1001,13 +1054,40 @@
# define PROBING_MARGIN 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_SPEED (1000)
# define XY_PROBE_FEEDRATE (1000)
// 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_SPEED _FAST HOMING_FEEDRATE_Z
# define Z_PROBE_FEEDRATE _FAST HOMING_FEEDRATE_Z
// Feedrate (mm/min) for the "accurate" probe of each point
// Feedrate (mm/min) for the "accurate" probe of each point
# define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
# define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 2)
/**
* Probe Activation Switch
* A switch indicating proper deployment , or an optical
* switch triggered when the carriage is near the bed .
*/
//#define PROBE_ACTIVATION_SWITCH
# if ENABLED(PROBE_ACTIVATION_SWITCH)
# define PROBE_ACTIVATION_SWITCH_STATE LOW // State indicating probe is active
//#define PROBE_ACTIVATION_SWITCH_PIN PC6 // Override default pin
# endif
/**
* Tare Probe ( determine zero - point ) prior to each probe .
* Useful for a strain gauge or piezo sensor that needs to factor out
* elements such as cables pulling on the carriage .
*/
//#define PROBE_TARE
# if ENABLED(PROBE_TARE)
# define PROBE_TARE_TIME 200 // (ms) Time to hold tare pin
# define PROBE_TARE_DELAY 200 // (ms) Delay after tare before
# define PROBE_TARE_STATE HIGH // State to write pin for tare
//#define PROBE_TARE_PIN PA5 // Override default pin
# if ENABLED(PROBE_ACTIVATION_SWITCH)
//#define PROBE_TARE_ONLY_WHILE_INACTIVE // Fail to tare/probe if PROBE_ACTIVATION_SWITCH is active
# endif
# endif
/**
/**
* Multiple Probing
* Multiple Probing
@ -1065,11 +1145,19 @@
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
# if ENABLED(PROBING_HEATERS_OFF)
# if ENABLED(PROBING_HEATERS_OFF)
//#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy)
//#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy)
//#define WAIT_FOR_HOTEND // Wait for hotend to heat back up between probes (to improve accuracy & prevent cold extrude)
# endif
# endif
//#define PROBING_FANS_OFF // Turn fans off when probing
//#define PROBING_FANS_OFF // Turn fans off when probing
//#define PROBING_STEPPERS_OFF // Turn steppers off (unless needed to hold position) when probing
//#define PROBING_STEPPERS_OFF // Turn steppers off (unless needed to hold position) when probing
# define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors
# define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors
// Require minimum nozzle and/or bed temperature for probing
//#define PREHEAT_BEFORE_PROBING
# if ENABLED(PREHEAT_BEFORE_PROBING)
# define PROBING_NOZZLE_TEMP 120 // (°C) Only applies to E0 at this time
# define PROBING_BED_TEMP 50
# endif
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' }
// :{ 0:'Low', 1:'High' }
# define X_ENABLE_ON 0
# define X_ENABLE_ON 0
@ -1138,9 +1226,15 @@
// @section homing
// @section homing
# define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed
# 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 UNKNOWN_Z_NO_RAISE // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off.
/**
* Set Z_IDLE_HEIGHT if the Z - Axis moves on its own when steppers are disabled .
* - Use a low value ( i . e . , Z_MIN_POS ) if the nozzle falls down to the bed .
* - Use a large value ( i . e . , Z_MAX_POS ) if the bed falls down , away from the nozzle .
*/
//#define Z_IDLE_HEIGHT Z_HOME_POS
# define Z_HOMING_HEIGHT 2 // (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.
@ -1155,7 +1249,7 @@
// @section machine
// @section machine
// The size of the print bed
// The size of the printable area
# define X_BED_SIZE 250
# define X_BED_SIZE 250
# define Y_BED_SIZE 210
# define Y_BED_SIZE 210
@ -1200,6 +1294,12 @@
* Filament Runout Sensors
* Filament Runout Sensors
* Mechanical or opto endstops are used to check for the presence of filament .
* Mechanical or opto endstops are used to check for the presence of filament .
*
*
* IMPORTANT : Runout will only trigger if Marlin is aware that a print job is running .
* Marlin knows a print job is running when :
* 1. Running a print job from media started with M24 .
* 2. The Print Job Timer has been started with M75 .
* 3. The heaters were turned on and PRINTJOB_TIMER_AUTOSTART is enabled .
*
* 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 .
*/
*/
@ -1207,12 +1307,49 @@
# if ENABLED(FILAMENT_RUNOUT_SENSOR)
# if ENABLED(FILAMENT_RUNOUT_SENSOR)
# define FIL_RUNOUT_ENABLED_DEFAULT false // Enable the sensor on startup. Override with M412 followed by M500.
# define FIL_RUNOUT_ENABLED_DEFAULT false // 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 HIGH // Pin state indicating that filament is NOT present.
# define FIL_RUNOUT_STATE HIGH // Pin state indicating that filament is NOT present.
//#define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins.
//#define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins.
//#define FIL_RUNOUT_PULLDOWN // Use internal pulldown 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.
// This is automatically enabled for MIXING_EXTRUDERs.
// Override individually if the runout sensors vary
//#define FIL_RUNOUT1_STATE LOW
//#define FIL_RUNOUT1_PULLUP
//#define FIL_RUNOUT1_PULLDOWN
//#define FIL_RUNOUT2_STATE LOW
//#define FIL_RUNOUT2_PULLUP
//#define FIL_RUNOUT2_PULLDOWN
//#define FIL_RUNOUT3_STATE LOW
//#define FIL_RUNOUT3_PULLUP
//#define FIL_RUNOUT3_PULLDOWN
//#define FIL_RUNOUT4_STATE LOW
//#define FIL_RUNOUT4_PULLUP
//#define FIL_RUNOUT4_PULLDOWN
//#define FIL_RUNOUT5_STATE LOW
//#define FIL_RUNOUT5_PULLUP
//#define FIL_RUNOUT5_PULLDOWN
//#define FIL_RUNOUT6_STATE LOW
//#define FIL_RUNOUT6_PULLUP
//#define FIL_RUNOUT6_PULLDOWN
//#define FIL_RUNOUT7_STATE LOW
//#define FIL_RUNOUT7_PULLUP
//#define FIL_RUNOUT7_PULLDOWN
//#define FIL_RUNOUT8_STATE LOW
//#define FIL_RUNOUT8_PULLUP
//#define FIL_RUNOUT8_PULLDOWN
// Set one or more commands to execute on filament runout.
// Commands to execute on filament runout.
// (After 'M412 H' Marlin will ask the host to handle the process.)
// 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"
// After a runout is detected, continue printing this length of filament
// After a runout is detected, continue printing this length of filament
@ -1273,10 +1410,21 @@
# define MESH_BED_LEVELING
# define MESH_BED_LEVELING
/**
/**
* Normally G28 leaves leveling disabled on completion . Enable
* Normally G28 leaves leveling disabled on completion . Enable one of
* this option to have G28 restore the prior leveling state .
* 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
/**
* Auto - leveling needs preheating
*/
//#define PREHEAT_BEFORE_LEVELING
# if ENABLED(PREHEAT_BEFORE_LEVELING)
# define LEVELING_NOZZLE_TEMP 120 // (°C) Only applies to E0 at this time
# define LEVELING_BED_TEMP 50
# endif
/**
/**
* Enable detailed logging of G28 , G29 , M48 , etc .
* Enable detailed logging of G28 , G29 , M48 , etc .
@ -1285,11 +1433,19 @@
*/
*/
# define DEBUG_LEVELING_FEATURE
# define DEBUG_LEVELING_FEATURE
# if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL, PROBE_MANUALLY)
// Set a height for the start of manual adjustment
# define MANUAL_PROBE_START_Z 0.2 // (mm) Comment out to use the last-measured height
# endif
# if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_UBL)
# if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_UBL)
// Gradually reduce leveling correction until a set height is reached,
// Gradually reduce leveling correction until a set height is reached,
// at which point movement will be level to the machine's XY plane.
// at which point movement will be level to the machine's XY plane.
// The height can be set with M420 Z<height>
// The height can be set with M420 Z<height>
# define ENABLE_LEVELING_FADE_HEIGHT
# define ENABLE_LEVELING_FADE_HEIGHT
# if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
# define DEFAULT_LEVELING_FADE_HEIGHT 10.0 // (mm) Default fade height.
# endif
// For Cartesian machines, instead of dividing moves on mesh boundaries,
// For Cartesian machines, instead of dividing moves on mesh boundaries,
// split up moves into short segments like a Delta. This follows the
// split up moves into short segments like a Delta. This follows the
@ -1303,10 +1459,11 @@
# 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 the G26 Mesh Validation Tool.
# define MESH_TEST_LAYER_HEIGHT 0.2 // (mm) Default layer height for G26.
# define MESH_TEST_HOTEND_TEMP 240 // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
# define MESH_TEST_HOTEND_TEMP 240 // (°C) Default nozzle temperature for G26.
# define MESH_TEST_BED_TEMP 90 // (°C) Default bed temperature for the G26 Mesh Validation Tool.
# define MESH_TEST_BED_TEMP 90 // (°C) Default bed temperature for G26.
# define G26_XY_FEEDRATE 20 // (mm/s) Feedrate for XY Moves for the G26 Mesh Validation Tool.
# define G26_XY_FEEDRATE 20 // (mm/s) Feedrate for G26 XY moves.
# define G26_XY_FEEDRATE_TRAVEL 80 // (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
@ -1351,6 +1508,8 @@
# 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
//#define UBL_HILBERT_CURVE // Use Hilbert distribution for less travel when probing multiple points
# define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
# define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
# define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
# define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
@ -1391,6 +1550,31 @@
# define LEVEL_CORNERS_HEIGHT 0.0 // (mm) Z height of nozzle at leveling points
# 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_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
# define LEVEL_CORNERS_VERIFY_RAISED // After adjustment triggers the probe, re-probe to verify
//#define LEVEL_CORNERS_AUDIO_FEEDBACK
# endif
/**
* Corner Leveling Order
*
* Set 2 or 4 points . When 2 points are given , the 3 rd is the center of the opposite edge .
*
* LF Left - Front RF Right - Front
* LB Left - Back RB Right - Back
*
* Examples :
*
* Default { LF , RB , LB , RF } { LF , RF } { LB , LF }
* LB - - - - - - - - - RB LB - - - - - - - - - RB LB - - - - - - - - - RB LB - - - - - - - - - RB
* | 4 3 | | 3 2 | | < 3 > | | 1 |
* | | | | | | | < 3 > |
* | 1 2 | | 1 4 | | 1 2 | | 2 |
* LF - - - - - - - - - RF LF - - - - - - - - - RF LF - - - - - - - - - RF LF - - - - - - - - - RF
*/
# define LEVEL_CORNERS_LEVELING_ORDER { LF, RF, RB, LB }
# endif
# endif
/**
/**
@ -1422,13 +1606,12 @@
# define Z_SAFE_HOMING
# define Z_SAFE_HOMING
# if ENABLED(Z_SAFE_HOMING)
# if ENABLED(Z_SAFE_HOMING)
# define Z_SAFE_HOMING_X_POINT ( 0) // X point for Z homing when homing all axes (G28).
# define Z_SAFE_HOMING_X_POINT 0 // X point for Z homing
# define Z_SAFE_HOMING_Y_POINT ( 0) // Y point for Z homing when homing all axes (G28).
# define Z_SAFE_HOMING_Y_POINT 0 // Y point for Z homing
# endif
# endif
// Homing speeds (mm/m)
// Homing speeds (mm/min)
# define HOMING_FEEDRATE_XY (40*60)
# define HOMING_FEEDRATE_MM_M { (40*60), (40*60), (4*60) }
# define HOMING_FEEDRATE_Z (40*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
@ -1508,8 +1691,7 @@
# 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)
/*
/*
MKS Robin EEPROM :
MKS Robin EEPROM :
@ -1567,7 +1749,9 @@ EEPROM_W25Q
// @section temperature
// @section temperature
// Preheat Constants
//
// Preheat Constants - Up to 5 are supported without changes
//
# define PREHEAT_1_LABEL "PETG"
# define PREHEAT_1_LABEL "PETG"
# define PREHEAT_1_TEMP_HOTEND 235
# define PREHEAT_1_TEMP_HOTEND 235
# define PREHEAT_1_TEMP_BED 80
# define PREHEAT_1_TEMP_BED 80
@ -1668,6 +1852,10 @@ EEPROM_W25Q
// For a purge/clean station mounted on the X axis
// For a purge/clean station mounted on the X axis
//#define NOZZLE_CLEAN_NO_Y
//#define NOZZLE_CLEAN_NO_Y
// Require a minimum hotend temperature for cleaning
# define NOZZLE_CLEAN_MIN_TEMP 170
//#define NOZZLE_CLEAN_HEATUP // Heat up the nozzle instead of skipping wipe
// Explicit wipe G-code script applies to a G12 with no arguments.
// Explicit wipe G-code script applies to a G12 with no arguments.
//#define WIPE_SEQUENCE_COMMANDS "G1 X-17 Y25 Z10 F4000\nG1 Z1\nM114\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 Z15\nM400\nG0 X-10.0 Y-9.0"
//#define WIPE_SEQUENCE_COMMANDS "G1 X-17 Y25 Z10 F4000\nG1 Z1\nM114\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 Z15\nM400\nG0 X-10.0 Y-9.0"
@ -1703,6 +1891,9 @@ EEPROM_W25Q
* View the current statistics with M78 .
* View the current statistics with M78 .
*/
*/
# define PRINTCOUNTER
# define PRINTCOUNTER
# if ENABLED(PRINTCOUNTER)
# define PRINTCOUNTER_SAVE_INTERVAL 60 // (minutes) EEPROM save interval during print
# endif
/**
/**
* Password
* Password
@ -1747,9 +1938,9 @@ EEPROM_W25Q
* Select the language to display on the LCD . These languages are available :
* Select the language to display on the LCD . These languages are available :
*
*
* en , an , bg , ca , cz , da , de , el , el_gr , es , eu , fi , fr , gl , hr , hu , it ,
* en , an , bg , ca , cz , da , de , el , el_gr , es , eu , fi , fr , gl , hr , hu , it ,
* jp_kana , ko_KR , nl , pl , pt , pt_br , ro , ru , sk , tr , uk , vi , zh_CN , zh_TW , test
* jp_kana , ko_KR , nl , pl , pt , pt_br , ro , ru , sk , sv , tr , uk , vi , zh_CN , zh_TW
*
*
* : { ' en ' : ' English ' , ' an ' : ' Aragonese ' , ' bg ' : ' Bulgarian ' , ' ca ' : ' Catalan ' , ' cz ' : ' Czech ' , ' da ' : ' Danish ' , ' de ' : ' German ' , ' el ' : ' Greek ' , ' el_gr ' : ' Greek ( Greece ) ' , ' es ' : ' Spanish ' , ' eu ' : ' Basque - Euskera ' , ' fi ' : ' Finnish ' , ' fr ' : ' French ' , ' gl ' : ' Galician ' , ' hr ' : ' Croatian ' , ' hu ' : ' Hungarian ' , ' it ' : ' Italian ' , ' jp_kana ' : ' Japanese ' , ' ko_KR ' : ' Korean ( South Korea ) ' , ' nl ' : ' Dutch ' , ' pl ' : ' Polish ' , ' pt ' : ' Portuguese ' , ' pt_br ' : ' Portuguese ( Brazilian ) ' , ' ro ' : ' Romanian ' , ' ru ' : ' Russian ' , ' sk ' : ' Slovak ' , ' tr ' : ' Turkish ' , ' uk ' : ' Ukrainian ' , ' vi ' : ' Vietnamese ' , ' zh_CN ' : ' Chinese ( Simplified ) ' , ' zh_TW ' : ' Chinese ( Traditional ) ' , ' test ' : ' TEST ' }
* : { ' en ' : ' English ' , ' an ' : ' Aragonese ' , ' bg ' : ' Bulgarian ' , ' ca ' : ' Catalan ' , ' cz ' : ' Czech ' , ' da ' : ' Danish ' , ' de ' : ' German ' , ' el ' : ' Greek ' , ' el_gr ' : ' Greek ( Greece ) ' , ' es ' : ' Spanish ' , ' eu ' : ' Basque - Euskera ' , ' fi ' : ' Finnish ' , ' fr ' : ' French ' , ' gl ' : ' Galician ' , ' hr ' : ' Croatian ' , ' hu ' : ' Hungarian ' , ' it ' : ' Italian ' , ' jp_kana ' : ' Japanese ' , ' ko_KR ' : ' Korean ( South Korea ) ' , ' nl ' : ' Dutch ' , ' pl ' : ' Polish ' , ' pt ' : ' Portuguese ' , ' pt_br ' : ' Portuguese ( Brazilian ) ' , ' ro ' : ' Romanian ' , ' ru ' : ' Russian ' , ' sk ' : ' Slovak ' , ' sv ' : ' Swedish ' , ' tr ' : ' Turkish ' , ' uk ' : ' Ukrainian ' , ' vi ' : ' Vietnamese ' , ' zh_CN ' : ' Chinese ( Simplified ) ' , ' zh_TW ' : ' Chinese ( Traditional ) ' }
*/
*/
# define LCD_LANGUAGE en
# define LCD_LANGUAGE en
@ -1792,16 +1983,6 @@ EEPROM_W25Q
*/
*/
# define SDSUPPORT
# define SDSUPPORT
/**
* SD CARD : SPI SPEED
*
* 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_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED
/**
/**
* SD CARD : ENABLE CRC
* SD CARD : ENABLE CRC
*
*
@ -1855,7 +2036,7 @@ EEPROM_W25Q
// If CLOCKWISE normally moves DOWN this makes it go UP.
// If CLOCKWISE normally moves DOWN this makes it go UP.
// If CLOCKWISE normally moves UP this makes it go DOWN.
// If CLOCKWISE normally moves UP this makes it go DOWN.
//
//
# define REVERSE_MENU_DIRECTION
//#define REVERSE_MENU_DIRECTION
//
//
// This option reverses the encoder direction for Select Screen.
// This option reverses the encoder direction for Select Screen.
@ -1903,6 +2084,14 @@ EEPROM_W25Q
//
//
//#define REPRAP_DISCOUNT_SMART_CONTROLLER
//#define REPRAP_DISCOUNT_SMART_CONTROLLER
//
// GT2560 (YHCB2004) LCD Display
//
// Requires Testato, Koepel softwarewire library and
// Andriy Golovnya's LiquidCrystal_AIP31068 library.
//
//#define YHCB2004
//
//
// Original RADDS LCD Display+Encoder+SDCardReader
// Original RADDS LCD Display+Encoder+SDCardReader
// http://doku.radds.org/dokumentation/lcd-display/
// http://doku.radds.org/dokumentation/lcd-display/
@ -2053,6 +2242,11 @@ EEPROM_W25Q
//
//
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
//
// K.3D Full Graphic Smart Controller
//
//#define K3D_FULL_GRAPHIC_SMART_CONTROLLER
//
//
// ReprapWorld Graphical LCD
// ReprapWorld Graphical LCD
// https://reprapworld.com/?products_details&products_id/1218
// https://reprapworld.com/?products_details&products_id/1218
@ -2149,9 +2343,10 @@ EEPROM_W25Q
//
//
// Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6
// Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6
// A clone of the RepRapDiscount full graphics display but with
// A clone of the RepRapDiscount full graphics display but with
// different pins/wiring (see pins_ANET_10.h).
// different pins/wiring (see pins_ANET_10.h). Enable one of these.
//
//
//#define ANET_FULL_GRAPHICS_LCD
//#define ANET_FULL_GRAPHICS_LCD
//#define ANET_FULL_GRAPHICS_LCD_ALT_WIRING
//
//
// AZSMZ 12864 LCD with SD
// AZSMZ 12864 LCD with SD
@ -2189,7 +2384,7 @@ EEPROM_W25Q
//#define OLED_PANEL_TINYBOY2
//#define OLED_PANEL_TINYBOY2
//
//
// MKS OLED 1.3" 128×64 FULL GRAPHICS CONTROLLER
// MKS OLED 1.3" 128×64 Full Graphics Controller
// https://reprap.org/wiki/MKS_12864OLED
// https://reprap.org/wiki/MKS_12864OLED
//
//
// Tiny, but very sharp OLED display
// Tiny, but very sharp OLED display
@ -2198,7 +2393,7 @@ EEPROM_W25Q
//#define MKS_12864OLED_SSD1306 // Uses the SSD1306 controller
//#define MKS_12864OLED_SSD1306 // Uses the SSD1306 controller
//
//
// Zonestar OLED 128×64 FULL GRAPHICS CONTROLLER
// Zonestar OLED 128×64 Full Graphics Controller
//
//
//#define ZONESTAR_12864LCD // Graphical (DOGM) with ST7920 controller
//#define ZONESTAR_12864LCD // Graphical (DOGM) with ST7920 controller
//#define ZONESTAR_12864OLED // 1.3" OLED with SH1106 controller (default)
//#define ZONESTAR_12864OLED // 1.3" OLED with SH1106 controller (default)
@ -2215,10 +2410,15 @@ EEPROM_W25Q
//#define OVERLORD_OLED
//#define OVERLORD_OLED
//
//
// FYSETC OLED 2.42" 128×64 FULL GRAPHICS CONTROLLER with WS2812 RGB
// FYSETC OLED 2.42" 128×64 Full Graphics Controller with WS2812 RGB
// Where to find : https://www.aliexpress.com/item/4000345255731.html
// Where to find : https://www.aliexpress.com/item/4000345255731.html
//#define FYSETC_242_OLED_12864 // Uses the SSD1309 controller
//#define FYSETC_242_OLED_12864 // Uses the SSD1309 controller
//
// K.3D SSD1309 OLED 2.42" 128×64 Full Graphics Controller
//
//#define K3D_242_OLED_CONTROLLER // Software SPI
//=============================================================================
//=============================================================================
//========================== Extensible UI Displays ===========================
//========================== Extensible UI Displays ===========================
//=============================================================================
//=============================================================================
@ -2232,6 +2432,11 @@ EEPROM_W25Q
//#define DGUS_LCD_UI_FYSETC
//#define DGUS_LCD_UI_FYSETC
//#define DGUS_LCD_UI_HIPRECY
//#define DGUS_LCD_UI_HIPRECY
//#define DGUS_LCD_UI_MKS
# if ENABLED(DGUS_LCD_UI_MKS)
# define USE_MKS_GREEN_UI
# endif
//
//
// Touch-screen LCD for Malyan M200/M300 printers
// Touch-screen LCD for Malyan M200/M300 printers
//
//
@ -2256,9 +2461,17 @@ EEPROM_W25Q
//#define ANYCUBIC_LCD_DEBUG
//#define ANYCUBIC_LCD_DEBUG
# endif
# endif
//
// 320x240 Nextion 2.8" serial TFT Resistive Touch Screen NX3224T028
//
//#define NEXTION_TFT
# if ENABLED(NEXTION_TFT)
# define LCD_SERIAL_PORT 1 // Default is 1 for Nextion
# endif
//
//
// Third-party or vendor-customized controller interfaces.
// Third-party or vendor-customized controller interfaces.
// Sources should be installed in 'src/lcd/extensible_ui'.
// Sources should be installed in 'src/lcd/extui'.
//
//
//#define EXTENSIBLE_UI
//#define EXTENSIBLE_UI
@ -2271,23 +2484,99 @@ EEPROM_W25Q
//=============================================================================
//=============================================================================
/**
/**
* TFT Type - Select your Display type
* Specific TFT Model Presets . Enable one of the following options
*
* or enable TFT_GENERIC and set sub - options .
* Available options are :
* MKS_TS35_V2_0 ,
* MKS_ROBIN_TFT24 , MKS_ROBIN_TFT28 , MKS_ROBIN_TFT32 , MKS_ROBIN_TFT35 ,
* MKS_ROBIN_TFT43 , MKS_ROBIN_TFT_V1_1R
* TFT_TRONXY_X5SA , ANYCUBIC_TFT35 , LONGER_LK_TFT28
* TFT_GENERIC
*
* For TFT_GENERIC , you need to configure these 3 options :
* Driver : TFT_DRIVER
* Current Drivers are : AUTO , ST7735 , ST7789 , ST7796 , R61505 , ILI9328 , ILI9341 , ILI9488
* Resolution : TFT_WIDTH and TFT_HEIGHT
* Interface : TFT_INTERFACE_FSMC or TFT_INTERFACE_SPI
*/
*/
//
// 480x320, 3.5", SPI Display From MKS
// Normally used in MKS Robin Nano V2
//
//#define MKS_TS35_V2_0
//
// 320x240, 2.4", FSMC Display From MKS
// Normally used in MKS Robin Nano V1.2
//
//#define MKS_ROBIN_TFT24
//
// 320x240, 2.8", FSMC Display From MKS
// Normally used in MKS Robin Nano V1.2
//
//#define MKS_ROBIN_TFT28
//
// 320x240, 3.2", FSMC Display From MKS
// Normally used in MKS Robin Nano V1.2
//
//#define MKS_ROBIN_TFT32
//
// 480x320, 3.5", FSMC Display From MKS
// Normally used in MKS Robin Nano V1.2
//
# define MKS_ROBIN_TFT35
# define MKS_ROBIN_TFT35
//
// 480x272, 4.3", FSMC Display From MKS
//
//#define MKS_ROBIN_TFT43
//
// 320x240, 3.2", FSMC Display From MKS
// Normally used in MKS Robin
//
//#define MKS_ROBIN_TFT_V1_1R
//
// 480x320, 3.5", FSMC Stock Display from TronxXY
//
//#define TFT_TRONXY_X5SA
//
// 480x320, 3.5", FSMC Stock Display from AnyCubic
//
//#define ANYCUBIC_TFT35
//
// 320x240, 2.8", FSMC Stock Display from Longer/Alfawise
//
//#define LONGER_LK_TFT28
//
// 320x240, 2.8", FSMC Stock Display from ET4
//
//#define ANET_ET4_TFT28
//
// 480x320, 3.5", FSMC Stock Display from ET5
//
//#define ANET_ET5_TFT35
//
// 1024x600, 7", RGB Stock Display from BIQU-BX
//
//#define BIQU_BX_TFT70
//
// Generic TFT with detailed options
//
//#define TFT_GENERIC
# if ENABLED(TFT_GENERIC)
// :[ 'AUTO', 'ST7735', 'ST7789', 'ST7796', 'R61505', 'ILI9328', 'ILI9341', 'ILI9488' ]
# define TFT_DRIVER AUTO
// Interface. Enable one of the following options:
//#define TFT_INTERFACE_FSMC
//#define TFT_INTERFACE_SPI
// TFT Resolution. Enable one of the following options:
//#define TFT_RES_320x240
//#define TFT_RES_480x272
//#define TFT_RES_480x320
# endif
/**
/**
* TFT UI - User Interface Selection . Enable one of the following options :
* TFT UI - User Interface Selection . Enable one of the following options :
*
*
@ -2302,6 +2591,10 @@ EEPROM_W25Q
# define TFT_COLOR_UI
# define TFT_COLOR_UI
//#define TFT_LVGL_UI
//#define TFT_LVGL_UI
# if ENABLED(TFT_LVGL_UI)
# define MKS_WIFI_MODULE // MKS WiFi module
# endif
/**
/**
* TFT Rotation . Set to one of the following values :
* TFT Rotation . Set to one of the following values :
*
*
@ -2331,10 +2624,19 @@ EEPROM_W25Q
# define TOUCH_SCREEN_CALIBRATION
# define TOUCH_SCREEN_CALIBRATION
//#define XPT2046_X_CALIBRATION 12316
//#define TOUCH_CALIBRATION_X 12316
//#define XPT2046_Y_CALIBRATION -8981
//#define TOUCH_CALIBRATION_Y -8981
//#define XPT2046_X_OFFSET -43
//#define TOUCH_OFFSET_X -43
//#define XPT2046_Y_OFFSET 257
//#define TOUCH_OFFSET_Y 257
//#define TOUCH_ORIENTATION TOUCH_LANDSCAPE
# if BOTH(TOUCH_SCREEN_CALIBRATION, EEPROM_SETTINGS)
# define TOUCH_CALIBRATION_AUTO_SAVE // Auto save successful calibration values to EEPROM
# endif
# if ENABLED(TFT_COLOR_UI)
# define SINGLE_TOUCH_NAVIGATION
# endif
# endif
# endif
//
//
@ -2448,6 +2750,7 @@ EEPROM_W25Q
// Use a single NeoPixel LED for static (background) lighting
// Use a single NeoPixel LED for static (background) lighting
//#define NEOPIXEL_BKGD_LED_INDEX 0 // Index of the LED to use
//#define NEOPIXEL_BKGD_LED_INDEX 0 // Index of the LED to use
//#define NEOPIXEL_BKGD_COLOR { 255, 255, 255, 0 } // R, G, B, W
//#define NEOPIXEL_BKGD_COLOR { 255, 255, 255, 0 } // R, G, B, W
//#define NEOPIXEL_BKGD_ALWAYS_ON // Keep the backlight on when other NeoPixels are off
# endif
# endif
/**
/**