diff --git a/Marlin/src/inc/BaseConfiguration.h b/Marlin/src/inc/BaseConfiguration.h
deleted file mode 100644
index 0a8229bb6369..000000000000
--- a/Marlin/src/inc/BaseConfiguration.h
+++ /dev/null
@@ -1,1331 +0,0 @@
-/**
- * Marlin 3D Printer Firmware
- * Copyright (c) 2024 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
- *
- * Based on Sprinter and grbl.
- * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- */
-#pragma once
-
-/**
- * BaseConfiguration.h - Generated using makeBaseConfigs.py
- */
-
-#ifndef CONFIGURATION_H_VERSION
- #define CONFIGURATION_H_VERSION 02010300
-#endif
-#ifndef STRING_CONFIG_H_AUTHOR
- #define STRING_CONFIG_H_AUTHOR "(none, default config)"
-#endif
-#ifndef MOTHERBOARD
- #define MOTHERBOARD BOARD_RAMPS_14_EFB
-#endif
-#ifndef SERIAL_PORT
- #define SERIAL_PORT 0
-#endif
-#ifndef BAUDRATE
- #define BAUDRATE 250000
-#endif
-#ifndef X_DRIVER_TYPE
- #define X_DRIVER_TYPE A4988
-#endif
-#ifndef Y_DRIVER_TYPE
- #define Y_DRIVER_TYPE A4988
-#endif
-#ifndef Z_DRIVER_TYPE
- #define Z_DRIVER_TYPE A4988
-#endif
-#ifndef E0_DRIVER_TYPE
- #define E0_DRIVER_TYPE A4988
-#endif
-#ifdef I_DRIVER_TYPE
- #ifndef AXIS4_NAME
- #define AXIS4_NAME 'A'
- #endif
-#endif
-#ifdef J_DRIVER_TYPE
- #ifndef AXIS5_NAME
- #define AXIS5_NAME 'B'
- #endif
-#endif
-#ifdef K_DRIVER_TYPE
- #ifndef AXIS6_NAME
- #define AXIS6_NAME 'C'
- #endif
-#endif
-#ifdef U_DRIVER_TYPE
- #ifndef AXIS7_NAME
- #define AXIS7_NAME 'U'
- #endif
-#endif
-#ifdef V_DRIVER_TYPE
- #ifndef AXIS8_NAME
- #define AXIS8_NAME 'V'
- #endif
-#endif
-#ifdef W_DRIVER_TYPE
- #ifndef AXIS9_NAME
- #define AXIS9_NAME 'W'
- #endif
-#endif
-#ifndef EXTRUDERS
- #define EXTRUDERS 1
-#endif
-#ifndef DEFAULT_NOMINAL_FILAMENT_DIA
- #define DEFAULT_NOMINAL_FILAMENT_DIA 1.75
-#endif
-#if ENABLED(SWITCHING_EXTRUDER)
- #ifndef SWITCHING_EXTRUDER_SERVO_NR
- #define SWITCHING_EXTRUDER_SERVO_NR 0
- #endif
- #ifndef SWITCHING_EXTRUDER_SERVO_ANGLES
- #define SWITCHING_EXTRUDER_SERVO_ANGLES { 0, 90 }
- #endif
- #if EXTRUDERS > 3
- #ifndef SWITCHING_EXTRUDER_E23_SERVO_NR
- #define SWITCHING_EXTRUDER_E23_SERVO_NR 1
- #endif
- #endif
-#endif
-#if ENABLED(SWITCHING_NOZZLE)
- #ifndef SWITCHING_NOZZLE_SERVO_NR
- #define SWITCHING_NOZZLE_SERVO_NR 0
- #endif
- #ifndef SWITCHING_NOZZLE_SERVO_ANGLES
- #define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 90 }
- #endif
- #ifndef SWITCHING_NOZZLE_SERVO_DWELL
- #define SWITCHING_NOZZLE_SERVO_DWELL 2500
- #endif
-#endif
-#if ANY(PARKING_EXTRUDER, MAGNETIC_PARKING_EXTRUDER)
- #ifndef PARKING_EXTRUDER_PARKING_X
- #define PARKING_EXTRUDER_PARKING_X { -78, 184 }
- #endif
- #ifndef PARKING_EXTRUDER_GRAB_DISTANCE
- #define PARKING_EXTRUDER_GRAB_DISTANCE 1
- #endif
- #if ENABLED(PARKING_EXTRUDER)
- #ifndef PARKING_EXTRUDER_SOLENOIDS_PINS_ACTIVE
- #define PARKING_EXTRUDER_SOLENOIDS_PINS_ACTIVE LOW
- #endif
- #ifndef PARKING_EXTRUDER_SOLENOIDS_DELAY
- #define PARKING_EXTRUDER_SOLENOIDS_DELAY 250
- #endif
- #elif ENABLED(MAGNETIC_PARKING_EXTRUDER)
- #ifndef MPE_FAST_SPEED
- #define MPE_FAST_SPEED 9000
- #endif
- #ifndef MPE_SLOW_SPEED
- #define MPE_SLOW_SPEED 4500
- #endif
- #ifndef MPE_TRAVEL_DISTANCE
- #define MPE_TRAVEL_DISTANCE 10
- #endif
- #ifndef MPE_COMPENSATION
- #define MPE_COMPENSATION 0
- #endif
- #endif
-#endif
-#if ANY(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD, ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
- #ifndef SWITCHING_TOOLHEAD_Y_POS
- #define SWITCHING_TOOLHEAD_Y_POS 235
- #endif
- #ifndef SWITCHING_TOOLHEAD_Y_SECURITY
- #define SWITCHING_TOOLHEAD_Y_SECURITY 10
- #endif
- #ifndef SWITCHING_TOOLHEAD_Y_CLEAR
- #define SWITCHING_TOOLHEAD_Y_CLEAR 60
- #endif
- #ifndef SWITCHING_TOOLHEAD_X_POS
- #define SWITCHING_TOOLHEAD_X_POS { 215, 0 }
- #endif
- #if ENABLED(SWITCHING_TOOLHEAD)
- #ifndef SWITCHING_TOOLHEAD_SERVO_NR
- #define SWITCHING_TOOLHEAD_SERVO_NR 2
- #endif
- #ifndef SWITCHING_TOOLHEAD_SERVO_ANGLES
- #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }
- #endif
- #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
- #ifndef SWITCHING_TOOLHEAD_Y_RELEASE
- #define SWITCHING_TOOLHEAD_Y_RELEASE 5
- #endif
- #ifndef SWITCHING_TOOLHEAD_X_SECURITY
- #define SWITCHING_TOOLHEAD_X_SECURITY { 90, 150 }
- #endif
- #if ENABLED(PRIME_BEFORE_REMOVE)
- #ifndef SWITCHING_TOOLHEAD_PRIME_MM
- #define SWITCHING_TOOLHEAD_PRIME_MM 20
- #endif
- #ifndef SWITCHING_TOOLHEAD_RETRACT_MM
- #define SWITCHING_TOOLHEAD_RETRACT_MM 10
- #endif
- #ifndef SWITCHING_TOOLHEAD_PRIME_FEEDRATE
- #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE 300
- #endif
- #ifndef SWITCHING_TOOLHEAD_RETRACT_FEEDRATE
- #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400
- #endif
- #endif
- #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
- #ifndef SWITCHING_TOOLHEAD_Z_HOP
- #define SWITCHING_TOOLHEAD_Z_HOP 2
- #endif
- #endif
-#endif
-#if ENABLED(MIXING_EXTRUDER)
- #ifndef MIXING_STEPPERS
- #define MIXING_STEPPERS 2
- #endif
- #ifndef MIXING_VIRTUAL_TOOLS
- #define MIXING_VIRTUAL_TOOLS 16
- #endif
-#endif
-#if ENABLED(PSU_CONTROL)
- #ifndef PSU_ACTIVE_STATE
- #define PSU_ACTIVE_STATE LOW
- #endif
- #ifndef PS_EDM_RESPONSE
- #define PS_EDM_RESPONSE 250
- #endif
- #if ENABLED(AUTO_POWER_CONTROL)
- #ifndef POWER_TIMEOUT
- #define POWER_TIMEOUT 30
- #endif
- #endif
-#endif
-#ifndef TEMP_SENSOR_0
- #define TEMP_SENSOR_0 1
-#endif
-#ifndef TEMP_SENSOR_1
- #define TEMP_SENSOR_1 0
-#endif
-#ifndef TEMP_SENSOR_2
- #define TEMP_SENSOR_2 0
-#endif
-#ifndef TEMP_SENSOR_3
- #define TEMP_SENSOR_3 0
-#endif
-#ifndef TEMP_SENSOR_4
- #define TEMP_SENSOR_4 0
-#endif
-#ifndef TEMP_SENSOR_5
- #define TEMP_SENSOR_5 0
-#endif
-#ifndef TEMP_SENSOR_6
- #define TEMP_SENSOR_6 0
-#endif
-#ifndef TEMP_SENSOR_7
- #define TEMP_SENSOR_7 0
-#endif
-#ifndef TEMP_SENSOR_BED
- #define TEMP_SENSOR_BED 1
-#endif
-#ifndef TEMP_SENSOR_PROBE
- #define TEMP_SENSOR_PROBE 0
-#endif
-#ifndef TEMP_SENSOR_CHAMBER
- #define TEMP_SENSOR_CHAMBER 0
-#endif
-#ifndef TEMP_SENSOR_COOLER
- #define TEMP_SENSOR_COOLER 0
-#endif
-#ifndef TEMP_SENSOR_BOARD
- #define TEMP_SENSOR_BOARD 0
-#endif
-#ifndef TEMP_SENSOR_SOC
- #define TEMP_SENSOR_SOC 0
-#endif
-#ifndef TEMP_SENSOR_REDUNDANT
- #define TEMP_SENSOR_REDUNDANT 0
-#endif
-#ifndef DUMMY_THERMISTOR_998_VALUE
- #define DUMMY_THERMISTOR_998_VALUE 25
-#endif
-#ifndef DUMMY_THERMISTOR_999_VALUE
- #define DUMMY_THERMISTOR_999_VALUE 100
-#endif
-#if TEMP_SENSOR_IS_MAX_TC(0)
- #ifndef MAX31865_SENSOR_OHMS_0
- #define MAX31865_SENSOR_OHMS_0 100
- #endif
- #ifndef MAX31865_CALIBRATION_OHMS_0
- #define MAX31865_CALIBRATION_OHMS_0 430
- #endif
-#endif
-#if TEMP_SENSOR_IS_MAX_TC(1)
- #ifndef MAX31865_SENSOR_OHMS_1
- #define MAX31865_SENSOR_OHMS_1 100
- #endif
- #ifndef MAX31865_CALIBRATION_OHMS_1
- #define MAX31865_CALIBRATION_OHMS_1 430
- #endif
-#endif
-#if TEMP_SENSOR_IS_MAX_TC(2)
- #ifndef MAX31865_SENSOR_OHMS_2
- #define MAX31865_SENSOR_OHMS_2 100
- #endif
- #ifndef MAX31865_CALIBRATION_OHMS_2
- #define MAX31865_CALIBRATION_OHMS_2 430
- #endif
-#endif
-#if HAS_E_TEMP_SENSOR
- #ifndef TEMP_RESIDENCY_TIME
- #define TEMP_RESIDENCY_TIME 10
- #endif
- #ifndef TEMP_WINDOW
- #define TEMP_WINDOW 1
- #endif
- #ifndef TEMP_HYSTERESIS
- #define TEMP_HYSTERESIS 3
- #endif
-#endif
-#if TEMP_SENSOR_BED
- #ifndef TEMP_BED_RESIDENCY_TIME
- #define TEMP_BED_RESIDENCY_TIME 10
- #endif
- #ifndef TEMP_BED_WINDOW
- #define TEMP_BED_WINDOW 1
- #endif
- #ifndef TEMP_BED_HYSTERESIS
- #define TEMP_BED_HYSTERESIS 3
- #endif
-#endif
-#if TEMP_SENSOR_CHAMBER
- #ifndef TEMP_CHAMBER_RESIDENCY_TIME
- #define TEMP_CHAMBER_RESIDENCY_TIME 10
- #endif
- #ifndef TEMP_CHAMBER_WINDOW
- #define TEMP_CHAMBER_WINDOW 1
- #endif
- #ifndef TEMP_CHAMBER_HYSTERESIS
- #define TEMP_CHAMBER_HYSTERESIS 3
- #endif
-#endif
-#if TEMP_SENSOR_REDUNDANT
- #ifndef TEMP_SENSOR_REDUNDANT_SOURCE
- #define TEMP_SENSOR_REDUNDANT_SOURCE E1
- #endif
- #ifndef TEMP_SENSOR_REDUNDANT_TARGET
- #define TEMP_SENSOR_REDUNDANT_TARGET E0
- #endif
- #ifndef TEMP_SENSOR_REDUNDANT_MAX_DIFF
- #define TEMP_SENSOR_REDUNDANT_MAX_DIFF 10
- #endif
-#endif
-#ifndef HEATER_0_MINTEMP
- #define HEATER_0_MINTEMP 5
-#endif
-#ifndef HEATER_1_MINTEMP
- #define HEATER_1_MINTEMP 5
-#endif
-#ifndef HEATER_2_MINTEMP
- #define HEATER_2_MINTEMP 5
-#endif
-#ifndef HEATER_3_MINTEMP
- #define HEATER_3_MINTEMP 5
-#endif
-#ifndef HEATER_4_MINTEMP
- #define HEATER_4_MINTEMP 5
-#endif
-#ifndef HEATER_5_MINTEMP
- #define HEATER_5_MINTEMP 5
-#endif
-#ifndef HEATER_6_MINTEMP
- #define HEATER_6_MINTEMP 5
-#endif
-#ifndef HEATER_7_MINTEMP
- #define HEATER_7_MINTEMP 5
-#endif
-#ifndef BED_MINTEMP
- #define BED_MINTEMP 5
-#endif
-#ifndef CHAMBER_MINTEMP
- #define CHAMBER_MINTEMP 5
-#endif
-#ifndef HEATER_0_MAXTEMP
- #define HEATER_0_MAXTEMP 275
-#endif
-#ifndef HEATER_1_MAXTEMP
- #define HEATER_1_MAXTEMP 275
-#endif
-#ifndef HEATER_2_MAXTEMP
- #define HEATER_2_MAXTEMP 275
-#endif
-#ifndef HEATER_3_MAXTEMP
- #define HEATER_3_MAXTEMP 275
-#endif
-#ifndef HEATER_4_MAXTEMP
- #define HEATER_4_MAXTEMP 275
-#endif
-#ifndef HEATER_5_MAXTEMP
- #define HEATER_5_MAXTEMP 275
-#endif
-#ifndef HEATER_6_MAXTEMP
- #define HEATER_6_MAXTEMP 275
-#endif
-#ifndef HEATER_7_MAXTEMP
- #define HEATER_7_MAXTEMP 275
-#endif
-#ifndef BED_MAXTEMP
- #define BED_MAXTEMP 150
-#endif
-#ifndef CHAMBER_MAXTEMP
- #define CHAMBER_MAXTEMP 60
-#endif
-#ifndef HOTEND_OVERSHOOT
- #define HOTEND_OVERSHOOT 15
-#endif
-#ifndef BED_OVERSHOOT
- #define BED_OVERSHOOT 10
-#endif
-#ifndef COOLER_OVERSHOOT
- #define COOLER_OVERSHOOT 2
-#endif
-#ifndef PID_MAX
- #define PID_MAX 255
-#endif
-#ifndef PID_K1
- #define PID_K1 0.95
-#endif
-#if ENABLED(PIDTEMP)
- #if ENABLED(PID_PARAMS_PER_HOTEND)
- #ifndef DEFAULT_Kp_LIST
- #define DEFAULT_Kp_LIST { 22.20, 22.20 }
- #endif
- #ifndef DEFAULT_Ki_LIST
- #define DEFAULT_Ki_LIST { 1.08, 1.08 }
- #endif
- #ifndef DEFAULT_Kd_LIST
- #define DEFAULT_Kd_LIST { 114.00, 114.00 }
- #endif
- #else
- #ifndef DEFAULT_Kp
- #define DEFAULT_Kp 22.20
- #endif
- #ifndef DEFAULT_Ki
- #define DEFAULT_Ki 1.08
- #endif
- #ifndef DEFAULT_Kd
- #define DEFAULT_Kd 114.00
- #endif
- #endif
-#else
- #ifndef BANG_MAX
- #define BANG_MAX 255
- #endif
-#endif
-#if ENABLED(MPCTEMP)
- #ifndef MPC_MAX
- #define MPC_MAX 255
- #endif
- #ifndef MPC_HEATER_POWER
- #define MPC_HEATER_POWER { 40.0f }
- #endif
- #ifndef MPC_BLOCK_HEAT_CAPACITY
- #define MPC_BLOCK_HEAT_CAPACITY { 16.7f }
- #endif
- #ifndef MPC_SENSOR_RESPONSIVENESS
- #define MPC_SENSOR_RESPONSIVENESS { 0.22f }
- #endif
- #ifndef MPC_AMBIENT_XFER_COEFF
- #define MPC_AMBIENT_XFER_COEFF { 0.068f }
- #endif
- #if ENABLED(MPC_INCLUDE_FAN)
- #ifndef MPC_AMBIENT_XFER_COEFF_FAN255
- #define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f }
- #endif
- #endif
- #ifndef FILAMENT_HEAT_CAPACITY_PERMM
- #define FILAMENT_HEAT_CAPACITY_PERMM { 5.6e-3f }
- #endif
- #ifndef MPC_SMOOTHING_FACTOR
- #define MPC_SMOOTHING_FACTOR 0.5f
- #endif
- #ifndef MPC_MIN_AMBIENT_CHANGE
- #define MPC_MIN_AMBIENT_CHANGE 1.0f
- #endif
- #ifndef MPC_STEADYSTATE
- #define MPC_STEADYSTATE 0.5f
- #endif
- #ifndef MPC_TUNING_POS
- #define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f }
- #endif
- #ifndef MPC_TUNING_END_Z
- #define MPC_TUNING_END_Z 10.0f
- #endif
-#endif
-#ifndef MAX_BED_POWER
- #define MAX_BED_POWER 255
-#endif
-#if ENABLED(PIDTEMPBED)
- #ifndef DEFAULT_bedKp
- #define DEFAULT_bedKp 10.00
- #endif
- #ifndef DEFAULT_bedKi
- #define DEFAULT_bedKi .023
- #endif
- #ifndef DEFAULT_bedKd
- #define DEFAULT_bedKd 305.4
- #endif
-#else
-#endif
-#ifndef MAX_CHAMBER_POWER
- #define MAX_CHAMBER_POWER 255
-#endif
-#if ENABLED(PIDTEMPCHAMBER)
- #ifndef MIN_CHAMBER_POWER
- #define MIN_CHAMBER_POWER 0
- #endif
- #ifndef DEFAULT_chamberKp
- #define DEFAULT_chamberKp 37.04
- #endif
- #ifndef DEFAULT_chamberKi
- #define DEFAULT_chamberKi 1.40
- #endif
- #ifndef DEFAULT_chamberKd
- #define DEFAULT_chamberKd 655.17
- #endif
-#endif
-#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
- #ifndef PID_FUNCTIONAL_RANGE
- #define PID_FUNCTIONAL_RANGE 10
- #endif
-#endif
-#ifndef EXTRUDE_MINTEMP
- #define EXTRUDE_MINTEMP 170
-#endif
-#ifndef EXTRUDE_MAXLENGTH
- #define EXTRUDE_MAXLENGTH 200
-#endif
-#if ENABLED(POLARGRAPH)
- #ifndef POLARGRAPH_MAX_BELT_LEN
- #define POLARGRAPH_MAX_BELT_LEN 1035.0
- #endif
- #ifndef DEFAULT_SEGMENTS_PER_SECOND
- #define DEFAULT_SEGMENTS_PER_SECOND 5
- #endif
-#endif
-#if ENABLED(DELTA)
- #ifndef DEFAULT_SEGMENTS_PER_SECOND
- #define DEFAULT_SEGMENTS_PER_SECOND 200
- #endif
- #if ENABLED(DELTA_AUTO_CALIBRATION)
- #ifndef DELTA_CALIBRATION_DEFAULT_POINTS
- #define DELTA_CALIBRATION_DEFAULT_POINTS 4
- #endif
- #endif
- #if ANY(DELTA_AUTO_CALIBRATION, DELTA_CALIBRATION_MENU)
- #ifndef PROBE_MANUALLY_STEP
- #define PROBE_MANUALLY_STEP 0.05
- #endif
- #endif
- #ifndef PRINTABLE_RADIUS
- #define PRINTABLE_RADIUS 140.0
- #endif
- #ifndef DELTA_MAX_RADIUS
- #define DELTA_MAX_RADIUS 140.0
- #endif
- #ifndef DELTA_DIAGONAL_ROD
- #define DELTA_DIAGONAL_ROD 250.0
- #endif
- #ifndef DELTA_HEIGHT
- #define DELTA_HEIGHT 250.00
- #endif
- #ifndef DELTA_ENDSTOP_ADJ
- #define DELTA_ENDSTOP_ADJ { 0.0, 0.0, 0.0 }
- #endif
- #ifndef DELTA_RADIUS
- #define DELTA_RADIUS 124.0
- #endif
- #ifndef DELTA_TOWER_ANGLE_TRIM
- #define DELTA_TOWER_ANGLE_TRIM { 0.0, 0.0, 0.0 }
- #endif
-#endif
-#if ANY(MORGAN_SCARA, MP_SCARA)
- #ifndef DEFAULT_SEGMENTS_PER_SECOND
- #define DEFAULT_SEGMENTS_PER_SECOND 200
- #endif
- #ifndef SCARA_LINKAGE_1
- #define SCARA_LINKAGE_1 150
- #endif
- #ifndef SCARA_LINKAGE_2
- #define SCARA_LINKAGE_2 150
- #endif
- #ifndef SCARA_OFFSET_X
- #define SCARA_OFFSET_X 100
- #endif
- #ifndef SCARA_OFFSET_Y
- #define SCARA_OFFSET_Y -56
- #endif
- #if ENABLED(MORGAN_SCARA)
- #ifndef MIDDLE_DEAD_ZONE_R
- #define MIDDLE_DEAD_ZONE_R 0
- #endif
- #elif ENABLED(MP_SCARA)
- #ifndef SCARA_OFFSET_THETA1
- #define SCARA_OFFSET_THETA1 12
- #endif
- #ifndef SCARA_OFFSET_THETA2
- #define SCARA_OFFSET_THETA2 131
- #endif
- #endif
-#endif
-#if ENABLED(AXEL_TPARA)
- #ifndef DEFAULT_SEGMENTS_PER_SECOND
- #define DEFAULT_SEGMENTS_PER_SECOND 200
- #endif
- #ifndef TPARA_LINKAGE_1
- #define TPARA_LINKAGE_1 120
- #endif
- #ifndef TPARA_LINKAGE_2
- #define TPARA_LINKAGE_2 120
- #endif
- #ifndef TPARA_OFFSET_X
- #define TPARA_OFFSET_X 0
- #endif
- #ifndef TPARA_OFFSET_Y
- #define TPARA_OFFSET_Y 0
- #endif
- #ifndef TPARA_OFFSET_Z
- #define TPARA_OFFSET_Z 0
- #endif
- #ifndef MIDDLE_DEAD_ZONE_R
- #define MIDDLE_DEAD_ZONE_R 0
- #endif
-#endif
-#if ENABLED(POLAR)
- #ifndef DEFAULT_SEGMENTS_PER_SECOND
- #define DEFAULT_SEGMENTS_PER_SECOND 180
- #endif
- #ifndef PRINTABLE_RADIUS
- #define PRINTABLE_RADIUS 82.0f
- #endif
- #ifndef POLAR_FAST_RADIUS
- #define POLAR_FAST_RADIUS 3.0f
- #endif
- #ifndef POLAR_CENTER_OFFSET
- #define POLAR_CENTER_OFFSET 0.0f
- #endif
-#endif
-#ifndef X_MIN_ENDSTOP_HIT_STATE
- #define X_MIN_ENDSTOP_HIT_STATE HIGH
-#endif
-#ifndef X_MAX_ENDSTOP_HIT_STATE
- #define X_MAX_ENDSTOP_HIT_STATE HIGH
-#endif
-#ifndef Y_MIN_ENDSTOP_HIT_STATE
- #define Y_MIN_ENDSTOP_HIT_STATE HIGH
-#endif
-#ifndef Y_MAX_ENDSTOP_HIT_STATE
- #define Y_MAX_ENDSTOP_HIT_STATE HIGH
-#endif
-#ifndef Z_MIN_ENDSTOP_HIT_STATE
- #define Z_MIN_ENDSTOP_HIT_STATE HIGH
-#endif
-#ifndef Z_MAX_ENDSTOP_HIT_STATE
- #define Z_MAX_ENDSTOP_HIT_STATE HIGH
-#endif
-#ifndef I_MIN_ENDSTOP_HIT_STATE
- #define I_MIN_ENDSTOP_HIT_STATE HIGH
-#endif
-#ifndef I_MAX_ENDSTOP_HIT_STATE
- #define I_MAX_ENDSTOP_HIT_STATE HIGH
-#endif
-#ifndef J_MIN_ENDSTOP_HIT_STATE
- #define J_MIN_ENDSTOP_HIT_STATE HIGH
-#endif
-#ifndef J_MAX_ENDSTOP_HIT_STATE
- #define J_MAX_ENDSTOP_HIT_STATE HIGH
-#endif
-#ifndef K_MIN_ENDSTOP_HIT_STATE
- #define K_MIN_ENDSTOP_HIT_STATE HIGH
-#endif
-#ifndef K_MAX_ENDSTOP_HIT_STATE
- #define K_MAX_ENDSTOP_HIT_STATE HIGH
-#endif
-#ifndef U_MIN_ENDSTOP_HIT_STATE
- #define U_MIN_ENDSTOP_HIT_STATE HIGH
-#endif
-#ifndef U_MAX_ENDSTOP_HIT_STATE
- #define U_MAX_ENDSTOP_HIT_STATE HIGH
-#endif
-#ifndef V_MIN_ENDSTOP_HIT_STATE
- #define V_MIN_ENDSTOP_HIT_STATE HIGH
-#endif
-#ifndef V_MAX_ENDSTOP_HIT_STATE
- #define V_MAX_ENDSTOP_HIT_STATE HIGH
-#endif
-#ifndef W_MIN_ENDSTOP_HIT_STATE
- #define W_MIN_ENDSTOP_HIT_STATE HIGH
-#endif
-#ifndef W_MAX_ENDSTOP_HIT_STATE
- #define W_MAX_ENDSTOP_HIT_STATE HIGH
-#endif
-#ifndef Z_MIN_PROBE_ENDSTOP_HIT_STATE
- #define Z_MIN_PROBE_ENDSTOP_HIT_STATE HIGH
-#endif
-#ifndef DEFAULT_AXIS_STEPS_PER_UNIT
- #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 500 }
-#endif
-#ifndef DEFAULT_MAX_FEEDRATE
- #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 }
-#endif
-#if ENABLED(LIMITED_MAX_FR_EDITING)
- #ifndef MAX_FEEDRATE_EDIT_VALUES
- #define MAX_FEEDRATE_EDIT_VALUES { 600, 600, 10, 50 }
- #endif
-#endif
-#ifndef DEFAULT_MAX_ACCELERATION
- #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 }
-#endif
-#if ENABLED(LIMITED_MAX_ACCEL_EDITING)
- #ifndef MAX_ACCEL_EDIT_VALUES
- #define MAX_ACCEL_EDIT_VALUES { 6000, 6000, 200, 20000 }
- #endif
-#endif
-#ifndef DEFAULT_ACCELERATION
- #define DEFAULT_ACCELERATION 3000
-#endif
-#ifndef DEFAULT_RETRACT_ACCELERATION
- #define DEFAULT_RETRACT_ACCELERATION 3000
-#endif
-#ifndef DEFAULT_TRAVEL_ACCELERATION
- #define DEFAULT_TRAVEL_ACCELERATION 3000
-#endif
-#if ENABLED(CLASSIC_JERK)
- #ifndef DEFAULT_XJERK
- #define DEFAULT_XJERK 10.0
- #endif
- #ifndef DEFAULT_YJERK
- #define DEFAULT_YJERK 10.0
- #endif
- #ifndef DEFAULT_ZJERK
- #define DEFAULT_ZJERK 0.3
- #endif
- #ifndef DEFAULT_EJERK
- #define DEFAULT_EJERK 5.0
- #endif
- #if ENABLED(LIMITED_JERK_EDITING)
- #ifndef MAX_JERK_EDIT_VALUES
- #define MAX_JERK_EDIT_VALUES { 20, 20, 0.6, 10 }
- #endif
- #endif
-#endif
-#if DISABLED(CLASSIC_JERK)
- #ifndef JUNCTION_DEVIATION_MM
- #define JUNCTION_DEVIATION_MM 0.013
- #endif
-#endif
-#if ENABLED(MAGLEV4)
- #ifndef MAGLEV_TRIGGER_DELAY
- #define MAGLEV_TRIGGER_DELAY 15
- #endif
-#endif
-#if ENABLED(TOUCH_MI_PROBE)
- #ifndef TOUCH_MI_RETRACT_Z
- #define TOUCH_MI_RETRACT_Z 0.5
- #endif
-#endif
-#if ENABLED(RACK_AND_PINION_PROBE)
- #ifndef Z_PROBE_DEPLOY_X
- #define Z_PROBE_DEPLOY_X X_MIN_POS
- #endif
- #ifndef Z_PROBE_RETRACT_X
- #define Z_PROBE_RETRACT_X X_MAX_POS
- #endif
-#endif
-#if ENABLED(MAG_MOUNTED_PROBE)
- #ifndef PROBE_DEPLOY_FEEDRATE
- #define PROBE_DEPLOY_FEEDRATE (133*60)
- #endif
- #ifndef PROBE_STOW_FEEDRATE
- #define PROBE_STOW_FEEDRATE (133*60)
- #endif
- #ifndef MAG_MOUNTED_DEPLOY_1
- #define MAG_MOUNTED_DEPLOY_1 { PROBE_DEPLOY_FEEDRATE, { 245, 114, 30 } }
- #endif
- #ifndef MAG_MOUNTED_DEPLOY_2
- #define MAG_MOUNTED_DEPLOY_2 { PROBE_DEPLOY_FEEDRATE, { 210, 114, 30 } }
- #endif
- #ifndef MAG_MOUNTED_DEPLOY_3
- #define MAG_MOUNTED_DEPLOY_3 { PROBE_DEPLOY_FEEDRATE, { 0, 0, 0 } }
- #endif
- #ifndef MAG_MOUNTED_DEPLOY_4
- #define MAG_MOUNTED_DEPLOY_4 { PROBE_DEPLOY_FEEDRATE, { 0, 0, 0 } }
- #endif
- #ifndef MAG_MOUNTED_DEPLOY_5
- #define MAG_MOUNTED_DEPLOY_5 { PROBE_DEPLOY_FEEDRATE, { 0, 0, 0 } }
- #endif
- #ifndef MAG_MOUNTED_STOW_1
- #define MAG_MOUNTED_STOW_1 { PROBE_STOW_FEEDRATE, { 245, 114, 20 } }
- #endif
- #ifndef MAG_MOUNTED_STOW_2
- #define MAG_MOUNTED_STOW_2 { PROBE_STOW_FEEDRATE, { 245, 114, 0 } }
- #endif
- #ifndef MAG_MOUNTED_STOW_3
- #define MAG_MOUNTED_STOW_3 { PROBE_STOW_FEEDRATE, { 230, 114, 0 } }
- #endif
- #ifndef MAG_MOUNTED_STOW_4
- #define MAG_MOUNTED_STOW_4 { PROBE_STOW_FEEDRATE, { 210, 114, 20 } }
- #endif
- #ifndef MAG_MOUNTED_STOW_5
- #define MAG_MOUNTED_STOW_5 { PROBE_STOW_FEEDRATE, { 0, 0, 0 } }
- #endif
-#endif
-#if ENABLED(DUET_SMART_EFFECTOR)
- #ifndef SMART_EFFECTOR_MOD_PIN
- #define SMART_EFFECTOR_MOD_PIN -1
- #endif
-#endif
-#if ENABLED(Z_PROBE_ALLEN_KEY)
- #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_1
- #define Z_PROBE_ALLEN_KEY_DEPLOY_1 { 30.0, PRINTABLE_RADIUS, 100.0 }
- #endif
- #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE
- #define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE XY_PROBE_FEEDRATE
- #endif
- #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_2
- #define Z_PROBE_ALLEN_KEY_DEPLOY_2 { 0.0, PRINTABLE_RADIUS, 100.0 }
- #endif
- #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE
- #define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (XY_PROBE_FEEDRATE)/10
- #endif
- #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_3
- #define Z_PROBE_ALLEN_KEY_DEPLOY_3 { 0.0, (PRINTABLE_RADIUS) * 0.75, 100.0 }
- #endif
- #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE
- #define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_FEEDRATE
- #endif
- #ifndef Z_PROBE_ALLEN_KEY_STOW_1
- #define Z_PROBE_ALLEN_KEY_STOW_1 { -64.0, 56.0, 23.0 }
- #endif
- #ifndef Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE
- #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_FEEDRATE
- #endif
- #ifndef Z_PROBE_ALLEN_KEY_STOW_2
- #define Z_PROBE_ALLEN_KEY_STOW_2 { -64.0, 56.0, 3.0 }
- #endif
- #ifndef Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE
- #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_FEEDRATE)/10
- #endif
- #ifndef Z_PROBE_ALLEN_KEY_STOW_3
- #define Z_PROBE_ALLEN_KEY_STOW_3 { -64.0, 56.0, 50.0 }
- #endif
- #ifndef Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE
- #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE XY_PROBE_FEEDRATE
- #endif
- #ifndef Z_PROBE_ALLEN_KEY_STOW_4
- #define Z_PROBE_ALLEN_KEY_STOW_4 { 0.0, 0.0, 50.0 }
- #endif
- #ifndef Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE
- #define Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE XY_PROBE_FEEDRATE
- #endif
-#endif
-#ifndef NOZZLE_TO_PROBE_OFFSET
- #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
-#endif
-#ifndef PROBING_TOOL
- #define PROBING_TOOL 0
-#endif
-#ifndef PROBING_MARGIN
- #define PROBING_MARGIN 10
-#endif
-#ifndef XY_PROBE_FEEDRATE
- #define XY_PROBE_FEEDRATE (133*60)
-#endif
-#ifndef Z_PROBE_FEEDRATE_FAST
- #define Z_PROBE_FEEDRATE_FAST (4*60)
-#endif
-#ifndef Z_PROBE_FEEDRATE_SLOW
- #define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 2)
-#endif
-#if ENABLED(PROBE_ACTIVATION_SWITCH)
- #ifndef PROBE_ACTIVATION_SWITCH_STATE
- #define PROBE_ACTIVATION_SWITCH_STATE LOW
- #endif
-#endif
-#if ENABLED(PROBE_TARE)
- #ifndef PROBE_TARE_TIME
- #define PROBE_TARE_TIME 200
- #endif
- #ifndef PROBE_TARE_DELAY
- #define PROBE_TARE_DELAY 200
- #endif
- #ifndef PROBE_TARE_STATE
- #define PROBE_TARE_STATE HIGH
- #endif
-#endif
-#ifndef Z_CLEARANCE_DEPLOY_PROBE
- #define Z_CLEARANCE_DEPLOY_PROBE 10
-#endif
-#ifndef Z_CLEARANCE_BETWEEN_PROBES
- #define Z_CLEARANCE_BETWEEN_PROBES 5
-#endif
-#ifndef Z_CLEARANCE_MULTI_PROBE
- #define Z_CLEARANCE_MULTI_PROBE 5
-#endif
-#ifndef Z_PROBE_ERROR_TOLERANCE
- #define Z_PROBE_ERROR_TOLERANCE 3
-#endif
-#ifndef Z_PROBE_LOW_POINT
- #define Z_PROBE_LOW_POINT -2
-#endif
-#if ENABLED(PREHEAT_BEFORE_PROBING)
- #ifndef PROBING_NOZZLE_TEMP
- #define PROBING_NOZZLE_TEMP 120
- #endif
- #ifndef PROBING_BED_TEMP
- #define PROBING_BED_TEMP 50
- #endif
-#endif
-#ifndef X_ENABLE_ON
- #define X_ENABLE_ON 0
-#endif
-#ifndef Y_ENABLE_ON
- #define Y_ENABLE_ON 0
-#endif
-#ifndef Z_ENABLE_ON
- #define Z_ENABLE_ON 0
-#endif
-#ifndef E_ENABLE_ON
- #define E_ENABLE_ON 0
-#endif
-#ifndef INVERT_X_DIR
- #define INVERT_X_DIR false
-#endif
-#ifndef INVERT_Y_DIR
- #define INVERT_Y_DIR true
-#endif
-#ifndef INVERT_Z_DIR
- #define INVERT_Z_DIR false
-#endif
-#ifndef INVERT_E0_DIR
- #define INVERT_E0_DIR false
-#endif
-#ifndef INVERT_E1_DIR
- #define INVERT_E1_DIR false
-#endif
-#ifndef INVERT_E2_DIR
- #define INVERT_E2_DIR false
-#endif
-#ifndef INVERT_E3_DIR
- #define INVERT_E3_DIR false
-#endif
-#ifndef INVERT_E4_DIR
- #define INVERT_E4_DIR false
-#endif
-#ifndef INVERT_E5_DIR
- #define INVERT_E5_DIR false
-#endif
-#ifndef INVERT_E6_DIR
- #define INVERT_E6_DIR false
-#endif
-#ifndef INVERT_E7_DIR
- #define INVERT_E7_DIR false
-#endif
-#ifndef X_HOME_DIR
- #define X_HOME_DIR -1
-#endif
-#ifndef Y_HOME_DIR
- #define Y_HOME_DIR -1
-#endif
-#ifndef Z_HOME_DIR
- #define Z_HOME_DIR -1
-#endif
-#ifndef X_BED_SIZE
- #define X_BED_SIZE 200
-#endif
-#ifndef Y_BED_SIZE
- #define Y_BED_SIZE 200
-#endif
-#ifndef X_MIN_POS
- #define X_MIN_POS 0
-#endif
-#ifndef Y_MIN_POS
- #define Y_MIN_POS 0
-#endif
-#ifndef Z_MIN_POS
- #define Z_MIN_POS 0
-#endif
-#ifndef X_MAX_POS
- #define X_MAX_POS X_BED_SIZE
-#endif
-#ifndef Y_MAX_POS
- #define Y_MAX_POS Y_BED_SIZE
-#endif
-#ifndef Z_MAX_POS
- #define Z_MAX_POS 200
-#endif
-#if ENABLED(FILAMENT_RUNOUT_SENSOR)
- #ifndef FIL_RUNOUT_ENABLED_DEFAULT
- #define FIL_RUNOUT_ENABLED_DEFAULT true
- #endif
- #ifndef NUM_RUNOUT_SENSORS
- #define NUM_RUNOUT_SENSORS 1
- #endif
- #ifndef FIL_RUNOUT_STATE
- #define FIL_RUNOUT_STATE LOW
- #endif
- #ifndef FILAMENT_RUNOUT_SCRIPT
- #define FILAMENT_RUNOUT_SCRIPT "M600"
- #endif
- #ifdef FILAMENT_RUNOUT_DISTANCE_MM
- #if ENABLED(FILAMENT_MOTION_SENSOR)
- #if ENABLED(FILAMENT_SWITCH_AND_MOTION)
- #ifndef NUM_MOTION_SENSORS
- #define NUM_MOTION_SENSORS 1
- #endif
- #endif
- #endif
- #endif
-#endif
-#if ENABLED(PREHEAT_BEFORE_LEVELING)
- #ifndef LEVELING_NOZZLE_TEMP
- #define LEVELING_NOZZLE_TEMP 120
- #endif
- #ifndef LEVELING_BED_TEMP
- #define LEVELING_BED_TEMP 50
- #endif
-#endif
-#if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL, PROBE_MANUALLY)
- #ifndef MANUAL_PROBE_START_Z
- #define MANUAL_PROBE_START_Z 0.2
- #endif
-#endif
-#if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_UBL)
- #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
- #ifndef DEFAULT_LEVELING_FADE_HEIGHT
- #define DEFAULT_LEVELING_FADE_HEIGHT 10.0
- #endif
- #endif
- #ifndef LEVELED_SEGMENT_LENGTH
- #define LEVELED_SEGMENT_LENGTH 5.0
- #endif
- #if ENABLED(G26_MESH_VALIDATION)
- #ifndef MESH_TEST_NOZZLE_SIZE
- #define MESH_TEST_NOZZLE_SIZE 0.4
- #endif
- #ifndef MESH_TEST_LAYER_HEIGHT
- #define MESH_TEST_LAYER_HEIGHT 0.2
- #endif
- #ifndef MESH_TEST_HOTEND_TEMP
- #define MESH_TEST_HOTEND_TEMP 205
- #endif
- #ifndef MESH_TEST_BED_TEMP
- #define MESH_TEST_BED_TEMP 60
- #endif
- #ifndef G26_XY_FEEDRATE
- #define G26_XY_FEEDRATE 20
- #endif
- #ifndef G26_XY_FEEDRATE_TRAVEL
- #define G26_XY_FEEDRATE_TRAVEL 100
- #endif
- #ifndef G26_RETRACT_MULTIPLIER
- #define G26_RETRACT_MULTIPLIER 1.0
- #endif
- #endif
-#endif
-#if ANY(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR)
- #ifndef GRID_MAX_POINTS_X
- #define GRID_MAX_POINTS_X 3
- #endif
- #ifndef GRID_MAX_POINTS_Y
- #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
- #endif
- #if ENABLED(AUTO_BED_LEVELING_BILINEAR)
- #if ENABLED(ABL_BILINEAR_SUBDIVISION)
- #ifndef BILINEAR_SUBDIVISIONS
- #define BILINEAR_SUBDIVISIONS 3
- #endif
- #endif
- #endif
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
- #ifndef MESH_INSET
- #define MESH_INSET 1
- #endif
- #ifndef GRID_MAX_POINTS_X
- #define GRID_MAX_POINTS_X 10
- #endif
- #ifndef GRID_MAX_POINTS_Y
- #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
- #endif
- #if ENABLED(AVOID_OBSTACLES)
- #ifndef CLIP_W
- #define CLIP_W 23
- #endif
- #ifndef CLIP_H
- #define CLIP_H 14
- #endif
- #ifndef OBSTACLE1
- #define OBSTACLE1 { (X_BED_SIZE) / 4 - (CLIP_W) / 2, 0, (X_BED_SIZE) / 4 + (CLIP_W) / 2, CLIP_H }
- #endif
- #ifndef OBSTACLE2
- #define OBSTACLE2 { (X_BED_SIZE) * 3 / 4 - (CLIP_W) / 2, 0, (X_BED_SIZE) * 3 / 4 + (CLIP_W) / 2, CLIP_H }
- #endif
- #ifndef OBSTACLE3
- #define OBSTACLE3 { (X_BED_SIZE) / 4 - (CLIP_W) / 2, (Y_BED_SIZE) - (CLIP_H), (X_BED_SIZE) / 4 + (CLIP_W) / 2, Y_BED_SIZE }
- #endif
- #ifndef OBSTACLE4
- #define OBSTACLE4 { (X_BED_SIZE) * 3 / 4 - (CLIP_W) / 2, (Y_BED_SIZE) - (CLIP_H), (X_BED_SIZE) * 3 / 4 + (CLIP_W) / 2, Y_BED_SIZE }
- #endif
- #ifndef G29J_MESH_TILT_MARGIN
- #define G29J_MESH_TILT_MARGIN ((CLIP_H) + 1)
- #endif
- #endif
-#elif ENABLED(MESH_BED_LEVELING)
- #ifndef MESH_INSET
- #define MESH_INSET 10
- #endif
- #ifndef GRID_MAX_POINTS_X
- #define GRID_MAX_POINTS_X 3
- #endif
- #ifndef GRID_MAX_POINTS_Y
- #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
- #endif
-#endif
-#if ENABLED(LCD_BED_LEVELING)
- #ifndef MESH_EDIT_Z_STEP
- #define MESH_EDIT_Z_STEP 0.025
- #endif
- #ifndef LCD_PROBE_Z_RANGE
- #define LCD_PROBE_Z_RANGE 4
- #endif
-#endif
-#if ENABLED(LCD_BED_TRAMMING)
- #ifndef BED_TRAMMING_INSET_LFRB
- #define BED_TRAMMING_INSET_LFRB { 30, 30, 30, 30 }
- #endif
- #ifndef BED_TRAMMING_HEIGHT
- #define BED_TRAMMING_HEIGHT 0.0
- #endif
- #ifndef BED_TRAMMING_Z_HOP
- #define BED_TRAMMING_Z_HOP 4.0
- #endif
- #if ENABLED(BED_TRAMMING_USE_PROBE)
- #ifndef BED_TRAMMING_PROBE_TOLERANCE
- #define BED_TRAMMING_PROBE_TOLERANCE 0.1
- #endif
- #endif
- #ifndef BED_TRAMMING_LEVELING_ORDER
- #define BED_TRAMMING_LEVELING_ORDER { LF, RF, RB, LB }
- #endif
-#endif
-#if ENABLED(Z_SAFE_HOMING)
- #ifndef Z_SAFE_HOMING_X_POINT
- #define Z_SAFE_HOMING_X_POINT X_CENTER
- #endif
- #ifndef Z_SAFE_HOMING_Y_POINT
- #define Z_SAFE_HOMING_Y_POINT Y_CENTER
- #endif
-#endif
-#ifndef HOMING_FEEDRATE_MM_M
- #define HOMING_FEEDRATE_MM_M { (50*60), (50*60), (4*60) }
-#endif
-#if ENABLED(SKEW_CORRECTION)
- #ifndef XY_DIAG_AC
- #define XY_DIAG_AC 282.8427124746
- #endif
- #ifndef XY_DIAG_BD
- #define XY_DIAG_BD 282.8427124746
- #endif
- #ifndef XY_SIDE_AD
- #define XY_SIDE_AD 200
- #endif
- #if ENABLED(SKEW_CORRECTION_FOR_Z)
- #ifndef XZ_DIAG_AC
- #define XZ_DIAG_AC 282.8427124746
- #endif
- #ifndef XZ_DIAG_BD
- #define XZ_DIAG_BD 282.8427124746
- #endif
- #ifndef YZ_DIAG_AC
- #define YZ_DIAG_AC 282.8427124746
- #endif
- #ifndef YZ_DIAG_BD
- #define YZ_DIAG_BD 282.8427124746
- #endif
- #ifndef YZ_SIDE_AD
- #define YZ_SIDE_AD 200
- #endif
- #endif
-#endif
-#ifndef DEFAULT_KEEPALIVE_INTERVAL
- #define DEFAULT_KEEPALIVE_INTERVAL 2
-#endif
-#ifndef PREHEAT_1_LABEL
- #define PREHEAT_1_LABEL "PLA"
-#endif
-#ifndef PREHEAT_1_TEMP_HOTEND
- #define PREHEAT_1_TEMP_HOTEND 180
-#endif
-#ifndef PREHEAT_1_TEMP_BED
- #define PREHEAT_1_TEMP_BED 70
-#endif
-#ifndef PREHEAT_1_TEMP_CHAMBER
- #define PREHEAT_1_TEMP_CHAMBER 35
-#endif
-#ifndef PREHEAT_1_FAN_SPEED
- #define PREHEAT_1_FAN_SPEED 0
-#endif
-#ifndef PREHEAT_2_LABEL
- #define PREHEAT_2_LABEL "ABS"
-#endif
-#ifndef PREHEAT_2_TEMP_HOTEND
- #define PREHEAT_2_TEMP_HOTEND 240
-#endif
-#ifndef PREHEAT_2_TEMP_BED
- #define PREHEAT_2_TEMP_BED 110
-#endif
-#ifndef PREHEAT_2_TEMP_CHAMBER
- #define PREHEAT_2_TEMP_CHAMBER 35
-#endif
-#ifndef PREHEAT_2_FAN_SPEED
- #define PREHEAT_2_FAN_SPEED 0
-#endif
-#if ENABLED(NOZZLE_PARK_FEATURE)
- #ifndef NOZZLE_PARK_POINT
- #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
- #endif
- #ifndef NOZZLE_PARK_MOVE
- #define NOZZLE_PARK_MOVE 0
- #endif
- #ifndef NOZZLE_PARK_Z_RAISE_MIN
- #define NOZZLE_PARK_Z_RAISE_MIN 2
- #endif
- #ifndef NOZZLE_PARK_XY_FEEDRATE
- #define NOZZLE_PARK_XY_FEEDRATE 100
- #endif
- #ifndef NOZZLE_PARK_Z_FEEDRATE
- #define NOZZLE_PARK_Z_FEEDRATE 5
- #endif
-#endif
-#if ENABLED(NOZZLE_CLEAN_FEATURE)
- #ifndef NOZZLE_CLEAN_DEFAULT_PATTERN
- #define NOZZLE_CLEAN_DEFAULT_PATTERN 0
- #endif
- #ifndef NOZZLE_CLEAN_STROKES
- #define NOZZLE_CLEAN_STROKES 12
- #endif
- #if ENABLED(NOZZLE_CLEAN_PATTERN_ZIGZAG)
- #ifndef NOZZLE_CLEAN_TRIANGLES
- #define NOZZLE_CLEAN_TRIANGLES 3
- #endif
- #endif
- #ifndef NOZZLE_CLEAN_START_POINT
- #define NOZZLE_CLEAN_START_POINT { { 30, 30, (Z_MIN_POS + 1) } }
- #endif
- #ifndef NOZZLE_CLEAN_END_POINT
- #define NOZZLE_CLEAN_END_POINT { { 100, 60, (Z_MIN_POS + 1) } }
- #endif
- #if ENABLED(NOZZLE_CLEAN_PATTERN_CIRCLE)
- #ifndef NOZZLE_CLEAN_CIRCLE_RADIUS
- #define NOZZLE_CLEAN_CIRCLE_RADIUS 6.5
- #endif
- #ifndef NOZZLE_CLEAN_CIRCLE_FN
- #define NOZZLE_CLEAN_CIRCLE_FN 10
- #endif
- #ifndef NOZZLE_CLEAN_CIRCLE_MIDDLE
- #define NOZZLE_CLEAN_CIRCLE_MIDDLE NOZZLE_CLEAN_START_POINT
- #endif
- #endif
- #ifndef NOZZLE_CLEAN_MIN_TEMP
- #define NOZZLE_CLEAN_MIN_TEMP 170
- #endif
-#endif
-#if ENABLED(PRINTCOUNTER)
- #ifndef PRINTCOUNTER_SAVE_INTERVAL
- #define PRINTCOUNTER_SAVE_INTERVAL 60
- #endif
-#endif
-#if ENABLED(PASSWORD_FEATURE)
- #ifndef PASSWORD_LENGTH
- #define PASSWORD_LENGTH 4
- #endif
-#endif
-#ifndef LCD_LANGUAGE
- #define LCD_LANGUAGE en
-#endif
-#ifndef DISPLAY_CHARSET_HD44780
- #define DISPLAY_CHARSET_HD44780 JAPANESE
-#endif
-#ifndef LCD_INFO_SCREEN_STYLE
- #define LCD_INFO_SCREEN_STYLE 0
-#endif
-#if ENABLED(ENCODER_NOISE_FILTER)
- #ifndef ENCODER_SAMPLES
- #define ENCODER_SAMPLES 10
- #endif
-#endif
-#if ENABLED(TFT_GENERIC)
- #ifndef TFT_DRIVER
- #define TFT_DRIVER AUTO
- #endif
-#endif
-#if ENABLED(TFT_COLOR_UI)
- #ifndef TFT_FONT
- #define TFT_FONT NOTOSANS
- #endif
- #ifndef TFT_THEME
- #define TFT_THEME BLACK_MARLIN
- #endif
-#endif
-#if ENABLED(TOUCH_SCREEN)
- #ifndef BUTTON_DELAY_EDIT
- #define BUTTON_DELAY_EDIT 50
- #endif
- #ifndef BUTTON_DELAY_MENU
- #define BUTTON_DELAY_MENU 250
- #endif
-#endif
-#ifndef SOFT_PWM_SCALE
- #define SOFT_PWM_SCALE 0
-#endif
-#if ANY(RGB_LED, RGBW_LED, PCA9632)
- #if ENABLED(RGB_STARTUP_TEST)
- #ifndef RGB_STARTUP_TEST_INNER_MS
- #define RGB_STARTUP_TEST_INNER_MS 10
- #endif
- #endif
-#endif
-#if ENABLED(NEOPIXEL_LED)
- #ifndef NEOPIXEL_TYPE
- #define NEOPIXEL_TYPE NEO_GRBW
- #endif
- #ifndef NEOPIXEL_PIXELS
- #define NEOPIXEL_PIXELS 30
- #endif
- #ifndef NEOPIXEL_BRIGHTNESS
- #define NEOPIXEL_BRIGHTNESS 127
- #endif
- #if ENABLED(NEOPIXEL2_SEPARATE)
- #ifndef NEOPIXEL2_PIXELS
- #define NEOPIXEL2_PIXELS 15
- #endif
- #ifndef NEOPIXEL2_BRIGHTNESS
- #define NEOPIXEL2_BRIGHTNESS 127
- #endif
- #ifndef NEOPIXEL_M150_DEFAULT
- #define NEOPIXEL_M150_DEFAULT -1
- #endif
- #else
- #endif
-#endif
-#ifndef SERVO_DELAY
- #define SERVO_DELAY { 300 }
-#endif
diff --git a/Marlin/src/inc/BaseConfiguration_adv.h b/Marlin/src/inc/BaseConfiguration_adv.h
deleted file mode 100644
index a60464791d59..000000000000
--- a/Marlin/src/inc/BaseConfiguration_adv.h
+++ /dev/null
@@ -1,2491 +0,0 @@
-/**
- * Marlin 3D Printer Firmware
- * Copyright (c) 2024 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
- *
- * Based on Sprinter and grbl.
- * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- */
-#pragma once
-
-/**
- * BaseConfiguration_adv.h - Generated using makeBaseConfigs.py
- */
-
-#ifndef CONFIGURATION_ADV_H_VERSION
- #define CONFIGURATION_ADV_H_VERSION 02010300
-#endif
-#ifndef THERMOCOUPLE_MAX_ERRORS
- #define THERMOCOUPLE_MAX_ERRORS 15
-#endif
-#if TEMP_SENSOR_0 == 1000
- #ifndef HOTEND0_PULLUP_RESISTOR_OHMS
- #define HOTEND0_PULLUP_RESISTOR_OHMS 4700
- #endif
- #ifndef HOTEND0_RESISTANCE_25C_OHMS
- #define HOTEND0_RESISTANCE_25C_OHMS 100000
- #endif
- #ifndef HOTEND0_BETA
- #define HOTEND0_BETA 3950
- #endif
- #ifndef HOTEND0_SH_C_COEFF
- #define HOTEND0_SH_C_COEFF 0
- #endif
-#endif
-#if TEMP_SENSOR_1 == 1000
- #ifndef HOTEND1_PULLUP_RESISTOR_OHMS
- #define HOTEND1_PULLUP_RESISTOR_OHMS 4700
- #endif
- #ifndef HOTEND1_RESISTANCE_25C_OHMS
- #define HOTEND1_RESISTANCE_25C_OHMS 100000
- #endif
- #ifndef HOTEND1_BETA
- #define HOTEND1_BETA 3950
- #endif
- #ifndef HOTEND1_SH_C_COEFF
- #define HOTEND1_SH_C_COEFF 0
- #endif
-#endif
-#if TEMP_SENSOR_2 == 1000
- #ifndef HOTEND2_PULLUP_RESISTOR_OHMS
- #define HOTEND2_PULLUP_RESISTOR_OHMS 4700
- #endif
- #ifndef HOTEND2_RESISTANCE_25C_OHMS
- #define HOTEND2_RESISTANCE_25C_OHMS 100000
- #endif
- #ifndef HOTEND2_BETA
- #define HOTEND2_BETA 3950
- #endif
- #ifndef HOTEND2_SH_C_COEFF
- #define HOTEND2_SH_C_COEFF 0
- #endif
-#endif
-#if TEMP_SENSOR_3 == 1000
- #ifndef HOTEND3_PULLUP_RESISTOR_OHMS
- #define HOTEND3_PULLUP_RESISTOR_OHMS 4700
- #endif
- #ifndef HOTEND3_RESISTANCE_25C_OHMS
- #define HOTEND3_RESISTANCE_25C_OHMS 100000
- #endif
- #ifndef HOTEND3_BETA
- #define HOTEND3_BETA 3950
- #endif
- #ifndef HOTEND3_SH_C_COEFF
- #define HOTEND3_SH_C_COEFF 0
- #endif
-#endif
-#if TEMP_SENSOR_4 == 1000
- #ifndef HOTEND4_PULLUP_RESISTOR_OHMS
- #define HOTEND4_PULLUP_RESISTOR_OHMS 4700
- #endif
- #ifndef HOTEND4_RESISTANCE_25C_OHMS
- #define HOTEND4_RESISTANCE_25C_OHMS 100000
- #endif
- #ifndef HOTEND4_BETA
- #define HOTEND4_BETA 3950
- #endif
- #ifndef HOTEND4_SH_C_COEFF
- #define HOTEND4_SH_C_COEFF 0
- #endif
-#endif
-#if TEMP_SENSOR_5 == 1000
- #ifndef HOTEND5_PULLUP_RESISTOR_OHMS
- #define HOTEND5_PULLUP_RESISTOR_OHMS 4700
- #endif
- #ifndef HOTEND5_RESISTANCE_25C_OHMS
- #define HOTEND5_RESISTANCE_25C_OHMS 100000
- #endif
- #ifndef HOTEND5_BETA
- #define HOTEND5_BETA 3950
- #endif
- #ifndef HOTEND5_SH_C_COEFF
- #define HOTEND5_SH_C_COEFF 0
- #endif
-#endif
-#if TEMP_SENSOR_6 == 1000
- #ifndef HOTEND6_PULLUP_RESISTOR_OHMS
- #define HOTEND6_PULLUP_RESISTOR_OHMS 4700
- #endif
- #ifndef HOTEND6_RESISTANCE_25C_OHMS
- #define HOTEND6_RESISTANCE_25C_OHMS 100000
- #endif
- #ifndef HOTEND6_BETA
- #define HOTEND6_BETA 3950
- #endif
- #ifndef HOTEND6_SH_C_COEFF
- #define HOTEND6_SH_C_COEFF 0
- #endif
-#endif
-#if TEMP_SENSOR_7 == 1000
- #ifndef HOTEND7_PULLUP_RESISTOR_OHMS
- #define HOTEND7_PULLUP_RESISTOR_OHMS 4700
- #endif
- #ifndef HOTEND7_RESISTANCE_25C_OHMS
- #define HOTEND7_RESISTANCE_25C_OHMS 100000
- #endif
- #ifndef HOTEND7_BETA
- #define HOTEND7_BETA 3950
- #endif
- #ifndef HOTEND7_SH_C_COEFF
- #define HOTEND7_SH_C_COEFF 0
- #endif
-#endif
-#if TEMP_SENSOR_BED == 1000
- #ifndef BED_PULLUP_RESISTOR_OHMS
- #define BED_PULLUP_RESISTOR_OHMS 4700
- #endif
- #ifndef BED_RESISTANCE_25C_OHMS
- #define BED_RESISTANCE_25C_OHMS 100000
- #endif
- #ifndef BED_BETA
- #define BED_BETA 3950
- #endif
- #ifndef BED_SH_C_COEFF
- #define BED_SH_C_COEFF 0
- #endif
-#endif
-#if TEMP_SENSOR_CHAMBER == 1000
- #ifndef CHAMBER_PULLUP_RESISTOR_OHMS
- #define CHAMBER_PULLUP_RESISTOR_OHMS 4700
- #endif
- #ifndef CHAMBER_RESISTANCE_25C_OHMS
- #define CHAMBER_RESISTANCE_25C_OHMS 100000
- #endif
- #ifndef CHAMBER_BETA
- #define CHAMBER_BETA 3950
- #endif
- #ifndef CHAMBER_SH_C_COEFF
- #define CHAMBER_SH_C_COEFF 0
- #endif
-#endif
-#if TEMP_SENSOR_COOLER == 1000
- #ifndef COOLER_PULLUP_RESISTOR_OHMS
- #define COOLER_PULLUP_RESISTOR_OHMS 4700
- #endif
- #ifndef COOLER_RESISTANCE_25C_OHMS
- #define COOLER_RESISTANCE_25C_OHMS 100000
- #endif
- #ifndef COOLER_BETA
- #define COOLER_BETA 3950
- #endif
- #ifndef COOLER_SH_C_COEFF
- #define COOLER_SH_C_COEFF 0
- #endif
-#endif
-#if TEMP_SENSOR_PROBE == 1000
- #ifndef PROBE_PULLUP_RESISTOR_OHMS
- #define PROBE_PULLUP_RESISTOR_OHMS 4700
- #endif
- #ifndef PROBE_RESISTANCE_25C_OHMS
- #define PROBE_RESISTANCE_25C_OHMS 100000
- #endif
- #ifndef PROBE_BETA
- #define PROBE_BETA 3950
- #endif
- #ifndef PROBE_SH_C_COEFF
- #define PROBE_SH_C_COEFF 0
- #endif
-#endif
-#if TEMP_SENSOR_BOARD == 1000
- #ifndef BOARD_PULLUP_RESISTOR_OHMS
- #define BOARD_PULLUP_RESISTOR_OHMS 4700
- #endif
- #ifndef BOARD_RESISTANCE_25C_OHMS
- #define BOARD_RESISTANCE_25C_OHMS 100000
- #endif
- #ifndef BOARD_BETA
- #define BOARD_BETA 3950
- #endif
- #ifndef BOARD_SH_C_COEFF
- #define BOARD_SH_C_COEFF 0
- #endif
-#endif
-#if TEMP_SENSOR_REDUNDANT == 1000
- #ifndef REDUNDANT_PULLUP_RESISTOR_OHMS
- #define REDUNDANT_PULLUP_RESISTOR_OHMS 4700
- #endif
- #ifndef REDUNDANT_RESISTANCE_25C_OHMS
- #define REDUNDANT_RESISTANCE_25C_OHMS 100000
- #endif
- #ifndef REDUNDANT_BETA
- #define REDUNDANT_BETA 3950
- #endif
- #ifndef REDUNDANT_SH_C_COEFF
- #define REDUNDANT_SH_C_COEFF 0
- #endif
-#endif
-#if ENABLED(HEPHESTOS2_HEATED_BED_KIT)
- #ifndef HEATER_BED_INVERTING
- #define HEATER_BED_INVERTING true
- #endif
-#endif
-#if DISABLED(PIDTEMPBED)
- #ifndef BED_CHECK_INTERVAL
- #define BED_CHECK_INTERVAL 5000
- #endif
- #if ENABLED(BED_LIMIT_SWITCHING)
- #ifndef BED_HYSTERESIS
- #define BED_HYSTERESIS 2
- #endif
- #endif
-#endif
-#if DISABLED(PIDTEMPCHAMBER)
- #ifndef CHAMBER_CHECK_INTERVAL
- #define CHAMBER_CHECK_INTERVAL 5000
- #endif
- #if ENABLED(CHAMBER_LIMIT_SWITCHING)
- #ifndef CHAMBER_HYSTERESIS
- #define CHAMBER_HYSTERESIS 2
- #endif
- #endif
-#endif
-#if TEMP_SENSOR_CHAMBER
- #if ENABLED(CHAMBER_FAN)
- #ifndef CHAMBER_FAN_MODE
- #define CHAMBER_FAN_MODE 2
- #endif
- #if CHAMBER_FAN_MODE == 0
- #ifndef CHAMBER_FAN_BASE
- #define CHAMBER_FAN_BASE 255
- #endif
- #elif CHAMBER_FAN_MODE == 1
- #ifndef CHAMBER_FAN_BASE
- #define CHAMBER_FAN_BASE 128
- #endif
- #ifndef CHAMBER_FAN_FACTOR
- #define CHAMBER_FAN_FACTOR 25
- #endif
- #elif CHAMBER_FAN_MODE == 2
- #ifndef CHAMBER_FAN_BASE
- #define CHAMBER_FAN_BASE 128
- #endif
- #ifndef CHAMBER_FAN_FACTOR
- #define CHAMBER_FAN_FACTOR 25
- #endif
- #elif CHAMBER_FAN_MODE == 3
- #ifndef CHAMBER_FAN_BASE
- #define CHAMBER_FAN_BASE 128
- #endif
- #ifndef CHAMBER_FAN_FACTOR
- #define CHAMBER_FAN_FACTOR 25
- #endif
- #endif
- #endif
- #if ENABLED(CHAMBER_VENT)
- #ifndef CHAMBER_VENT_SERVO_NR
- #define CHAMBER_VENT_SERVO_NR 1
- #endif
- #ifndef HIGH_EXCESS_HEAT_LIMIT
- #define HIGH_EXCESS_HEAT_LIMIT 5
- #endif
- #ifndef LOW_EXCESS_HEAT_LIMIT
- #define LOW_EXCESS_HEAT_LIMIT 3
- #endif
- #ifndef MIN_COOLING_SLOPE_TIME_CHAMBER_VENT
- #define MIN_COOLING_SLOPE_TIME_CHAMBER_VENT 20
- #endif
- #ifndef MIN_COOLING_SLOPE_DEG_CHAMBER_VENT
- #define MIN_COOLING_SLOPE_DEG_CHAMBER_VENT 1.5
- #endif
- #endif
-#endif
-#if TEMP_SENSOR_COOLER
- #ifndef COOLER_MINTEMP
- #define COOLER_MINTEMP 8
- #endif
- #ifndef COOLER_MAXTEMP
- #define COOLER_MAXTEMP 26
- #endif
- #ifndef COOLER_DEFAULT_TEMP
- #define COOLER_DEFAULT_TEMP 16
- #endif
- #ifndef TEMP_COOLER_HYSTERESIS
- #define TEMP_COOLER_HYSTERESIS 1
- #endif
- #ifndef COOLER_PIN
- #define COOLER_PIN 8
- #endif
- #ifndef COOLER_INVERTING
- #define COOLER_INVERTING false
- #endif
- #ifndef TEMP_COOLER_PIN
- #define TEMP_COOLER_PIN 15
- #endif
- #ifndef COOLER_FAN_INDEX
- #define COOLER_FAN_INDEX 0
- #endif
- #if ENABLED(COOLER_FAN)
- #ifndef COOLER_FAN_BASE
- #define COOLER_FAN_BASE 100
- #endif
- #ifndef COOLER_FAN_FACTOR
- #define COOLER_FAN_FACTOR 25
- #endif
- #endif
-#endif
-#if TEMP_SENSOR_BOARD
- #ifndef BOARD_MINTEMP
- #define BOARD_MINTEMP 8
- #endif
- #ifndef BOARD_MAXTEMP
- #define BOARD_MAXTEMP 70
- #endif
-#endif
-#if TEMP_SENSOR_SOC
- #ifndef SOC_MAXTEMP
- #define SOC_MAXTEMP 85
- #endif
-#endif
-#if ALL(HAS_HOTEND, THERMAL_PROTECTION_HOTENDS)
- #ifndef THERMAL_PROTECTION_PERIOD
- #define THERMAL_PROTECTION_PERIOD 40
- #endif
- #ifndef THERMAL_PROTECTION_HYSTERESIS
- #define THERMAL_PROTECTION_HYSTERESIS 4
- #endif
- #ifndef WATCH_TEMP_PERIOD
- #define WATCH_TEMP_PERIOD 40
- #endif
- #ifndef WATCH_TEMP_INCREASE
- #define WATCH_TEMP_INCREASE 2
- #endif
-#endif
-#if TEMP_SENSOR_BED && ENABLED(THERMAL_PROTECTION_BED)
- #ifndef THERMAL_PROTECTION_BED_PERIOD
- #define THERMAL_PROTECTION_BED_PERIOD 20
- #endif
- #ifndef THERMAL_PROTECTION_BED_HYSTERESIS
- #define THERMAL_PROTECTION_BED_HYSTERESIS 2
- #endif
- #ifndef WATCH_BED_TEMP_PERIOD
- #define WATCH_BED_TEMP_PERIOD 60
- #endif
- #ifndef WATCH_BED_TEMP_INCREASE
- #define WATCH_BED_TEMP_INCREASE 2
- #endif
-#endif
-#if TEMP_SENSOR_CHAMBER && ENABLED(THERMAL_PROTECTION_CHAMBER)
- #ifndef THERMAL_PROTECTION_CHAMBER_PERIOD
- #define THERMAL_PROTECTION_CHAMBER_PERIOD 20
- #endif
- #ifndef THERMAL_PROTECTION_CHAMBER_HYSTERESIS
- #define THERMAL_PROTECTION_CHAMBER_HYSTERESIS 2
- #endif
- #ifndef WATCH_CHAMBER_TEMP_PERIOD
- #define WATCH_CHAMBER_TEMP_PERIOD 60
- #endif
- #ifndef WATCH_CHAMBER_TEMP_INCREASE
- #define WATCH_CHAMBER_TEMP_INCREASE 2
- #endif
-#endif
-#if TEMP_SENSOR_COOLER && ENABLED(THERMAL_PROTECTION_COOLER)
- #ifndef THERMAL_PROTECTION_COOLER_PERIOD
- #define THERMAL_PROTECTION_COOLER_PERIOD 10
- #endif
- #ifndef THERMAL_PROTECTION_COOLER_HYSTERESIS
- #define THERMAL_PROTECTION_COOLER_HYSTERESIS 3
- #endif
- #ifndef WATCH_COOLER_TEMP_PERIOD
- #define WATCH_COOLER_TEMP_PERIOD 60
- #endif
- #ifndef WATCH_COOLER_TEMP_INCREASE
- #define WATCH_COOLER_TEMP_INCREASE 3
- #endif
-#endif
-#if ENABLED(PIDTEMP)
- #if ENABLED(PID_EXTRUSION_SCALING)
- #ifndef DEFAULT_Kc
- #define DEFAULT_Kc (100)
- #endif
- #ifndef LPQ_MAX_LEN
- #define LPQ_MAX_LEN 50
- #endif
- #endif
- #if ENABLED(PID_FAN_SCALING)
- #if ENABLED(PID_FAN_SCALING_ALTERNATIVE_DEFINITION)
- #ifndef PID_FAN_SCALING_AT_FULL_SPEED
- #define PID_FAN_SCALING_AT_FULL_SPEED 13.0
- #endif
- #ifndef PID_FAN_SCALING_AT_MIN_SPEED
- #define PID_FAN_SCALING_AT_MIN_SPEED 6.0
- #endif
- #ifndef PID_FAN_SCALING_MIN_SPEED
- #define PID_FAN_SCALING_MIN_SPEED 10.0
- #endif
- #ifndef DEFAULT_Kf
- #define DEFAULT_Kf (255.0*PID_FAN_SCALING_AT_MIN_SPEED-PID_FAN_SCALING_AT_FULL_SPEED*PID_FAN_SCALING_MIN_SPEED)/(255.0-PID_FAN_SCALING_MIN_SPEED)
- #endif
- #ifndef PID_FAN_SCALING_LIN_FACTOR
- #define PID_FAN_SCALING_LIN_FACTOR (PID_FAN_SCALING_AT_FULL_SPEED-DEFAULT_Kf)/255.0
- #endif
- #else
- #ifndef PID_FAN_SCALING_LIN_FACTOR
- #define PID_FAN_SCALING_LIN_FACTOR (0)
- #endif
- #ifndef DEFAULT_Kf
- #define DEFAULT_Kf 10
- #endif
- #ifndef PID_FAN_SCALING_MIN_SPEED
- #define PID_FAN_SCALING_MIN_SPEED 10
- #endif
- #endif
- #endif
-#endif
-#if ENABLED(AUTOTEMP)
- #ifndef AUTOTEMP_OLDWEIGHT
- #define AUTOTEMP_OLDWEIGHT 0.98
- #endif
- #ifndef AUTOTEMP_MIN
- #define AUTOTEMP_MIN 210
- #endif
- #ifndef AUTOTEMP_MAX
- #define AUTOTEMP_MAX 250
- #endif
- #ifndef AUTOTEMP_FACTOR
- #define AUTOTEMP_FACTOR 0.1f
- #endif
- #if ENABLED(AUTOTEMP_PROPORTIONAL)
- #ifndef AUTOTEMP_MIN_P
- #define AUTOTEMP_MIN_P 0
- #endif
- #ifndef AUTOTEMP_MAX_P
- #define AUTOTEMP_MAX_P 5
- #endif
- #ifndef AUTOTEMP_FACTOR_P
- #define AUTOTEMP_FACTOR_P 1
- #endif
- #endif
-#endif
-#if ENABLED(EXTRUDER_RUNOUT_PREVENT)
- #ifndef EXTRUDER_RUNOUT_MINTEMP
- #define EXTRUDER_RUNOUT_MINTEMP 190
- #endif
- #ifndef EXTRUDER_RUNOUT_SECONDS
- #define EXTRUDER_RUNOUT_SECONDS 30
- #endif
- #ifndef EXTRUDER_RUNOUT_SPEED
- #define EXTRUDER_RUNOUT_SPEED 1500
- #endif
- #ifndef EXTRUDER_RUNOUT_EXTRUDE
- #define EXTRUDER_RUNOUT_EXTRUDE 5
- #endif
-#endif
-#if ENABLED(HOTEND_IDLE_TIMEOUT)
- #ifndef HOTEND_IDLE_TIMEOUT_SEC
- #define HOTEND_IDLE_TIMEOUT_SEC (5*60)
- #endif
- #ifndef HOTEND_IDLE_MIN_TRIGGER
- #define HOTEND_IDLE_MIN_TRIGGER 180
- #endif
- #ifndef HOTEND_IDLE_NOZZLE_TARGET
- #define HOTEND_IDLE_NOZZLE_TARGET 0
- #endif
- #ifndef HOTEND_IDLE_BED_TARGET
- #define HOTEND_IDLE_BED_TARGET 0
- #endif
-#endif
-#ifndef TEMP_SENSOR_AD595_OFFSET
- #define TEMP_SENSOR_AD595_OFFSET 0.0
-#endif
-#ifndef TEMP_SENSOR_AD595_GAIN
- #define TEMP_SENSOR_AD595_GAIN 1.0
-#endif
-#ifndef TEMP_SENSOR_AD8495_OFFSET
- #define TEMP_SENSOR_AD8495_OFFSET 0.0
-#endif
-#ifndef TEMP_SENSOR_AD8495_GAIN
- #define TEMP_SENSOR_AD8495_GAIN 1.0
-#endif
-#if ENABLED(USE_CONTROLLER_FAN)
- #ifndef CONTROLLERFAN_SPEED_MIN
- #define CONTROLLERFAN_SPEED_MIN 0
- #endif
- #ifndef CONTROLLERFAN_SPEED_ACTIVE
- #define CONTROLLERFAN_SPEED_ACTIVE 255
- #endif
- #ifndef CONTROLLERFAN_SPEED_IDLE
- #define CONTROLLERFAN_SPEED_IDLE 0
- #endif
- #ifndef CONTROLLERFAN_IDLE_TIME
- #define CONTROLLERFAN_IDLE_TIME 60
- #endif
-#endif
-#if ENABLED(FAST_PWM_FAN)
- #ifndef FAST_PWM_FAN_FREQUENCY
- #ifdef __AVR__
- #ifndef FAST_PWM_FAN_FREQUENCY
- #define FAST_PWM_FAN_FREQUENCY ((F_CPU) / (2 * 255 * 1))
- #endif
- #else
- #ifndef FAST_PWM_FAN_FREQUENCY
- #define FAST_PWM_FAN_FREQUENCY 1000U
- #endif
- #endif
- #endif
-#endif
-#ifndef E0_AUTO_FAN_PIN
- #define E0_AUTO_FAN_PIN -1
-#endif
-#ifndef E1_AUTO_FAN_PIN
- #define E1_AUTO_FAN_PIN -1
-#endif
-#ifndef E2_AUTO_FAN_PIN
- #define E2_AUTO_FAN_PIN -1
-#endif
-#ifndef E3_AUTO_FAN_PIN
- #define E3_AUTO_FAN_PIN -1
-#endif
-#ifndef E4_AUTO_FAN_PIN
- #define E4_AUTO_FAN_PIN -1
-#endif
-#ifndef E5_AUTO_FAN_PIN
- #define E5_AUTO_FAN_PIN -1
-#endif
-#ifndef E6_AUTO_FAN_PIN
- #define E6_AUTO_FAN_PIN -1
-#endif
-#ifndef E7_AUTO_FAN_PIN
- #define E7_AUTO_FAN_PIN -1
-#endif
-#ifndef CHAMBER_AUTO_FAN_PIN
- #define CHAMBER_AUTO_FAN_PIN -1
-#endif
-#ifndef COOLER_AUTO_FAN_PIN
- #define COOLER_AUTO_FAN_PIN -1
-#endif
-#ifndef EXTRUDER_AUTO_FAN_TEMPERATURE
- #define EXTRUDER_AUTO_FAN_TEMPERATURE 50
-#endif
-#ifndef EXTRUDER_AUTO_FAN_SPEED
- #define EXTRUDER_AUTO_FAN_SPEED 255
-#endif
-#ifndef CHAMBER_AUTO_FAN_TEMPERATURE
- #define CHAMBER_AUTO_FAN_TEMPERATURE 30
-#endif
-#ifndef CHAMBER_AUTO_FAN_SPEED
- #define CHAMBER_AUTO_FAN_SPEED 255
-#endif
-#ifndef COOLER_AUTO_FAN_TEMPERATURE
- #define COOLER_AUTO_FAN_TEMPERATURE 18
-#endif
-#ifndef COOLER_AUTO_FAN_SPEED
- #define COOLER_AUTO_FAN_SPEED 255
-#endif
-#ifndef FANMUX0_PIN
- #define FANMUX0_PIN -1
-#endif
-#ifndef FANMUX1_PIN
- #define FANMUX1_PIN -1
-#endif
-#ifndef FANMUX2_PIN
- #define FANMUX2_PIN -1
-#endif
-#if ENABLED(CASE_LIGHT_ENABLE)
- #ifndef INVERT_CASE_LIGHT
- #define INVERT_CASE_LIGHT false
- #endif
- #ifndef CASE_LIGHT_DEFAULT_ON
- #define CASE_LIGHT_DEFAULT_ON true
- #endif
- #ifndef CASE_LIGHT_DEFAULT_BRIGHTNESS
- #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105
- #endif
- #if ANY(CASE_LIGHT_USE_NEOPIXEL, CASE_LIGHT_USE_RGB_LED)
- #ifndef CASE_LIGHT_DEFAULT_COLOR
- #define CASE_LIGHT_DEFAULT_COLOR { 255, 255, 255, 255 }
- #endif
- #endif
-#endif
-#if ENABLED(DUAL_X_CARRIAGE)
- #ifndef X1_MIN_POS
- #define X1_MIN_POS X_MIN_POS
- #endif
- #ifndef X1_MAX_POS
- #define X1_MAX_POS X_BED_SIZE
- #endif
- #ifndef X2_MIN_POS
- #define X2_MIN_POS 80
- #endif
- #ifndef X2_MAX_POS
- #define X2_MAX_POS 353
- #endif
- #ifndef X2_HOME_POS
- #define X2_HOME_POS X2_MAX_POS
- #endif
- #ifndef DEFAULT_DUAL_X_CARRIAGE_MODE
- #define DEFAULT_DUAL_X_CARRIAGE_MODE DXC_AUTO_PARK_MODE
- #endif
- #ifndef DEFAULT_DUPLICATION_X_OFFSET
- #define DEFAULT_DUPLICATION_X_OFFSET 100
- #endif
-#endif
-#if HAS_X2_STEPPER && DISABLED(DUAL_X_CARRIAGE)
- #if ENABLED(X_DUAL_ENDSTOPS)
- #ifndef X2_ENDSTOP_ADJUSTMENT
- #define X2_ENDSTOP_ADJUSTMENT 0
- #endif
- #endif
-#endif
-#if HAS_Y2_STEPPER
- #if ENABLED(Y_DUAL_ENDSTOPS)
- #ifndef Y2_ENDSTOP_ADJUSTMENT
- #define Y2_ENDSTOP_ADJUSTMENT 0
- #endif
- #endif
-#endif
-#ifdef Z2_DRIVER_TYPE
- #if ENABLED(Z_MULTI_ENDSTOPS)
- #ifndef Z2_ENDSTOP_ADJUSTMENT
- #define Z2_ENDSTOP_ADJUSTMENT 0
- #endif
- #endif
- #ifdef Z3_DRIVER_TYPE
- #if ENABLED(Z_MULTI_ENDSTOPS)
- #ifndef Z3_ENDSTOP_ADJUSTMENT
- #define Z3_ENDSTOP_ADJUSTMENT 0
- #endif
- #endif
- #endif
- #ifdef Z4_DRIVER_TYPE
- #if ENABLED(Z_MULTI_ENDSTOPS)
- #ifndef Z4_ENDSTOP_ADJUSTMENT
- #define Z4_ENDSTOP_ADJUSTMENT 0
- #endif
- #endif
- #endif
-#endif
-#ifndef HOMING_BUMP_MM
- #define HOMING_BUMP_MM { 5, 5, 2 }
-#endif
-#ifndef HOMING_BUMP_DIVISOR
- #define HOMING_BUMP_DIVISOR { 2, 2, 4 }
-#endif
-#if ENABLED(BLTOUCH)
- #ifdef BLTOUCH_HS_MODE
- #ifndef BLTOUCH_HS_EXTRA_CLEARANCE
- #define BLTOUCH_HS_EXTRA_CLEARANCE 7
- #endif
- #endif
-#endif
-#if ENABLED(Z_STEPPER_AUTO_ALIGN)
- #ifndef Z_STEPPER_ALIGN_STEPPER_XY
- #ifndef Z_STEPPER_ALIGN_AMP
- #define Z_STEPPER_ALIGN_AMP 1.0
- #endif
- #endif
- #ifndef G34_MAX_GRADE
- #define G34_MAX_GRADE 5
- #endif
- #ifndef Z_STEPPER_ALIGN_ITERATIONS
- #define Z_STEPPER_ALIGN_ITERATIONS 5
- #endif
- #ifndef Z_STEPPER_ALIGN_ACC
- #define Z_STEPPER_ALIGN_ACC 0.02
- #endif
-#endif
-#if ENABLED(ASSISTED_TRAMMING)
- #ifndef TRAMMING_POINT_XY
- #define TRAMMING_POINT_XY { { 20, 20 }, { 180, 20 }, { 180, 180 }, { 20, 180 } }
- #endif
- #ifndef TRAMMING_POINT_NAME_1
- #define TRAMMING_POINT_NAME_1 "Front-Left"
- #endif
- #ifndef TRAMMING_POINT_NAME_2
- #define TRAMMING_POINT_NAME_2 "Front-Right"
- #endif
- #ifndef TRAMMING_POINT_NAME_3
- #define TRAMMING_POINT_NAME_3 "Back-Right"
- #endif
- #ifndef TRAMMING_POINT_NAME_4
- #define TRAMMING_POINT_NAME_4 "Back-Left"
- #endif
- #ifndef TRAMMING_SCREW_THREAD
- #define TRAMMING_SCREW_THREAD 30
- #endif
-#endif
-#if ENABLED(FT_MOTION)
- #ifndef FTM_DEFAULT_DYNFREQ_MODE
- #define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED
- #endif
- #ifndef FTM_DEFAULT_SHAPER_X
- #define FTM_DEFAULT_SHAPER_X ftMotionShaper_NONE
- #endif
- #ifndef FTM_DEFAULT_SHAPER_Y
- #define FTM_DEFAULT_SHAPER_Y ftMotionShaper_NONE
- #endif
- #ifndef FTM_SHAPING_DEFAULT_FREQ_X
- #define FTM_SHAPING_DEFAULT_FREQ_X 37.0f
- #endif
- #ifndef FTM_SHAPING_DEFAULT_FREQ_Y
- #define FTM_SHAPING_DEFAULT_FREQ_Y 37.0f
- #endif
- #ifndef FTM_LINEAR_ADV_DEFAULT_ENA
- #define FTM_LINEAR_ADV_DEFAULT_ENA false
- #endif
- #ifndef FTM_LINEAR_ADV_DEFAULT_K
- #define FTM_LINEAR_ADV_DEFAULT_K 0
- #endif
- #ifndef FTM_SHAPING_ZETA_X
- #define FTM_SHAPING_ZETA_X 0.1f
- #endif
- #ifndef FTM_SHAPING_ZETA_Y
- #define FTM_SHAPING_ZETA_Y 0.1f
- #endif
- #ifndef FTM_SHAPING_V_TOL_X
- #define FTM_SHAPING_V_TOL_X 0.05f
- #endif
- #ifndef FTM_SHAPING_V_TOL_Y
- #define FTM_SHAPING_V_TOL_Y 0.05f
- #endif
- #if ENABLED(FTM_UNIFIED_BWS)
- #ifndef FTM_BW_SIZE
- #define FTM_BW_SIZE 100
- #endif
- #else
- #ifndef FTM_WINDOW_SIZE
- #define FTM_WINDOW_SIZE 200
- #endif
- #ifndef FTM_BATCH_SIZE
- #define FTM_BATCH_SIZE 100
- #endif
- #endif
- #ifndef FTM_FS
- #define FTM_FS 1000
- #endif
- #ifndef FTM_TS
- #define FTM_TS 0.001f
- #endif
- #if DISABLED(COREXY)
- #ifndef FTM_STEPPER_FS
- #define FTM_STEPPER_FS 20000
- #endif
- #ifndef FTM_STEPPERCMD_BUFF_SIZE
- #define FTM_STEPPERCMD_BUFF_SIZE 3000
- #endif
- #else
- #ifndef FTM_STEPPER_FS
- #define FTM_STEPPER_FS 30000
- #endif
- #ifndef FTM_STEPPERCMD_BUFF_SIZE
- #define FTM_STEPPERCMD_BUFF_SIZE 6000
- #endif
- #endif
- #ifndef FTM_STEPS_PER_UNIT_TIME
- #define FTM_STEPS_PER_UNIT_TIME (FTM_STEPPER_FS / FTM_FS)
- #endif
- #ifndef FTM_CTS_COMPARE_VAL
- #define FTM_CTS_COMPARE_VAL (FTM_STEPS_PER_UNIT_TIME / 2)
- #endif
- #ifndef FTM_MIN_TICKS
- #define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS))
- #endif
- #ifndef FTM_MIN_SHAPE_FREQ
- #define FTM_MIN_SHAPE_FREQ 10
- #endif
- #ifndef FTM_RATIO
- #define FTM_RATIO (FTM_FS / FTM_MIN_SHAPE_FREQ)
- #endif
- #ifndef FTM_ZMAX
- #define FTM_ZMAX (FTM_RATIO * 2)
- #endif
-#endif
-#if ANY(INPUT_SHAPING_X, INPUT_SHAPING_Y, INPUT_SHAPING_Z)
- #if ENABLED(INPUT_SHAPING_X)
- #ifndef SHAPING_FREQ_X
- #define SHAPING_FREQ_X 40.0
- #endif
- #ifndef SHAPING_ZETA_X
- #define SHAPING_ZETA_X 0.15
- #endif
- #endif
- #if ENABLED(INPUT_SHAPING_Y)
- #ifndef SHAPING_FREQ_Y
- #define SHAPING_FREQ_Y 40.0
- #endif
- #ifndef SHAPING_ZETA_Y
- #define SHAPING_ZETA_Y 0.15
- #endif
- #endif
- #if ENABLED(INPUT_SHAPING_Z)
- #ifndef SHAPING_FREQ_Z
- #define SHAPING_FREQ_Z 40.0
- #endif
- #ifndef SHAPING_ZETA_Z
- #define SHAPING_ZETA_Z 0.15
- #endif
- #endif
-#endif
-#ifndef AXIS_RELATIVE_MODES
- #define AXIS_RELATIVE_MODES { false, false, false, false }
-#endif
-#ifndef STEP_STATE_X
- #define STEP_STATE_X HIGH
-#endif
-#ifndef STEP_STATE_Y
- #define STEP_STATE_Y HIGH
-#endif
-#ifndef STEP_STATE_Z
- #define STEP_STATE_Z HIGH
-#endif
-#ifndef STEP_STATE_I
- #define STEP_STATE_I HIGH
-#endif
-#ifndef STEP_STATE_J
- #define STEP_STATE_J HIGH
-#endif
-#ifndef STEP_STATE_K
- #define STEP_STATE_K HIGH
-#endif
-#ifndef STEP_STATE_U
- #define STEP_STATE_U HIGH
-#endif
-#ifndef STEP_STATE_V
- #define STEP_STATE_V HIGH
-#endif
-#ifndef STEP_STATE_W
- #define STEP_STATE_W HIGH
-#endif
-#ifndef STEP_STATE_E
- #define STEP_STATE_E HIGH
-#endif
-#ifndef DEFAULT_STEPPER_TIMEOUT_SEC
- #define DEFAULT_STEPPER_TIMEOUT_SEC 120
-#endif
-#ifndef DEFAULT_MINIMUMFEEDRATE
- #define DEFAULT_MINIMUMFEEDRATE 0.0
-#endif
-#ifndef DEFAULT_MINTRAVELFEEDRATE
- #define DEFAULT_MINTRAVELFEEDRATE 0.0
-#endif
-#ifndef DEFAULT_MINSEGMENTTIME
- #define DEFAULT_MINSEGMENTTIME 20000
-#endif
-#if ENABLED(SLOWDOWN)
- #ifndef SLOWDOWN_DIVISOR
- #define SLOWDOWN_DIVISOR 2
- #endif
-#endif
-#ifdef XY_FREQUENCY_LIMIT
- #ifndef XY_FREQUENCY_MIN_PERCENT
- #define XY_FREQUENCY_MIN_PERCENT 5
- #endif
-#endif
-#if ENABLED(BACKLASH_COMPENSATION)
- #ifndef BACKLASH_DISTANCE_MM
- #define BACKLASH_DISTANCE_MM { 0, 0, 0 }
- #endif
- #ifndef BACKLASH_CORRECTION
- #define BACKLASH_CORRECTION 0.0
- #endif
- #if ENABLED(BACKLASH_GCODE)
- #if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
- #ifndef BACKLASH_MEASUREMENT_LIMIT
- #define BACKLASH_MEASUREMENT_LIMIT 0.5
- #endif
- #ifndef BACKLASH_MEASUREMENT_RESOLUTION
- #define BACKLASH_MEASUREMENT_RESOLUTION 0.005
- #endif
- #ifndef BACKLASH_MEASUREMENT_FEEDRATE
- #define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_FEEDRATE_SLOW
- #endif
- #endif
- #endif
-#endif
-#if ENABLED(CALIBRATION_GCODE)
- #ifndef CALIBRATION_FEEDRATE_SLOW
- #define CALIBRATION_FEEDRATE_SLOW 60
- #endif
- #ifndef CALIBRATION_FEEDRATE_FAST
- #define CALIBRATION_FEEDRATE_FAST 1200
- #endif
- #ifndef CALIBRATION_FEEDRATE_TRAVEL
- #define CALIBRATION_FEEDRATE_TRAVEL 3000
- #endif
- #ifndef CALIBRATION_NOZZLE_TIP_HEIGHT
- #define CALIBRATION_NOZZLE_TIP_HEIGHT 1.0
- #endif
- #ifndef CALIBRATION_NOZZLE_OUTER_DIAMETER
- #define CALIBRATION_NOZZLE_OUTER_DIAMETER 2.0
- #endif
- #ifndef CALIBRATION_OBJECT_CENTER
- #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 }
- #endif
- #ifndef CALIBRATION_OBJECT_DIMENSIONS
- #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 }
- #endif
- #ifndef CALIBRATION_PIN
- #ifndef CALIBRATION_PIN_INVERTING
- #define CALIBRATION_PIN_INVERTING false
- #endif
- #endif
-#endif
-#ifndef MULTISTEPPING_LIMIT
- #define MULTISTEPPING_LIMIT 16
-#endif
-#ifndef MICROSTEP_MODES
- #define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 }
-#endif
-#if ANY(DIGIPOT_MCP4018, DIGIPOT_MCP4451)
- #ifndef DIGIPOT_I2C_NUM_CHANNELS
- #define DIGIPOT_I2C_NUM_CHANNELS 8
- #endif
- #ifndef DIGIPOT_I2C_MOTOR_CURRENTS
- #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 }
- #endif
-#endif
-#if HAS_MANUAL_MOVE_MENU
- #ifndef MANUAL_FEEDRATE
- #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 2*60 }
- #endif
- #ifndef FINE_MANUAL_MOVE
- #define FINE_MANUAL_MOVE 0.025
- #endif
-#endif
-#if ENABLED(ENCODER_RATE_MULTIPLIER)
- #ifndef ENCODER_10X_STEPS_PER_SEC
- #define ENCODER_10X_STEPS_PER_SEC 30
- #endif
- #ifndef ENCODER_100X_STEPS_PER_SEC
- #define ENCODER_100X_STEPS_PER_SEC 80
- #endif
-#endif
-#if ENABLED(BEEP_ON_FEEDRATE_CHANGE)
- #ifndef FEEDRATE_CHANGE_BEEP_DURATION
- #define FEEDRATE_CHANGE_BEEP_DURATION 10
- #endif
- #ifndef FEEDRATE_CHANGE_BEEP_FREQUENCY
- #define FEEDRATE_CHANGE_BEEP_FREQUENCY 440
- #endif
-#endif
-#if HAS_MARLINUI_MENU
- #if HAS_BED_PROBE
- #if ENABLED(X_AXIS_TWIST_COMPENSATION)
- #ifndef XATC_START_Z
- #define XATC_START_Z 0.0
- #endif
- #ifndef XATC_MAX_POINTS
- #define XATC_MAX_POINTS 3
- #endif
- #ifndef XATC_Y_POSITION
- #define XATC_Y_POSITION Y_CENTER
- #endif
- #ifndef XATC_Z_OFFSETS
- #define XATC_Z_OFFSETS { 0, 0, 0 }
- #endif
- #endif
- #endif
- #ifndef MANUAL_MOVE_DISTANCE_MM
- #define MANUAL_MOVE_DISTANCE_MM 10, 1.0, 0.1
- #endif
- #ifndef MANUAL_MOVE_DISTANCE_IN
- #define MANUAL_MOVE_DISTANCE_IN 0.100, 0.010, 0.001
- #endif
- #ifndef MANUAL_MOVE_DISTANCE_DEG
- #define MANUAL_MOVE_DISTANCE_DEG 90, 45, 22.5, 5, 1
- #endif
-#endif
-#if HAS_DISPLAY
- #if ENABLED(SHOW_BOOTSCREEN)
- #ifndef BOOTSCREEN_TIMEOUT
- #define BOOTSCREEN_TIMEOUT 3000
- #endif
- #endif
- #if ENABLED(LED_CONTROL_MENU)
- #if ENABLED(LED_COLOR_PRESETS)
- #ifndef LED_USER_PRESET_RED
- #define LED_USER_PRESET_RED 255
- #endif
- #ifndef LED_USER_PRESET_GREEN
- #define LED_USER_PRESET_GREEN 128
- #endif
- #ifndef LED_USER_PRESET_BLUE
- #define LED_USER_PRESET_BLUE 0
- #endif
- #ifndef LED_USER_PRESET_WHITE
- #define LED_USER_PRESET_WHITE 255
- #endif
- #ifndef LED_USER_PRESET_BRIGHTNESS
- #define LED_USER_PRESET_BRIGHTNESS 255
- #endif
- #endif
- #if ENABLED(NEO2_COLOR_PRESETS)
- #ifndef NEO2_USER_PRESET_RED
- #define NEO2_USER_PRESET_RED 255
- #endif
- #ifndef NEO2_USER_PRESET_GREEN
- #define NEO2_USER_PRESET_GREEN 128
- #endif
- #ifndef NEO2_USER_PRESET_BLUE
- #define NEO2_USER_PRESET_BLUE 0
- #endif
- #ifndef NEO2_USER_PRESET_WHITE
- #define NEO2_USER_PRESET_WHITE 255
- #endif
- #ifndef NEO2_USER_PRESET_BRIGHTNESS
- #define NEO2_USER_PRESET_BRIGHTNESS 255
- #endif
- #endif
- #endif
-#endif
-#if HAS_FEEDRATE_EDIT
- #ifndef SPEED_EDIT_MIN
- #define SPEED_EDIT_MIN 10
- #endif
- #ifndef SPEED_EDIT_MAX
- #define SPEED_EDIT_MAX 999
- #endif
-#endif
-#if HAS_FLOW_EDIT
- #ifndef FLOW_EDIT_MIN
- #define FLOW_EDIT_MIN 10
- #endif
- #ifndef FLOW_EDIT_MAX
- #define FLOW_EDIT_MAX 999
- #endif
-#endif
-#if HAS_DISPLAY && ANY(HAS_MEDIA, SET_PROGRESS_MANUALLY)
- #if ANY(HAS_MARLINUI_HD44780, IS_TFTGLCD_PANEL)
- #if ENABLED(LCD_PROGRESS_BAR)
- #ifndef PROGRESS_BAR_BAR_TIME
- #define PROGRESS_BAR_BAR_TIME 2000
- #endif
- #ifndef PROGRESS_BAR_MSG_TIME
- #define PROGRESS_BAR_MSG_TIME 3000
- #endif
- #ifndef PROGRESS_MSG_EXPIRE
- #define PROGRESS_MSG_EXPIRE 0
- #endif
- #endif
- #endif
-#endif
-#if HAS_MEDIA
- #ifndef SD_PROCEDURE_DEPTH
- #define SD_PROCEDURE_DEPTH 1
- #endif
- #ifndef SD_FINISHED_STEPPERRELEASE
- #define SD_FINISHED_STEPPERRELEASE true
- #endif
- #ifndef SD_FINISHED_RELEASECOMMAND
- #define SD_FINISHED_RELEASECOMMAND "M84"
- #endif
- #ifndef EVENT_GCODE_SD_ABORT
- #define EVENT_GCODE_SD_ABORT "G28XY"
- #endif
- #if ENABLED(PRINTER_EVENT_LEDS)
- #ifndef PE_LEDS_COMPLETED_TIME
- #define PE_LEDS_COMPLETED_TIME (30*60)
- #endif
- #endif
- #if ENABLED(POWER_LOSS_RECOVERY)
- #ifndef PLR_ENABLED_DEFAULT
- #define PLR_ENABLED_DEFAULT false
- #endif
- #ifndef POWER_LOSS_MIN_Z_CHANGE
- #define POWER_LOSS_MIN_Z_CHANGE 0.05
- #endif
- #endif
- #if ENABLED(SDCARD_SORT_ALPHA)
- #ifndef SDSORT_REVERSE
- #define SDSORT_REVERSE false
- #endif
- #ifndef SDSORT_LIMIT
- #define SDSORT_LIMIT 40
- #endif
- #ifndef SDSORT_FOLDERS
- #define SDSORT_FOLDERS -1
- #endif
- #ifndef SDSORT_GCODE
- #define SDSORT_GCODE false
- #endif
- #ifndef SDSORT_USES_RAM
- #define SDSORT_USES_RAM false
- #endif
- #ifndef SDSORT_USES_STACK
- #define SDSORT_USES_STACK false
- #endif
- #ifndef SDSORT_CACHE_NAMES
- #define SDSORT_CACHE_NAMES false
- #endif
- #ifndef SDSORT_DYNAMIC_RAM
- #define SDSORT_DYNAMIC_RAM false
- #endif
- #ifndef SDSORT_CACHE_VFATS
- #define SDSORT_CACHE_VFATS 2
- #endif
- #endif
- #if ENABLED(USB_FLASH_DRIVE_SUPPORT)
- #if DISABLED(USE_OTG_USB_HOST)
- #ifndef USB_CS_PIN
- #define USB_CS_PIN SDSS
- #endif
- #ifndef USB_INTR_PIN
- #define USB_INTR_PIN SD_DETECT_PIN
- #endif
- #endif
- #endif
- #if ENABLED(SD_FIRMWARE_UPDATE)
- #ifndef SD_FIRMWARE_UPDATE_EEPROM_ADDR
- #define SD_FIRMWARE_UPDATE_EEPROM_ADDR 0x1FF
- #endif
- #ifndef SD_FIRMWARE_UPDATE_ACTIVE_VALUE
- #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE 0xF0
- #endif
- #ifndef SD_FIRMWARE_UPDATE_INACTIVE_VALUE
- #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
- #endif
- #endif
- #if ENABLED(MULTI_VOLUME)
- #ifndef DEFAULT_VOLUME
- #define DEFAULT_VOLUME SV_SD_ONBOARD
- #endif
- #ifndef DEFAULT_SHARED_VOLUME
- #define DEFAULT_SHARED_VOLUME SV_USB_FLASH_DRIVE
- #endif
- #endif
-#endif
-#if HAS_MARLINUI_U8GLIB
- #if IS_U8GLIB_ST7920
- #if ENABLED(LIGHTWEIGHT_UI)
- #ifndef STATUS_EXPIRE_SECONDS
- #define STATUS_EXPIRE_SECONDS 20
- #endif
- #endif
- #endif
-#endif
-#if HAS_DGUS_LCD
- #ifndef LCD_BAUDRATE
- #define LCD_BAUDRATE 115200
- #endif
- #ifndef DGUS_RX_BUFFER_SIZE
- #define DGUS_RX_BUFFER_SIZE 128
- #endif
- #ifndef DGUS_TX_BUFFER_SIZE
- #define DGUS_TX_BUFFER_SIZE 48
- #endif
- #ifndef DGUS_UPDATE_INTERVAL_MS
- #define DGUS_UPDATE_INTERVAL_MS 500
- #endif
- #if DGUS_UI_IS(FYSETC, MKS, HIPRECY)
- #if ENABLED(DGUS_FILAMENT_LOADUNLOAD)
- #ifndef DGUS_FILAMENT_PURGE_LENGTH
- #define DGUS_FILAMENT_PURGE_LENGTH 10
- #endif
- #ifndef DGUS_FILAMENT_LOAD_LENGTH_PER_TIME
- #define DGUS_FILAMENT_LOAD_LENGTH_PER_TIME 0.5
- #endif
- #endif
- #if ENABLED(DGUS_UI_WAITING)
- #ifndef DGUS_UI_WAITING_STATUS
- #define DGUS_UI_WAITING_STATUS 10
- #endif
- #ifndef DGUS_UI_WAITING_STATUS_PERIOD
- #define DGUS_UI_WAITING_STATUS_PERIOD 8
- #endif
- #endif
- #elif DGUS_UI_IS(E3S1PRO)
- #ifndef DGUS_AUTOSCROLL_START_CYCLES
- #define DGUS_AUTOSCROLL_START_CYCLES 1
- #endif
- #ifndef DGUS_AUTOSCROLL_END_CYCLES
- #define DGUS_AUTOSCROLL_END_CYCLES 1
- #endif
- #endif
-#endif
-#if ENABLED(TOUCH_UI_FTDI_EVE)
- #if ENABLED(OTHER_PIN_LAYOUT)
- #ifndef CLCD_MOD_RESET
- #define CLCD_MOD_RESET 9
- #endif
- #ifndef CLCD_SPI_CS
- #define CLCD_SPI_CS 10
- #endif
- #if ENABLED(CLCD_USE_SOFT_SPI)
- #ifndef CLCD_SOFT_SPI_MOSI
- #define CLCD_SOFT_SPI_MOSI 11
- #endif
- #ifndef CLCD_SOFT_SPI_MISO
- #define CLCD_SOFT_SPI_MISO 12
- #endif
- #ifndef CLCD_SOFT_SPI_SCLK
- #define CLCD_SOFT_SPI_SCLK 13
- #endif
- #endif
- #endif
-#endif
-#if HAS_ADC_BUTTONS
- #ifndef ADC_BUTTON_DEBOUNCE_DELAY
- #define ADC_BUTTON_DEBOUNCE_DELAY 16
- #endif
-#endif
-#if ENABLED(BABYSTEPPING)
- #ifndef BABYSTEP_MULTIPLICATOR_Z
- #define BABYSTEP_MULTIPLICATOR_Z 1
- #endif
- #ifndef BABYSTEP_MULTIPLICATOR_XY
- #define BABYSTEP_MULTIPLICATOR_XY 1
- #endif
- #if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING)
- #ifndef DOUBLECLICK_MAX_INTERVAL
- #define DOUBLECLICK_MAX_INTERVAL 1250
- #endif
- #if ENABLED(MOVE_Z_WHEN_IDLE)
- #ifndef MOVE_Z_IDLE_MULTIPLICATOR
- #define MOVE_Z_IDLE_MULTIPLICATOR 1
- #endif
- #endif
- #endif
-#endif
-#if ENABLED(LIN_ADVANCE)
- #if ENABLED(DISTINCT_E_FACTORS)
- #ifndef ADVANCE_K
- #define ADVANCE_K { 0.22 }
- #endif
- #else
- #ifndef ADVANCE_K
- #define ADVANCE_K 0.22
- #endif
- #endif
-#endif
-#if ENABLED(G29_RETRY_AND_RECOVER)
- #ifndef G29_MAX_RETRIES
- #define G29_MAX_RETRIES 3
- #endif
- #ifndef G29_SUCCESS_COMMANDS
- #define G29_SUCCESS_COMMANDS "M117 Bed leveling done."
- #endif
- #ifndef G29_RECOVER_COMMANDS
- #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0"
- #endif
- #ifndef G29_FAILURE_COMMANDS
- #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1"
- #endif
-#endif
-#if ANY(PTC_PROBE, PTC_BED, PTC_HOTEND)
- #if ENABLED(PTC_PROBE)
- #ifndef PTC_PROBE_START
- #define PTC_PROBE_START 30
- #endif
- #ifndef PTC_PROBE_RES
- #define PTC_PROBE_RES 5
- #endif
- #ifndef PTC_PROBE_COUNT
- #define PTC_PROBE_COUNT 10
- #endif
- #ifndef PTC_PROBE_ZOFFS
- #define PTC_PROBE_ZOFFS { 0 }
- #endif
- #endif
- #if ENABLED(PTC_BED)
- #ifndef PTC_BED_START
- #define PTC_BED_START 60
- #endif
- #ifndef PTC_BED_RES
- #define PTC_BED_RES 5
- #endif
- #ifndef PTC_BED_COUNT
- #define PTC_BED_COUNT 10
- #endif
- #ifndef PTC_BED_ZOFFS
- #define PTC_BED_ZOFFS { 0 }
- #endif
- #endif
- #if ENABLED(PTC_HOTEND)
- #ifndef PTC_HOTEND_START
- #define PTC_HOTEND_START 180
- #endif
- #ifndef PTC_HOTEND_RES
- #define PTC_HOTEND_RES 5
- #endif
- #ifndef PTC_HOTEND_COUNT
- #define PTC_HOTEND_COUNT 20
- #endif
- #ifndef PTC_HOTEND_ZOFFS
- #define PTC_HOTEND_ZOFFS { 0 }
- #endif
- #endif
- #if ALL(PTC_PROBE, PTC_BED)
- #ifndef PTC_PARK_POS
- #define PTC_PARK_POS { 0, 0, 100 }
- #endif
- #ifndef PTC_PROBE_POS
- #define PTC_PROBE_POS { 90, 100 }
- #endif
- #ifndef PTC_PROBE_TEMP
- #define PTC_PROBE_TEMP 30
- #endif
- #ifndef PTC_PROBE_HEATING_OFFSET
- #define PTC_PROBE_HEATING_OFFSET 0.5
- #endif
- #endif
-#endif
-#if ENABLED(ARC_SUPPORT)
- #ifndef MIN_ARC_SEGMENT_MM
- #define MIN_ARC_SEGMENT_MM 0.1
- #endif
- #ifndef MAX_ARC_SEGMENT_MM
- #define MAX_ARC_SEGMENT_MM 1.0
- #endif
- #ifndef MIN_CIRCLE_SEGMENTS
- #define MIN_CIRCLE_SEGMENTS 72
- #endif
- #ifndef N_ARC_CORRECTION
- #define N_ARC_CORRECTION 25
- #endif
-#endif
-#if ENABLED(G38_PROBE_TARGET)
- #ifndef G38_MINIMUM_MOVE
- #define G38_MINIMUM_MOVE 0.0275
- #endif
-#endif
-#ifndef MIN_STEPS_PER_SEGMENT
- #define MIN_STEPS_PER_SEGMENT 6
-#endif
-#if ALL(HAS_MEDIA, DIRECT_STEPPING)
- #ifndef BLOCK_BUFFER_SIZE
- #define BLOCK_BUFFER_SIZE 8
- #endif
-#elif HAS_MEDIA
- #ifndef BLOCK_BUFFER_SIZE
- #define BLOCK_BUFFER_SIZE 16
- #endif
-#else
- #ifndef BLOCK_BUFFER_SIZE
- #define BLOCK_BUFFER_SIZE 16
- #endif
-#endif
-#ifndef MAX_CMD_SIZE
- #define MAX_CMD_SIZE 96
-#endif
-#ifndef BUFSIZE
- #define BUFSIZE 4
-#endif
-#ifndef TX_BUFFER_SIZE
- #define TX_BUFFER_SIZE 0
-#endif
-#ifndef PROPORTIONAL_FONT_RATIO
- #define PROPORTIONAL_FONT_RATIO 1.0
-#endif
-#if ENABLED(FWRETRACT)
- #if ENABLED(FWRETRACT_AUTORETRACT)
- #ifndef MIN_AUTORETRACT
- #define MIN_AUTORETRACT 0.1
- #endif
- #ifndef MAX_AUTORETRACT
- #define MAX_AUTORETRACT 10.0
- #endif
- #endif
- #ifndef RETRACT_LENGTH
- #define RETRACT_LENGTH 3
- #endif
- #ifndef RETRACT_LENGTH_SWAP
- #define RETRACT_LENGTH_SWAP 13
- #endif
- #ifndef RETRACT_FEEDRATE
- #define RETRACT_FEEDRATE 45
- #endif
- #ifndef RETRACT_ZRAISE
- #define RETRACT_ZRAISE 0
- #endif
- #ifndef RETRACT_RECOVER_LENGTH
- #define RETRACT_RECOVER_LENGTH 0
- #endif
- #ifndef RETRACT_RECOVER_LENGTH_SWAP
- #define RETRACT_RECOVER_LENGTH_SWAP 0
- #endif
- #ifndef RETRACT_RECOVER_FEEDRATE
- #define RETRACT_RECOVER_FEEDRATE 8
- #endif
- #ifndef RETRACT_RECOVER_FEEDRATE_SWAP
- #define RETRACT_RECOVER_FEEDRATE_SWAP 8
- #endif
-#endif
-#if HAS_MULTI_EXTRUDER
- #ifndef TOOLCHANGE_ZRAISE
- #define TOOLCHANGE_ZRAISE 2
- #endif
- #if ENABLED(TOOLCHANGE_FILAMENT_SWAP)
- #ifndef TOOLCHANGE_FS_LENGTH
- #define TOOLCHANGE_FS_LENGTH 12
- #endif
- #ifndef TOOLCHANGE_FS_EXTRA_RESUME_LENGTH
- #define TOOLCHANGE_FS_EXTRA_RESUME_LENGTH 0
- #endif
- #ifndef TOOLCHANGE_FS_RETRACT_SPEED
- #define TOOLCHANGE_FS_RETRACT_SPEED (50*60)
- #endif
- #ifndef TOOLCHANGE_FS_UNRETRACT_SPEED
- #define TOOLCHANGE_FS_UNRETRACT_SPEED (25*60)
- #endif
- #ifndef TOOLCHANGE_FS_EXTRA_PRIME
- #define TOOLCHANGE_FS_EXTRA_PRIME 0
- #endif
- #ifndef TOOLCHANGE_FS_PRIME_SPEED
- #define TOOLCHANGE_FS_PRIME_SPEED (4.6*60)
- #endif
- #ifndef TOOLCHANGE_FS_WIPE_RETRACT
- #define TOOLCHANGE_FS_WIPE_RETRACT 0
- #endif
- #ifndef TOOLCHANGE_FS_FAN
- #define TOOLCHANGE_FS_FAN -1
- #endif
- #ifndef TOOLCHANGE_FS_FAN_SPEED
- #define TOOLCHANGE_FS_FAN_SPEED 255
- #endif
- #ifndef TOOLCHANGE_FS_FAN_TIME
- #define TOOLCHANGE_FS_FAN_TIME 10
- #endif
- #endif
- #if ENABLED(TOOLCHANGE_PARK)
- #ifndef TOOLCHANGE_PARK_XY
- #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 }
- #endif
- #ifndef TOOLCHANGE_PARK_XY_FEEDRATE
- #define TOOLCHANGE_PARK_XY_FEEDRATE 6000
- #endif
- #endif
-#endif
-#if ENABLED(ADVANCED_PAUSE_FEATURE)
- #ifndef PAUSE_PARK_RETRACT_FEEDRATE
- #define PAUSE_PARK_RETRACT_FEEDRATE 60
- #endif
- #ifndef PAUSE_PARK_RETRACT_LENGTH
- #define PAUSE_PARK_RETRACT_LENGTH 2
- #endif
- #ifndef FILAMENT_CHANGE_UNLOAD_FEEDRATE
- #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10
- #endif
- #ifndef FILAMENT_CHANGE_UNLOAD_ACCEL
- #define FILAMENT_CHANGE_UNLOAD_ACCEL 25
- #endif
- #ifndef FILAMENT_CHANGE_UNLOAD_LENGTH
- #define FILAMENT_CHANGE_UNLOAD_LENGTH 100
- #endif
- #ifndef FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE
- #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6
- #endif
- #ifndef FILAMENT_CHANGE_SLOW_LOAD_LENGTH
- #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0
- #endif
- #ifndef FILAMENT_CHANGE_FAST_LOAD_FEEDRATE
- #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6
- #endif
- #ifndef FILAMENT_CHANGE_FAST_LOAD_ACCEL
- #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25
- #endif
- #ifndef FILAMENT_CHANGE_FAST_LOAD_LENGTH
- #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0
- #endif
- #ifndef ADVANCED_PAUSE_PURGE_FEEDRATE
- #define ADVANCED_PAUSE_PURGE_FEEDRATE 3
- #endif
- #ifndef ADVANCED_PAUSE_PURGE_LENGTH
- #define ADVANCED_PAUSE_PURGE_LENGTH 50
- #endif
- #ifndef ADVANCED_PAUSE_RESUME_PRIME
- #define ADVANCED_PAUSE_RESUME_PRIME 0
- #endif
- #ifndef FILAMENT_UNLOAD_PURGE_RETRACT
- #define FILAMENT_UNLOAD_PURGE_RETRACT 13
- #endif
- #ifndef FILAMENT_UNLOAD_PURGE_DELAY
- #define FILAMENT_UNLOAD_PURGE_DELAY 5000
- #endif
- #ifndef FILAMENT_UNLOAD_PURGE_LENGTH
- #define FILAMENT_UNLOAD_PURGE_LENGTH 8
- #endif
- #ifndef FILAMENT_UNLOAD_PURGE_FEEDRATE
- #define FILAMENT_UNLOAD_PURGE_FEEDRATE 25
- #endif
- #ifndef PAUSE_PARK_NOZZLE_TIMEOUT
- #define PAUSE_PARK_NOZZLE_TIMEOUT 45
- #endif
- #ifndef FILAMENT_CHANGE_ALERT_BEEPS
- #define FILAMENT_CHANGE_ALERT_BEEPS 10
- #endif
-#endif
-#if HAS_TRINAMIC_CONFIG
- #ifndef HOLD_MULTIPLIER
- #define HOLD_MULTIPLIER 0.5
- #endif
- #ifndef INTERPOLATE
- #define INTERPOLATE true
- #endif
- #if AXIS_IS_TMC_CONFIG(X)
- #ifndef X_CURRENT
- #define X_CURRENT 800
- #endif
- #ifndef X_CURRENT_HOME
- #define X_CURRENT_HOME X_CURRENT
- #endif
- #ifndef X_MICROSTEPS
- #define X_MICROSTEPS 16
- #endif
- #ifndef X_RSENSE
- #define X_RSENSE 0.11
- #endif
- #ifndef X_CHAIN_POS
- #define X_CHAIN_POS -1
- #endif
- #endif
- #if AXIS_IS_TMC_CONFIG(X2)
- #ifndef X2_CURRENT
- #define X2_CURRENT X_CURRENT
- #endif
- #ifndef X2_CURRENT_HOME
- #define X2_CURRENT_HOME X_CURRENT_HOME
- #endif
- #ifndef X2_MICROSTEPS
- #define X2_MICROSTEPS X_MICROSTEPS
- #endif
- #ifndef X2_RSENSE
- #define X2_RSENSE X_RSENSE
- #endif
- #ifndef X2_CHAIN_POS
- #define X2_CHAIN_POS -1
- #endif
- #endif
- #if AXIS_IS_TMC_CONFIG(Y)
- #ifndef Y_CURRENT
- #define Y_CURRENT 800
- #endif
- #ifndef Y_CURRENT_HOME
- #define Y_CURRENT_HOME Y_CURRENT
- #endif
- #ifndef Y_MICROSTEPS
- #define Y_MICROSTEPS 16
- #endif
- #ifndef Y_RSENSE
- #define Y_RSENSE 0.11
- #endif
- #ifndef Y_CHAIN_POS
- #define Y_CHAIN_POS -1
- #endif
- #endif
- #if AXIS_IS_TMC_CONFIG(Y2)
- #ifndef Y2_CURRENT
- #define Y2_CURRENT Y_CURRENT
- #endif
- #ifndef Y2_CURRENT_HOME
- #define Y2_CURRENT_HOME Y_CURRENT_HOME
- #endif
- #ifndef Y2_MICROSTEPS
- #define Y2_MICROSTEPS Y_MICROSTEPS
- #endif
- #ifndef Y2_RSENSE
- #define Y2_RSENSE Y_RSENSE
- #endif
- #ifndef Y2_CHAIN_POS
- #define Y2_CHAIN_POS -1
- #endif
- #endif
- #if AXIS_IS_TMC_CONFIG(Z)
- #ifndef Z_CURRENT
- #define Z_CURRENT 800
- #endif
- #ifndef Z_CURRENT_HOME
- #define Z_CURRENT_HOME Z_CURRENT
- #endif
- #ifndef Z_MICROSTEPS
- #define Z_MICROSTEPS 16
- #endif
- #ifndef Z_RSENSE
- #define Z_RSENSE 0.11
- #endif
- #ifndef Z_CHAIN_POS
- #define Z_CHAIN_POS -1
- #endif
- #endif
- #if AXIS_IS_TMC_CONFIG(Z2)
- #ifndef Z2_CURRENT
- #define Z2_CURRENT Z_CURRENT
- #endif
- #ifndef Z2_CURRENT_HOME
- #define Z2_CURRENT_HOME Z_CURRENT_HOME
- #endif
- #ifndef Z2_MICROSTEPS
- #define Z2_MICROSTEPS Z_MICROSTEPS
- #endif
- #ifndef Z2_RSENSE
- #define Z2_RSENSE Z_RSENSE
- #endif
- #ifndef Z2_CHAIN_POS
- #define Z2_CHAIN_POS -1
- #endif
- #endif
- #if AXIS_IS_TMC_CONFIG(Z3)
- #ifndef Z3_CURRENT
- #define Z3_CURRENT Z_CURRENT
- #endif
- #ifndef Z3_CURRENT_HOME
- #define Z3_CURRENT_HOME Z_CURRENT_HOME
- #endif
- #ifndef Z3_MICROSTEPS
- #define Z3_MICROSTEPS Z_MICROSTEPS
- #endif
- #ifndef Z3_RSENSE
- #define Z3_RSENSE Z_RSENSE
- #endif
- #ifndef Z3_CHAIN_POS
- #define Z3_CHAIN_POS -1
- #endif
- #endif
- #if AXIS_IS_TMC_CONFIG(Z4)
- #ifndef Z4_CURRENT
- #define Z4_CURRENT Z_CURRENT
- #endif
- #ifndef Z4_CURRENT_HOME
- #define Z4_CURRENT_HOME Z_CURRENT_HOME
- #endif
- #ifndef Z4_MICROSTEPS
- #define Z4_MICROSTEPS Z_MICROSTEPS
- #endif
- #ifndef Z4_RSENSE
- #define Z4_RSENSE Z_RSENSE
- #endif
- #ifndef Z4_CHAIN_POS
- #define Z4_CHAIN_POS -1
- #endif
- #endif
- #if AXIS_IS_TMC_CONFIG(I)
- #ifndef I_CURRENT
- #define I_CURRENT 800
- #endif
- #ifndef I_CURRENT_HOME
- #define I_CURRENT_HOME I_CURRENT
- #endif
- #ifndef I_MICROSTEPS
- #define I_MICROSTEPS 16
- #endif
- #ifndef I_RSENSE
- #define I_RSENSE 0.11
- #endif
- #ifndef I_CHAIN_POS
- #define I_CHAIN_POS -1
- #endif
- #endif
- #if AXIS_IS_TMC_CONFIG(J)
- #ifndef J_CURRENT
- #define J_CURRENT 800
- #endif
- #ifndef J_CURRENT_HOME
- #define J_CURRENT_HOME J_CURRENT
- #endif
- #ifndef J_MICROSTEPS
- #define J_MICROSTEPS 16
- #endif
- #ifndef J_RSENSE
- #define J_RSENSE 0.11
- #endif
- #ifndef J_CHAIN_POS
- #define J_CHAIN_POS -1
- #endif
- #endif
- #if AXIS_IS_TMC_CONFIG(K)
- #ifndef K_CURRENT
- #define K_CURRENT 800
- #endif
- #ifndef K_CURRENT_HOME
- #define K_CURRENT_HOME K_CURRENT
- #endif
- #ifndef K_MICROSTEPS
- #define K_MICROSTEPS 16
- #endif
- #ifndef K_RSENSE
- #define K_RSENSE 0.11
- #endif
- #ifndef K_CHAIN_POS
- #define K_CHAIN_POS -1
- #endif
- #endif
- #if AXIS_IS_TMC_CONFIG(U)
- #ifndef U_CURRENT
- #define U_CURRENT 800
- #endif
- #ifndef U_CURRENT_HOME
- #define U_CURRENT_HOME U_CURRENT
- #endif
- #ifndef U_MICROSTEPS
- #define U_MICROSTEPS 8
- #endif
- #ifndef U_RSENSE
- #define U_RSENSE 0.11
- #endif
- #ifndef U_CHAIN_POS
- #define U_CHAIN_POS -1
- #endif
- #endif
- #if AXIS_IS_TMC_CONFIG(V)
- #ifndef V_CURRENT
- #define V_CURRENT 800
- #endif
- #ifndef V_CURRENT_HOME
- #define V_CURRENT_HOME V_CURRENT
- #endif
- #ifndef V_MICROSTEPS
- #define V_MICROSTEPS 8
- #endif
- #ifndef V_RSENSE
- #define V_RSENSE 0.11
- #endif
- #ifndef V_CHAIN_POS
- #define V_CHAIN_POS -1
- #endif
- #endif
- #if AXIS_IS_TMC_CONFIG(W)
- #ifndef W_CURRENT
- #define W_CURRENT 800
- #endif
- #ifndef W_CURRENT_HOME
- #define W_CURRENT_HOME W_CURRENT
- #endif
- #ifndef W_MICROSTEPS
- #define W_MICROSTEPS 8
- #endif
- #ifndef W_RSENSE
- #define W_RSENSE 0.11
- #endif
- #ifndef W_CHAIN_POS
- #define W_CHAIN_POS -1
- #endif
- #endif
- #if AXIS_IS_TMC_CONFIG(E0)
- #ifndef E0_CURRENT
- #define E0_CURRENT 800
- #endif
- #ifndef E0_MICROSTEPS
- #define E0_MICROSTEPS 16
- #endif
- #ifndef E0_RSENSE
- #define E0_RSENSE 0.11
- #endif
- #ifndef E0_CHAIN_POS
- #define E0_CHAIN_POS -1
- #endif
- #endif
- #if AXIS_IS_TMC_CONFIG(E1)
- #ifndef E1_CURRENT
- #define E1_CURRENT E0_CURRENT
- #endif
- #ifndef E1_MICROSTEPS
- #define E1_MICROSTEPS E0_MICROSTEPS
- #endif
- #ifndef E1_RSENSE
- #define E1_RSENSE E0_RSENSE
- #endif
- #ifndef E1_CHAIN_POS
- #define E1_CHAIN_POS -1
- #endif
- #endif
- #if AXIS_IS_TMC_CONFIG(E2)
- #ifndef E2_CURRENT
- #define E2_CURRENT E0_CURRENT
- #endif
- #ifndef E2_MICROSTEPS
- #define E2_MICROSTEPS E0_MICROSTEPS
- #endif
- #ifndef E2_RSENSE
- #define E2_RSENSE E0_RSENSE
- #endif
- #ifndef E2_CHAIN_POS
- #define E2_CHAIN_POS -1
- #endif
- #endif
- #if AXIS_IS_TMC_CONFIG(E3)
- #ifndef E3_CURRENT
- #define E3_CURRENT E0_CURRENT
- #endif
- #ifndef E3_MICROSTEPS
- #define E3_MICROSTEPS E0_MICROSTEPS
- #endif
- #ifndef E3_RSENSE
- #define E3_RSENSE E0_RSENSE
- #endif
- #ifndef E3_CHAIN_POS
- #define E3_CHAIN_POS -1
- #endif
- #endif
- #if AXIS_IS_TMC_CONFIG(E4)
- #ifndef E4_CURRENT
- #define E4_CURRENT E0_CURRENT
- #endif
- #ifndef E4_MICROSTEPS
- #define E4_MICROSTEPS E0_MICROSTEPS
- #endif
- #ifndef E4_RSENSE
- #define E4_RSENSE E0_RSENSE
- #endif
- #ifndef E4_CHAIN_POS
- #define E4_CHAIN_POS -1
- #endif
- #endif
- #if AXIS_IS_TMC_CONFIG(E5)
- #ifndef E5_CURRENT
- #define E5_CURRENT E0_CURRENT
- #endif
- #ifndef E5_MICROSTEPS
- #define E5_MICROSTEPS E0_MICROSTEPS
- #endif
- #ifndef E5_RSENSE
- #define E5_RSENSE E0_RSENSE
- #endif
- #ifndef E5_CHAIN_POS
- #define E5_CHAIN_POS -1
- #endif
- #endif
- #if AXIS_IS_TMC_CONFIG(E6)
- #ifndef E6_CURRENT
- #define E6_CURRENT E0_CURRENT
- #endif
- #ifndef E6_MICROSTEPS
- #define E6_MICROSTEPS E0_MICROSTEPS
- #endif
- #ifndef E6_RSENSE
- #define E6_RSENSE E0_RSENSE
- #endif
- #ifndef E6_CHAIN_POS
- #define E6_CHAIN_POS -1
- #endif
- #endif
- #if AXIS_IS_TMC_CONFIG(E7)
- #ifndef E7_CURRENT
- #define E7_CURRENT E0_CURRENT
- #endif
- #ifndef E7_MICROSTEPS
- #define E7_MICROSTEPS E0_MICROSTEPS
- #endif
- #ifndef E7_RSENSE
- #define E7_RSENSE E0_RSENSE
- #endif
- #ifndef E7_CHAIN_POS
- #define E7_CHAIN_POS -1
- #endif
- #endif
- #ifndef CHOPPER_TIMING
- #define CHOPPER_TIMING CHOPPER_DEFAULT_12V
- #endif
- #if ENABLED(MONITOR_DRIVER_STATUS)
- #ifndef CURRENT_STEP_DOWN
- #define CURRENT_STEP_DOWN 50
- #endif
- #endif
- #ifndef X_HYBRID_THRESHOLD
- #define X_HYBRID_THRESHOLD 100
- #endif
- #ifndef X2_HYBRID_THRESHOLD
- #define X2_HYBRID_THRESHOLD 100
- #endif
- #ifndef Y_HYBRID_THRESHOLD
- #define Y_HYBRID_THRESHOLD 100
- #endif
- #ifndef Y2_HYBRID_THRESHOLD
- #define Y2_HYBRID_THRESHOLD 100
- #endif
- #ifndef Z_HYBRID_THRESHOLD
- #define Z_HYBRID_THRESHOLD 3
- #endif
- #ifndef Z2_HYBRID_THRESHOLD
- #define Z2_HYBRID_THRESHOLD 3
- #endif
- #ifndef Z3_HYBRID_THRESHOLD
- #define Z3_HYBRID_THRESHOLD 3
- #endif
- #ifndef Z4_HYBRID_THRESHOLD
- #define Z4_HYBRID_THRESHOLD 3
- #endif
- #ifndef I_HYBRID_THRESHOLD
- #define I_HYBRID_THRESHOLD 3
- #endif
- #ifndef J_HYBRID_THRESHOLD
- #define J_HYBRID_THRESHOLD 3
- #endif
- #ifndef K_HYBRID_THRESHOLD
- #define K_HYBRID_THRESHOLD 3
- #endif
- #ifndef U_HYBRID_THRESHOLD
- #define U_HYBRID_THRESHOLD 3
- #endif
- #ifndef V_HYBRID_THRESHOLD
- #define V_HYBRID_THRESHOLD 3
- #endif
- #ifndef W_HYBRID_THRESHOLD
- #define W_HYBRID_THRESHOLD 3
- #endif
- #ifndef E0_HYBRID_THRESHOLD
- #define E0_HYBRID_THRESHOLD 30
- #endif
- #ifndef E1_HYBRID_THRESHOLD
- #define E1_HYBRID_THRESHOLD 30
- #endif
- #ifndef E2_HYBRID_THRESHOLD
- #define E2_HYBRID_THRESHOLD 30
- #endif
- #ifndef E3_HYBRID_THRESHOLD
- #define E3_HYBRID_THRESHOLD 30
- #endif
- #ifndef E4_HYBRID_THRESHOLD
- #define E4_HYBRID_THRESHOLD 30
- #endif
- #ifndef E5_HYBRID_THRESHOLD
- #define E5_HYBRID_THRESHOLD 30
- #endif
- #ifndef E6_HYBRID_THRESHOLD
- #define E6_HYBRID_THRESHOLD 30
- #endif
- #ifndef E7_HYBRID_THRESHOLD
- #define E7_HYBRID_THRESHOLD 30
- #endif
- #if ANY(SENSORLESS_HOMING, SENSORLESS_PROBING)
- #ifndef X_STALL_SENSITIVITY
- #define X_STALL_SENSITIVITY 8
- #endif
- #ifndef X2_STALL_SENSITIVITY
- #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY
- #endif
- #ifndef Y_STALL_SENSITIVITY
- #define Y_STALL_SENSITIVITY 8
- #endif
- #ifndef Y2_STALL_SENSITIVITY
- #define Y2_STALL_SENSITIVITY Y_STALL_SENSITIVITY
- #endif
- #endif
- #ifndef TMC_ADV()
- #define TMC_ADV() { }
- #endif
-#endif
-#if ENABLED(EXPERIMENTAL_I2CBUS)
- #ifndef I2C_SLAVE_ADDRESS
- #define I2C_SLAVE_ADDRESS 0
- #endif
-#endif
-#if ENABLED(PHOTO_GCODE)
- #ifdef PHOTO_PULSES_US
- #ifndef PHOTO_PULSE_DELAY_US
- #define PHOTO_PULSE_DELAY_US 13
- #endif
- #endif
-#endif
-#if ANY(SPINDLE_FEATURE, LASER_FEATURE)
- #ifndef SPINDLE_LASER_ACTIVE_STATE
- #define SPINDLE_LASER_ACTIVE_STATE LOW
- #endif
- #if ENABLED(SPINDLE_LASER_USE_PWM)
- #ifndef SPINDLE_LASER_PWM_INVERT
- #define SPINDLE_LASER_PWM_INVERT false
- #endif
- #ifndef SPINDLE_LASER_FREQUENCY
- #define SPINDLE_LASER_FREQUENCY 2500
- #endif
- #endif
- #if ENABLED(AIR_EVACUATION)
- #ifndef AIR_EVACUATION_ACTIVE
- #define AIR_EVACUATION_ACTIVE LOW
- #endif
- #endif
- #if ENABLED(AIR_ASSIST)
- #ifndef AIR_ASSIST_ACTIVE
- #define AIR_ASSIST_ACTIVE LOW
- #endif
- #endif
- #ifdef SPINDLE_SERVO
- #ifndef SPINDLE_SERVO_NR
- #define SPINDLE_SERVO_NR 0
- #endif
- #ifndef SPINDLE_SERVO_MIN
- #define SPINDLE_SERVO_MIN 10
- #endif
- #endif
- #ifndef CUTTER_POWER_UNIT
- #define CUTTER_POWER_UNIT PWM255
- #endif
- #if ENABLED(SPINDLE_FEATURE)
- #ifndef SPINDLE_INVERT_DIR
- #define SPINDLE_INVERT_DIR false
- #endif
- #ifndef SPINDLE_LASER_POWERUP_DELAY
- #define SPINDLE_LASER_POWERUP_DELAY 5000
- #endif
- #ifndef SPINDLE_LASER_POWERDOWN_DELAY
- #define SPINDLE_LASER_POWERDOWN_DELAY 5000
- #endif
- #if ENABLED(SPINDLE_LASER_USE_PWM)
- #ifndef SPEED_POWER_INTERCEPT
- #define SPEED_POWER_INTERCEPT 0
- #endif
- #ifndef SPEED_POWER_MIN
- #define SPEED_POWER_MIN 5000
- #endif
- #ifndef SPEED_POWER_MAX
- #define SPEED_POWER_MAX 30000
- #endif
- #ifndef SPEED_POWER_STARTUP
- #define SPEED_POWER_STARTUP 25000
- #endif
- #endif
- #else
- #if ENABLED(SPINDLE_LASER_USE_PWM)
- #ifndef SPEED_POWER_INTERCEPT
- #define SPEED_POWER_INTERCEPT 0
- #endif
- #ifndef SPEED_POWER_MIN
- #define SPEED_POWER_MIN 0
- #endif
- #ifndef SPEED_POWER_MAX
- #define SPEED_POWER_MAX 100
- #endif
- #ifndef SPEED_POWER_STARTUP
- #define SPEED_POWER_STARTUP 80
- #endif
- #endif
- #ifndef LASER_TEST_PULSE_MIN
- #define LASER_TEST_PULSE_MIN 1
- #endif
- #ifndef LASER_TEST_PULSE_MAX
- #define LASER_TEST_PULSE_MAX 999
- #endif
- #ifndef SPINDLE_LASER_POWERUP_DELAY
- #define SPINDLE_LASER_POWERUP_DELAY 50
- #endif
- #ifndef SPINDLE_LASER_POWERDOWN_DELAY
- #define SPINDLE_LASER_POWERDOWN_DELAY 50
- #endif
- #ifndef LASER_SAFETY_TIMEOUT_MS
- #define LASER_SAFETY_TIMEOUT_MS 1000
- #endif
- #if ENABLED(I2C_AMMETER)
- #ifndef I2C_AMMETER_IMAX
- #define I2C_AMMETER_IMAX 0.1
- #endif
- #ifndef I2C_AMMETER_SHUNT_RESISTOR
- #define I2C_AMMETER_SHUNT_RESISTOR 0.1
- #endif
- #endif
- #if ENABLED(LASER_COOLANT_FLOW_METER)
- #ifndef FLOWMETER_PIN
- #define FLOWMETER_PIN 20
- #endif
- #ifndef FLOWMETER_PPL
- #define FLOWMETER_PPL 5880
- #endif
- #ifndef FLOWMETER_INTERVAL
- #define FLOWMETER_INTERVAL 1000
- #endif
- #if ENABLED(FLOWMETER_SAFETY)
- #ifndef FLOWMETER_MIN_LITERS_PER_MINUTE
- #define FLOWMETER_MIN_LITERS_PER_MINUTE 1.5
- #endif
- #endif
- #endif
- #endif
-#endif
-#if ENABLED(COOLANT_CONTROL)
- #ifndef COOLANT_MIST_INVERT
- #define COOLANT_MIST_INVERT false
- #endif
- #ifndef COOLANT_FLOOD_INVERT
- #define COOLANT_FLOOD_INVERT false
- #endif
-#endif
-#if ENABLED(FILAMENT_WIDTH_SENSOR)
- #ifndef FILAMENT_SENSOR_EXTRUDER_NUM
- #define FILAMENT_SENSOR_EXTRUDER_NUM 0
- #endif
- #ifndef MEASUREMENT_DELAY_CM
- #define MEASUREMENT_DELAY_CM 14
- #endif
- #ifndef FILWIDTH_ERROR_MARGIN
- #define FILWIDTH_ERROR_MARGIN 1.0
- #endif
- #ifndef MAX_MEASUREMENT_DELAY
- #define MAX_MEASUREMENT_DELAY 20
- #endif
- #ifndef DEFAULT_MEASURED_FILAMENT_DIA
- #define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA
- #endif
-#endif
-#if ENABLED(POWER_MONITOR_CURRENT)
- #ifndef POWER_MONITOR_VOLTS_PER_AMP
- #define POWER_MONITOR_VOLTS_PER_AMP 0.05000
- #endif
- #ifndef POWER_MONITOR_CURRENT_OFFSET
- #define POWER_MONITOR_CURRENT_OFFSET 0
- #endif
- #ifndef POWER_MONITOR_FIXED_VOLTAGE
- #define POWER_MONITOR_FIXED_VOLTAGE 13.6
- #endif
-#endif
-#if ENABLED(POWER_MONITOR_VOLTAGE)
- #ifndef POWER_MONITOR_VOLTS_PER_VOLT
- #define POWER_MONITOR_VOLTS_PER_VOLT 0.077933
- #endif
- #ifndef POWER_MONITOR_VOLTAGE_OFFSET
- #define POWER_MONITOR_VOLTAGE_OFFSET 0
- #endif
-#endif
-#if DISABLED(NO_VOLUMETRICS)
- #if ENABLED(VOLUMETRIC_EXTRUDER_LIMIT)
- #ifndef DEFAULT_VOLUMETRIC_EXTRUDER_LIMIT
- #define DEFAULT_VOLUMETRIC_EXTRUDER_LIMIT 0.00
- #endif
- #ifndef VOLUMETRIC_EXTRUDER_LIMIT_MAX
- #define VOLUMETRIC_EXTRUDER_LIMIT_MAX 20
- #endif
- #endif
-#endif
-#if ENABLED(GCODE_MACROS)
- #ifndef GCODE_MACROS_SLOTS
- #define GCODE_MACROS_SLOTS 5
- #endif
- #ifndef GCODE_MACROS_SLOT_SIZE
- #define GCODE_MACROS_SLOT_SIZE 50
- #endif
-#endif
-#if ENABLED(CUSTOM_MENU_MAIN)
- #ifndef CUSTOM_MENU_MAIN_SCRIPT_DONE
- #define CUSTOM_MENU_MAIN_SCRIPT_DONE "M117 User Script Done"
- #endif
- #ifndef MAIN_MENU_ITEM_1_DESC
- #define MAIN_MENU_ITEM_1_DESC "Home & UBL Info"
- #endif
- #ifndef MAIN_MENU_ITEM_1_GCODE
- #define MAIN_MENU_ITEM_1_GCODE "G28\nG29 W"
- #endif
- #ifndef MAIN_MENU_ITEM_2_DESC
- #define MAIN_MENU_ITEM_2_DESC "Preheat for " PREHEAT_1_LABEL
- #endif
- #ifndef MAIN_MENU_ITEM_2_GCODE
- #define MAIN_MENU_ITEM_2_GCODE "M140 S" STRINGIFY(PREHEAT_1_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_1_TEMP_HOTEND)
- #endif
-#endif
-#if ENABLED(CUSTOM_MENU_CONFIG)
- #ifndef CUSTOM_MENU_CONFIG_SCRIPT_DONE
- #define CUSTOM_MENU_CONFIG_SCRIPT_DONE "M117 Wireless Script Done"
- #endif
- #ifndef CONFIG_MENU_ITEM_1_DESC
- #define CONFIG_MENU_ITEM_1_DESC "Wifi ON"
- #endif
- #ifndef CONFIG_MENU_ITEM_1_GCODE
- #define CONFIG_MENU_ITEM_1_GCODE "M118 [ESP110] WIFI-STA pwd=12345678"
- #endif
- #ifndef CONFIG_MENU_ITEM_2_DESC
- #define CONFIG_MENU_ITEM_2_DESC "Bluetooth ON"
- #endif
- #ifndef CONFIG_MENU_ITEM_2_GCODE
- #define CONFIG_MENU_ITEM_2_GCODE "M118 [ESP110] BT pwd=12345678"
- #endif
-#endif
-#if ENABLED(CUSTOM_USER_BUTTONS)
- #if PIN_EXISTS(BUTTON1)
- #ifndef BUTTON1_HIT_STATE
- #define BUTTON1_HIT_STATE LOW
- #endif
- #ifndef BUTTON1_WHEN_PRINTING
- #define BUTTON1_WHEN_PRINTING false
- #endif
- #ifndef BUTTON1_GCODE
- #define BUTTON1_GCODE "G28"
- #endif
- #ifndef BUTTON1_DESC
- #define BUTTON1_DESC "Homing"
- #endif
- #endif
- #if PIN_EXISTS(BUTTON2)
- #ifndef BUTTON2_HIT_STATE
- #define BUTTON2_HIT_STATE LOW
- #endif
- #ifndef BUTTON2_WHEN_PRINTING
- #define BUTTON2_WHEN_PRINTING false
- #endif
- #ifndef BUTTON2_GCODE
- #define BUTTON2_GCODE "M140 S" STRINGIFY(PREHEAT_1_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_1_TEMP_HOTEND)
- #endif
- #ifndef BUTTON2_DESC
- #define BUTTON2_DESC "Preheat for " PREHEAT_1_LABEL
- #endif
- #endif
- #if PIN_EXISTS(BUTTON3)
- #ifndef BUTTON3_HIT_STATE
- #define BUTTON3_HIT_STATE LOW
- #endif
- #ifndef BUTTON3_WHEN_PRINTING
- #define BUTTON3_WHEN_PRINTING false
- #endif
- #ifndef BUTTON3_GCODE
- #define BUTTON3_GCODE "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_2_TEMP_HOTEND)
- #endif
- #ifndef BUTTON3_DESC
- #define BUTTON3_DESC "Preheat for " PREHEAT_2_LABEL
- #endif
- #endif
-#endif
-#if ENABLED(I2C_POSITION_ENCODERS)
- #ifndef I2CPE_ENCODER_CNT
- #define I2CPE_ENCODER_CNT 1
- #endif
- #ifndef I2CPE_ENC_1_ADDR
- #define I2CPE_ENC_1_ADDR I2CPE_PRESET_ADDR_X
- #endif
- #ifndef I2CPE_ENC_1_AXIS
- #define I2CPE_ENC_1_AXIS X_AXIS
- #endif
- #ifndef I2CPE_ENC_1_TYPE
- #define I2CPE_ENC_1_TYPE I2CPE_ENC_TYPE_LINEAR
- #endif
- #ifndef I2CPE_ENC_1_TICKS_UNIT
- #define I2CPE_ENC_1_TICKS_UNIT 2048
- #endif
- #ifndef I2CPE_ENC_1_EC_METHOD
- #define I2CPE_ENC_1_EC_METHOD I2CPE_ECM_MICROSTEP
- #endif
- #ifndef I2CPE_ENC_1_EC_THRESH
- #define I2CPE_ENC_1_EC_THRESH 0.10
- #endif
- #ifndef I2CPE_ENC_2_ADDR
- #define I2CPE_ENC_2_ADDR I2CPE_PRESET_ADDR_Y
- #endif
- #ifndef I2CPE_ENC_2_AXIS
- #define I2CPE_ENC_2_AXIS Y_AXIS
- #endif
- #ifndef I2CPE_ENC_2_TYPE
- #define I2CPE_ENC_2_TYPE I2CPE_ENC_TYPE_LINEAR
- #endif
- #ifndef I2CPE_ENC_2_TICKS_UNIT
- #define I2CPE_ENC_2_TICKS_UNIT 2048
- #endif
- #ifndef I2CPE_ENC_2_EC_METHOD
- #define I2CPE_ENC_2_EC_METHOD I2CPE_ECM_MICROSTEP
- #endif
- #ifndef I2CPE_ENC_2_EC_THRESH
- #define I2CPE_ENC_2_EC_THRESH 0.10
- #endif
- #ifndef I2CPE_ENC_3_ADDR
- #define I2CPE_ENC_3_ADDR I2CPE_PRESET_ADDR_Z
- #endif
- #ifndef I2CPE_ENC_3_AXIS
- #define I2CPE_ENC_3_AXIS Z_AXIS
- #endif
- #ifndef I2CPE_ENC_4_ADDR
- #define I2CPE_ENC_4_ADDR I2CPE_PRESET_ADDR_E
- #endif
- #ifndef I2CPE_ENC_4_AXIS
- #define I2CPE_ENC_4_AXIS E_AXIS
- #endif
- #ifndef I2CPE_ENC_5_ADDR
- #define I2CPE_ENC_5_ADDR 34
- #endif
- #ifndef I2CPE_ENC_5_AXIS
- #define I2CPE_ENC_5_AXIS E_AXIS
- #endif
- #ifndef I2CPE_DEF_TYPE
- #define I2CPE_DEF_TYPE I2CPE_ENC_TYPE_LINEAR
- #endif
- #ifndef I2CPE_DEF_ENC_TICKS_UNIT
- #define I2CPE_DEF_ENC_TICKS_UNIT 2048
- #endif
- #ifndef I2CPE_DEF_TICKS_REV
- #define I2CPE_DEF_TICKS_REV (16 * 200)
- #endif
- #ifndef I2CPE_DEF_EC_METHOD
- #define I2CPE_DEF_EC_METHOD I2CPE_ECM_NONE
- #endif
- #ifndef I2CPE_DEF_EC_THRESH
- #define I2CPE_DEF_EC_THRESH 0.1
- #endif
- #ifndef I2CPE_TIME_TRUSTED
- #define I2CPE_TIME_TRUSTED 10000
- #endif
- #ifndef I2CPE_MIN_UPD_TIME_MS
- #define I2CPE_MIN_UPD_TIME_MS 4
- #endif
-#endif
-#if ENABLED(JOYSTICK)
- #ifndef JOY_X_PIN
- #define JOY_X_PIN 5
- #endif
- #ifndef JOY_Y_PIN
- #define JOY_Y_PIN 10
- #endif
- #ifndef JOY_Z_PIN
- #define JOY_Z_PIN 12
- #endif
- #ifndef JOY_EN_PIN
- #define JOY_EN_PIN 44
- #endif
- #ifndef JOY_X_LIMITS
- #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 }
- #endif
- #ifndef JOY_Y_LIMITS
- #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 }
- #endif
- #ifndef JOY_Z_LIMITS
- #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 }
- #endif
-#endif
-#if ENABLED(MECHANICAL_GANTRY_CALIBRATION)
- #ifndef GANTRY_CALIBRATION_CURRENT
- #define GANTRY_CALIBRATION_CURRENT 600
- #endif
- #ifndef GANTRY_CALIBRATION_EXTRA_HEIGHT
- #define GANTRY_CALIBRATION_EXTRA_HEIGHT 15
- #endif
- #ifndef GANTRY_CALIBRATION_FEEDRATE
- #define GANTRY_CALIBRATION_FEEDRATE 500
- #endif
- #ifndef GANTRY_CALIBRATION_COMMANDS_POST
- #define GANTRY_CALIBRATION_COMMANDS_POST "G28"
- #endif
-#endif
-#if ENABLED(FREEZE_FEATURE)
- #ifndef FREEZE_STATE
- #define FREEZE_STATE LOW
- #endif
-#endif
-#if ENABLED(MAX7219_DEBUG)
- #ifndef MAX7219_CLK_PIN
- #define MAX7219_CLK_PIN 64
- #endif
- #ifndef MAX7219_DIN_PIN
- #define MAX7219_DIN_PIN 57
- #endif
- #ifndef MAX7219_LOAD_PIN
- #define MAX7219_LOAD_PIN 44
- #endif
- #ifndef MAX7219_INIT_TEST
- #define MAX7219_INIT_TEST 2
- #endif
- #ifndef MAX7219_NUMBER_UNITS
- #define MAX7219_NUMBER_UNITS 1
- #endif
- #ifndef MAX7219_ROTATE
- #define MAX7219_ROTATE 0
- #endif
- #ifndef MAX7219_DEBUG_PLANNER_HEAD
- #define MAX7219_DEBUG_PLANNER_HEAD 2
- #endif
- #ifndef MAX7219_DEBUG_PLANNER_TAIL
- #define MAX7219_DEBUG_PLANNER_TAIL 4
- #endif
- #ifndef MAX7219_DEBUG_PLANNER_QUEUE
- #define MAX7219_DEBUG_PLANNER_QUEUE 0
- #endif
- #ifndef MAX7219_DEBUG_PROFILE
- #define MAX7219_DEBUG_PROFILE 6
- #endif
-#endif
-#if HAS_ETHERNET
- #ifndef MAC_ADDRESS
- #define MAC_ADDRESS { 0xDE, 0xAD, 0xBE, 0xEF, 0xF0, 0x0D }
- #endif
-#endif
-#if !(HAS_PRUSA_MMU1) && (HAS_PRUSA_MMU2 || HAS_PRUSA_MMU3)
-
- #ifndef MMU2_SERIAL_PORT
- #define MMU2_SERIAL_PORT 2
- #endif
- #ifndef MMU_BAUD
- #define MMU_BAUD 115200
- #endif
- #if HAS_PRUSA_MMU2
- #ifndef MMU2_FILAMENT_RUNOUT_SCRIPT
- #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
- #endif
- #endif
- #ifndef MMU2_FILAMENTCHANGE_EJECT_FEED
- #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
- #endif
- #ifndef MMU2_EXTRUDER_PTFE_LENGTH
- #define MMU2_EXTRUDER_PTFE_LENGTH 42.3
- #endif
- #ifndef MMU2_EXTRUDER_HEATBREAK_LENGTH
- #define MMU2_EXTRUDER_HEATBREAK_LENGTH 17.7
- #endif
- #ifndef MMU2_LOAD_TO_NOZZLE_SEQUENCE
- #define MMU2_LOAD_TO_NOZZLE_SEQUENCE { MMU2_EXTRUDER_PTFE_LENGTH, MMM_TO_MMS(810) }, { MMU2_EXTRUDER_HEATBREAK_LENGTH, MMM_TO_MMS(198) }
- #endif
- #ifndef MMU2_RAMMING_SEQUENCE
- #define MMU2_RAMMING_SEQUENCE { 0.2816, MMM_TO_MMS(1339.0) }, { 0.3051, MMM_TO_MMS(1451.0) }, { 0.3453, MMM_TO_MMS(1642.0) }, { 0.3990, MMM_TO_MMS(1897.0) }, { 0.4761, MMM_TO_MMS(2264.0) }, { 0.5767, MMM_TO_MMS(2742.0) }, { 0.5691, MMM_TO_MMS(3220.0) }, { 0.1081, MMM_TO_MMS(3220.0) }, { 0.7644, MMM_TO_MMS(3635.0) }, { 0.8248, MMM_TO_MMS(3921.0) }, { 0.8483, MMM_TO_MMS(4033.0) }, { -15.0, MMM_TO_MMS(6000.0) }, { -24.5, MMM_TO_MMS(1200.0) }, { -7.0, MMM_TO_MMS( 600.0) }, { -3.5, MMM_TO_MMS( 360.0) }, { 20.0, MMM_TO_MMS( 454.0) }, { -20.0, MMM_TO_MMS( 303.0) }, { -35.0, MMM_TO_MMS(2000.0) }
- #endif
- #if HAS_PRUSA_MMU2S
- #ifndef MMU2_C0_RETRY
- #define MMU2_C0_RETRY 5
- #endif
- #ifndef MMU2_CAN_LOAD_FEEDRATE
- #define MMU2_CAN_LOAD_FEEDRATE 800
- #endif
- #ifndef MMU2_CAN_LOAD_SEQUENCE
- #define MMU2_CAN_LOAD_SEQUENCE { 5.0, MMU2_CAN_LOAD_FEEDRATE }, { 15.0, MMU2_CAN_LOAD_FEEDRATE }, { -10.0, MMU2_CAN_LOAD_FEEDRATE }
- #endif
- #ifndef MMU2_CAN_LOAD_RETRACT
- #define MMU2_CAN_LOAD_RETRACT 6.0
- #endif
- #ifndef MMU2_CAN_LOAD_DEVIATION
- #define MMU2_CAN_LOAD_DEVIATION 0.8
- #endif
- #ifndef MMU2_CAN_LOAD_INCREMENT
- #define MMU2_CAN_LOAD_INCREMENT 0.2
- #endif
- #ifndef MMU2_CAN_LOAD_INCREMENT_SEQUENCE
- #define MMU2_CAN_LOAD_INCREMENT_SEQUENCE { -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
- #endif
- #elif HAS_PRUSA_MMU3
- #ifndef MMU2_MAX_RETRIES
- #define MMU2_MAX_RETRIES 3
- #endif
- #ifndef MMU2_LOAD_TO_NOZZLE_LENGTH
- #define MMU2_LOAD_TO_NOZZLE_LENGTH 87.0 + 5.0
- #endif
- #ifndef MMU2_FILAMENT_SENSOR_POSITION
- #define MMU2_FILAMENT_SENSOR_POSITION 0
- #endif
- #ifndef MMU2_LOAD_DISTANCE_PAST_GEARS
- #define MMU2_LOAD_DISTANCE_PAST_GEARS 5
- #endif
- #ifndef MMU2_TOOL_CHANGE_LOAD_LENGTH
- #define MMU2_TOOL_CHANGE_LOAD_LENGTH MMU2_FILAMENT_SENSOR_POSITION + MMU2_LOAD_DISTANCE_PAST_GEARS
- #endif
- #ifndef MMU2_LOAD_TO_NOZZLE_FEED_RATE
- #define MMU2_LOAD_TO_NOZZLE_FEED_RATE 20.0
- #endif
- #ifndef MMU2_UNLOAD_TO_FINDA_FEED_RATE
- #define MMU2_UNLOAD_TO_FINDA_FEED_RATE 120.0
- #endif
- #ifndef MMU2_VERIFY_LOAD_TO_NOZZLE_FEED_RATE
- #define MMU2_VERIFY_LOAD_TO_NOZZLE_FEED_RATE 50.0
- #endif
- #ifndef MMU2_VERIFY_LOAD_TO_NOZZLE_TWEAK
- #define MMU2_VERIFY_LOAD_TO_NOZZLE_TWEAK -5.0
- #endif
- #ifndef MMU2_RETRY_UNLOAD_TO_FINDA_LENGTH
- #define MMU2_RETRY_UNLOAD_TO_FINDA_LENGTH 80.0
- #endif
- #ifndef MMU2_RETRY_UNLOAD_TO_FINDA_FEED_RATE
- #define MMU2_RETRY_UNLOAD_TO_FINDA_FEED_RATE 80.0
- #endif
- #ifndef MMU2_CHECK_FILAMENT_PRESENCE_EXTRUSION_LENGTH
- #define MMU2_CHECK_FILAMENT_PRESENCE_EXTRUSION_LENGTH (MMU2_EXTRUDER_PTFE_LENGTH + MMU2_EXTRUDER_HEATBREAK_LENGTH + MMU2_VERIFY_LOAD_TO_NOZZLE_TWEAK + MMU2_FILAMENT_SENSOR_POSITION)
- #endif
- #else
- #if ENABLED(MMU_EXTRUDER_SENSOR)
- #ifndef MMU_LOADING_ATTEMPTS_NR
- #define MMU_LOADING_ATTEMPTS_NR 5
- #endif
- #endif
- #endif
-#endif
-#if ENABLED(PRINTCOUNTER)
- #ifndef SERVICE_WARNING_BUZZES
- #define SERVICE_WARNING_BUZZES 3
- #endif
-#endif
diff --git a/Marlin/src/inc/MarlinConfigPre.h b/Marlin/src/inc/MarlinConfigPre.h
index 4750a2e3f678..5ea7a49944a2 100644
--- a/Marlin/src/inc/MarlinConfigPre.h
+++ b/Marlin/src/inc/MarlinConfigPre.h
@@ -26,8 +26,9 @@
#endif
#if __has_include("../../Config.h")
- #define USE_BASE_CONFIGS 1
#include "../../Config.h"
+#else
+ #define USE_STD_CONFIGS 1
#endif
//
@@ -42,9 +43,7 @@
#include "../core/macros.h"
#include "../core/boards.h"
-#if USE_BASE_CONFIGS
- #include "BaseConfiguration.h"
-#else
+#if USE_STD_CONFIGS
#include "../../Configuration.h"
#endif
@@ -64,9 +63,7 @@
#include "../core/drivers.h"
-#if USE_BASE_CONFIGS
- #include "BaseConfiguration_adv.h"
-#else
+#if USE_STD_CONFIGS
#include "../../Configuration_adv.h"
#endif
diff --git a/Marlin/src/inc/Warnings.cpp b/Marlin/src/inc/Warnings.cpp
index 52dc1444f5f5..f10408dd9c44 100644
--- a/Marlin/src/inc/Warnings.cpp
+++ b/Marlin/src/inc/Warnings.cpp
@@ -60,7 +60,7 @@
#endif
#endif
-#if USE_BASE_CONFIGS
+#if !USE_STD_CONFIGS
#if __has_include("../../Configuration.h")
#define HAS_IGNORED_CONFIGS
#elif __has_include("../../Configuration_adv.h")
diff --git a/buildroot/share/scripts/makeBaseConfigs.py b/buildroot/share/scripts/makeBaseConfigs.py
deleted file mode 100755
index c1d4a990fe6b..000000000000
--- a/buildroot/share/scripts/makeBaseConfigs.py
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/usr/bin/env python3
-#
-# makeBaseConfigs.py
-#
-# Create "base" config files that can be overridden by a minimal config file.
-# The intention is to include base config files as part of the Marlin package
-# so users can use a minimal configuration with the familiar header format.
-# This provides an Arduino-compatible way to apply configurations without the
-# complications that come from a plain config.ini solution.
-#
-import re
-from pathlib import Path
-
-def make_base_configs():
- no_disabled = True
-
- # Create a regex to match options and capture line parts
- define_patt = re.compile(r'^(\s*)((//\s*)?#define\s+)([A-Z0-9_]+\b(\(\))?)(\s*)(.*?)(\s*)(//.*)?$', re.IGNORECASE)
- ifndef_patt = re.compile(r'^(\s*#ifndef\s*.*?)(\s*//.*)?$', re.IGNORECASE)
- ifstat_patt = re.compile(r'^(\s*#(((if|ifn?def|elif)\s*.*?)|else|endif))(\s*//.*)?$', re.IGNORECASE)
- coment_patt = re.compile(r'/\*.*?\*/', re.DOTALL)
- contin_patt = re.compile(r'\\\n\s*')
-
- # Wrap all config options in #ifndef
- for file in ('Configuration.h', 'Configuration_adv.h'):
- fullpath = Path('Marlin', file)
- fulltext = fullpath.read_text(encoding='utf-8')
- fulltext = coment_patt.sub('', fulltext)
- fulltext = contin_patt.sub(' ', fulltext)
-
- is_ifndef = False
-
- lines_out = []
- for line in fulltext.split('\n'):
-
- was_ifndef = is_ifndef # Previous line was #ifndef?
- is_ifndef = ifndef_patt.match(line) # This line is #ifndef?
-
- m = ifstat_patt.match(line)
- if m: lines_out += [m[1]] ; continue
-
- m = define_patt.match(line)
- if m:
- if no_disabled and line.strip().startswith('//'): continue
-
- name = m[4]
- if name in ('CONFIG_EXAMPLES_DIR', 'CONFIG_EXPORT'): continue
- if name.startswith('_'): continue
-
- if not was_ifndef: lines_out += [f'{m[1]}#ifndef {name}']
-
- entab = '' if was_ifndef else ' '
- indented = f'{entab}{m[1]}{m[2]}{m[4]} {m[7]}'.rstrip()
- lines_out += [indented]
-
- if not was_ifndef: lines_out += [f'{m[1]}#endif']
-
- # Final text needs some additional cleanup to remove empty blocks
- empty_patt = re.compile(r'(\s*#if.+)(\n\s*#el.+)*(\n\s*#endif.*)')
- ifelse_patt = re.compile(r'(\s*#(el)?if\s+)(.+)\n\s*#else')
- ifelif_patt = re.compile(r'(\s*#if\s+)(.+)\n\s*#elif\s*(.+)')
- noforc_patt = re.compile(r'\s*#ifndef\s+([A-Z0-9_]+)\n\s*#define \1\n\s*#endif')
-
- out_text = '\n'.join(lines_out)
- while True:
- old_text = out_text
- out_text = ifelse_patt.sub(r'\1!(\3)', out_text)
- out_text = ifelif_patt.sub(r'\1!(\2) && (\3)\n', out_text)
- out_text = noforc_patt.sub('', out_text)
- out_text = empty_patt.sub('', out_text)
- if out_text == old_text: break
-
- # Store the final result to Marlin/src/inc/BaseConfiguration.h BaseConfiguration_adv.h
- outname = f'Base{file}'
- outpath = Path('Marlin', 'src', 'inc', outname)
-
- with outpath.open('w') as outfile:
-
- from datetime import datetime
- header_tpl = Path('buildroot', 'share', 'extras', 'file_header.h').read_text(encoding='utf-8')
- header_tpl = re.sub(r'(\(c\))\s*\d+\s*(MarlinFirmware)', rf'\1 {datetime.now().year} \2', header_tpl)
- header_tpl = re.sub(r'\*/\n+/\*\*', '*/\n#pragma once\n\n/**', header_tpl)
- header_tpl = header_tpl.replace(r'$(filename)', f"{outname} - Generated using makeBaseConfigs.py")
-
- outfile.write(header_tpl + out_text + '\n')
-
-# Always run from the command line.
-# Later we can add a "minimal" flag to config to do this automatically.
-if __name__ == "__main__":
- import sys
- args = sys.argv[1:]
- if len(args) > 0:
- print(f"Usage: {sys.argv[0]}")
- elif not Path('Marlin', 'src').is_dir():
- print(f"Please run {sys.argv[0]} from the root of the Marlin workspace.")
- else:
- make_base_configs()