@ -79,9 +79,9 @@
* Warnings for old configurations
*/
# ifndef MOTHERBOARD
# error "MOTHERBOARD is required. Please update your configuration. "
# error "MOTHERBOARD is required. "
# elif !defined(X_BED_SIZE) || !defined(Y_BED_SIZE)
# error "X_BED_SIZE and Y_BED_SIZE are now required! Please update your configuration. "
# error "X_BED_SIZE and Y_BED_SIZE are now required! "
# elif WATCH_TEMP_PERIOD > 500
# error "WATCH_TEMP_PERIOD now uses seconds instead of milliseconds."
# elif DISABLED(THERMAL_PROTECTION_HOTENDS) && (defined(WATCH_TEMP_PERIOD) || defined(THERMAL_PROTECTION_PERIOD))
@ -93,41 +93,41 @@
# elif defined(X_HOME_RETRACT_MM)
# error "[XYZ]_HOME_RETRACT_MM settings have been renamed [XYZ]_HOME_BUMP_MM."
# elif defined(SDCARDDETECTINVERTED)
# error "SDCARDDETECTINVERTED is now SD_DETECT_STATE (HIGH). Please update your configuration. "
# error "SDCARDDETECTINVERTED is now SD_DETECT_STATE (HIGH). "
# elif defined(SD_DETECT_INVERTED)
# error "SD_DETECT_INVERTED is now SD_DETECT_STATE (HIGH). Please update your configuration. "
# error "SD_DETECT_INVERTED is now SD_DETECT_STATE (HIGH). "
# elif defined(BTENABLED)
# error "BTENABLED is now BLUETOOTH. Please update your configuration. "
# error "BTENABLED is now BLUETOOTH. "
# elif defined(CUSTOM_MENDEL_NAME)
# error "CUSTOM_MENDEL_NAME is now CUSTOM_MACHINE_NAME. Please update your configuration. "
# error "CUSTOM_MENDEL_NAME is now CUSTOM_MACHINE_NAME. "
# elif defined(HAS_AUTOMATIC_VERSIONING)
# error "HAS_AUTOMATIC_VERSIONING is now CUSTOM_VERSION_FILE. Please update your configuration. "
# error "HAS_AUTOMATIC_VERSIONING is now CUSTOM_VERSION_FILE. "
# elif defined(USE_AUTOMATIC_VERSIONING)
# error "USE_AUTOMATIC_VERSIONING is now CUSTOM_VERSION_FILE. Please update your configuration. "
# error "USE_AUTOMATIC_VERSIONING is now CUSTOM_VERSION_FILE. "
# elif defined(SDSLOW)
# error "SDSLOW deprecated. Set SPI_SPEED to SPI_HALF_SPEED instead."
# elif defined(SDEXTRASLOW)
# error "SDEXTRASLOW deprecated. Set SPI_SPEED to SPI_QUARTER_SPEED instead."
# elif defined(FILAMENT_SENSOR)
# error "FILAMENT_SENSOR is now FILAMENT_WIDTH_SENSOR. Please update your configuration. "
# error "FILAMENT_SENSOR is now FILAMENT_WIDTH_SENSOR. "
# elif defined(ENDSTOPPULLUP_FIL_RUNOUT)
# error "ENDSTOPPULLUP_FIL_RUNOUT is now FIL_RUNOUT_PULL. Please update your configuration. "
# error "ENDSTOPPULLUP_FIL_RUNOUT is now FIL_RUNOUT_PULL. "
# elif defined(DISABLE_MAX_ENDSTOPS) || defined(DISABLE_MIN_ENDSTOPS)
# error "DISABLE_MAX_ENDSTOPS and DISABLE_MIN_ENDSTOPS deprecated. Use individual USE_*_PLUG options instead."
# elif defined(LANGUAGE_INCLUDE)
# error "LANGUAGE_INCLUDE has been replaced by LCD_LANGUAGE. Please update your configuration. "
# error "LANGUAGE_INCLUDE has been replaced by LCD_LANGUAGE. "
# elif defined(EXTRUDER_OFFSET_X) || defined(EXTRUDER_OFFSET_Y)
# error "EXTRUDER_OFFSET_[XY] is deprecated. Use HOTEND_OFFSET_[XY] instead."
# elif defined(PID_PARAMS_PER_EXTRUDER)
# error "PID_PARAMS_PER_EXTRUDER is deprecated. Use PID_PARAMS_PER_HOTEND instead."
# elif defined(EXTRUDER_WATTS) || defined(BED_WATTS)
# error "EXTRUDER_WATTS and BED_WATTS are deprecated . Remove them from your configuration ."
# error "EXTRUDER_WATTS and BED_WATTS are deprecated and should be removed ."
# elif defined(SERVO_ENDSTOP_ANGLES)
# error "SERVO_ENDSTOP_ANGLES is deprecated. Use Z_SERVO_ANGLES instead."
# elif defined(X_ENDSTOP_SERVO_NR) || defined(Y_ENDSTOP_SERVO_NR)
# error "X_ENDSTOP_SERVO_NR and Y_ENDSTOP_SERVO_NR are deprecated and should be removed."
# elif defined(Z_ENDSTOP_SERVO_NR)
# error "Z_ENDSTOP_SERVO_NR is now Z_PROBE_SERVO_NR. Please update your configuration. "
# error "Z_ENDSTOP_SERVO_NR is now Z_PROBE_SERVO_NR. "
# elif defined(DEFAULT_XYJERK)
# error "DEFAULT_XYJERK is deprecated. Use DEFAULT_XJERK and DEFAULT_YJERK instead."
# elif defined(XY_TRAVEL_SPEED)
@ -135,57 +135,57 @@
# elif defined(PROBE_SERVO_DEACTIVATION_DELAY)
# error "PROBE_SERVO_DEACTIVATION_DELAY is deprecated. Use DEACTIVATE_SERVOS_AFTER_MOVE instead."
# elif defined(SERVO_DEACTIVATION_DELAY)
# error "SERVO_DEACTIVATION_DELAY is deprecated. Use SERVO_DELAY instead ."
# error "SERVO_DEACTIVATION_DELAY is now SERVO_DELAY ."
# elif ENABLED(FILAMENTCHANGEENABLE)
# error "FILAMENTCHANGEENABLE is now ADVANCED_PAUSE_FEATURE. Please update your configuration. "
# error "FILAMENTCHANGEENABLE is now ADVANCED_PAUSE_FEATURE. "
# elif ENABLED(FILAMENT_CHANGE_FEATURE)
# error "FILAMENT_CHANGE_FEATURE is now ADVANCED_PAUSE_FEATURE. Please update your configuration. "
# error "FILAMENT_CHANGE_FEATURE is now ADVANCED_PAUSE_FEATURE. "
# elif defined(FILAMENT_CHANGE_X_POS) || defined(FILAMENT_CHANGE_Y_POS)
# error "FILAMENT_CHANGE_[XY]_POS is now set with NOZZLE_PARK_POINT. Please update your configuration. "
# error "FILAMENT_CHANGE_[XY]_POS is now set with NOZZLE_PARK_POINT. "
# elif defined(FILAMENT_CHANGE_Z_ADD)
# error "FILAMENT_CHANGE_Z_ADD is now set with NOZZLE_PARK_POINT. Please update your configuration. "
# error "FILAMENT_CHANGE_Z_ADD is now set with NOZZLE_PARK_POINT. "
# elif defined(FILAMENT_CHANGE_XY_FEEDRATE)
# error "FILAMENT_CHANGE_XY_FEEDRATE is now NOZZLE_PARK_XY_FEEDRATE. Please update your configuration. "
# error "FILAMENT_CHANGE_XY_FEEDRATE is now NOZZLE_PARK_XY_FEEDRATE. "
# elif defined(FILAMENT_CHANGE_Z_FEEDRATE)
# error "FILAMENT_CHANGE_Z_FEEDRATE is now NOZZLE_PARK_Z_FEEDRATE. Please update your configuration. "
# error "FILAMENT_CHANGE_Z_FEEDRATE is now NOZZLE_PARK_Z_FEEDRATE. "
# elif defined(PAUSE_PARK_X_POS) || defined(PAUSE_PARK_Y_POS)
# error "PAUSE_PARK_[XY]_POS is now set with NOZZLE_PARK_POINT. Please update your configuration. "
# error "PAUSE_PARK_[XY]_POS is now set with NOZZLE_PARK_POINT. "
# elif defined(PAUSE_PARK_Z_ADD)
# error "PAUSE_PARK_Z_ADD is now set with NOZZLE_PARK_POINT. Please update your configuration. "
# error "PAUSE_PARK_Z_ADD is now set with NOZZLE_PARK_POINT. "
# elif defined(PAUSE_PARK_XY_FEEDRATE)
# error "PAUSE_PARK_XY_FEEDRATE is now NOZZLE_PARK_XY_FEEDRATE. Please update your configuration. "
# error "PAUSE_PARK_XY_FEEDRATE is now NOZZLE_PARK_XY_FEEDRATE. "
# elif defined(PAUSE_PARK_Z_FEEDRATE)
# error "PAUSE_PARK_Z_FEEDRATE is now NOZZLE_PARK_Z_FEEDRATE. Please update your configuration. "
# error "PAUSE_PARK_Z_FEEDRATE is now NOZZLE_PARK_Z_FEEDRATE. "
# elif defined(FILAMENT_CHANGE_RETRACT_FEEDRATE)
# error "FILAMENT_CHANGE_RETRACT_FEEDRATE is now PAUSE_PARK_RETRACT_FEEDRATE. Please update your configuration. "
# error "FILAMENT_CHANGE_RETRACT_FEEDRATE is now PAUSE_PARK_RETRACT_FEEDRATE. "
# elif defined(FILAMENT_CHANGE_RETRACT_LENGTH)
# error "FILAMENT_CHANGE_RETRACT_LENGTH is now PAUSE_PARK_RETRACT_LENGTH. Please update your configuration. "
# error "FILAMENT_CHANGE_RETRACT_LENGTH is now PAUSE_PARK_RETRACT_LENGTH. "
# elif defined(FILAMENT_CHANGE_EXTRUDE_FEEDRATE)
# error "FILAMENT_CHANGE_EXTRUDE_FEEDRATE is now ADVANCED_PAUSE_PURGE_FEEDRATE. Please update your configuration. "
# error "FILAMENT_CHANGE_EXTRUDE_FEEDRATE is now ADVANCED_PAUSE_PURGE_FEEDRATE. "
# elif defined(ADVANCED_PAUSE_EXTRUDE_FEEDRATE)
# error "ADVANCED_PAUSE_EXTRUDE_FEEDRATE is now ADVANCED_PAUSE_PURGE_FEEDRATE. Please update your configuration. "
# error "ADVANCED_PAUSE_EXTRUDE_FEEDRATE is now ADVANCED_PAUSE_PURGE_FEEDRATE. "
# elif defined(FILAMENT_CHANGE_EXTRUDE_LENGTH)
# error "FILAMENT_CHANGE_EXTRUDE_LENGTH is now ADVANCED_PAUSE_PURGE_LENGTH. Please update your configuration. "
# error "FILAMENT_CHANGE_EXTRUDE_LENGTH is now ADVANCED_PAUSE_PURGE_LENGTH. "
# elif defined(ADVANCED_PAUSE_EXTRUDE_LENGTH)
# error "ADVANCED_PAUSE_EXTRUDE_LENGTH is now ADVANCED_PAUSE_PURGE_LENGTH. Please update your configuration. "
# error "ADVANCED_PAUSE_EXTRUDE_LENGTH is now ADVANCED_PAUSE_PURGE_LENGTH. "
# elif defined(FILAMENT_CHANGE_NOZZLE_TIMEOUT)
# error "FILAMENT_CHANGE_NOZZLE_TIMEOUT is now PAUSE_PARK_NOZZLE_TIMEOUT. Please update your configuration. "
# error "FILAMENT_CHANGE_NOZZLE_TIMEOUT is now PAUSE_PARK_NOZZLE_TIMEOUT. "
# elif defined(FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS)
# error "FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS is now FILAMENT_CHANGE_ALERT_BEEPS. Please update your configuration. "
# error "FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS is now FILAMENT_CHANGE_ALERT_BEEPS. "
# elif defined(FILAMENT_CHANGE_NO_STEPPER_TIMEOUT)
# error "FILAMENT_CHANGE_NO_STEPPER_TIMEOUT is now PAUSE_PARK_NO_STEPPER_TIMEOUT. Please update your configuration. "
# error "FILAMENT_CHANGE_NO_STEPPER_TIMEOUT is now PAUSE_PARK_NO_STEPPER_TIMEOUT. "
# elif defined(PLA_PREHEAT_HOTEND_TEMP)
# error "PLA_PREHEAT_HOTEND_TEMP is now PREHEAT_1_TEMP_HOTEND. Please update your configuration. "
# error "PLA_PREHEAT_HOTEND_TEMP is now PREHEAT_1_TEMP_HOTEND. "
# elif defined(PLA_PREHEAT_HPB_TEMP)
# error "PLA_PREHEAT_HPB_TEMP is now PREHEAT_1_TEMP_BED. Please update your configuration. "
# error "PLA_PREHEAT_HPB_TEMP is now PREHEAT_1_TEMP_BED. "
# elif defined(PLA_PREHEAT_FAN_SPEED)
# error "PLA_PREHEAT_FAN_SPEED is now PREHEAT_1_FAN_SPEED. Please update your configuration. "
# error "PLA_PREHEAT_FAN_SPEED is now PREHEAT_1_FAN_SPEED. "
# elif defined(ABS_PREHEAT_HOTEND_TEMP)
# error "ABS_PREHEAT_HOTEND_TEMP is now PREHEAT_2_TEMP_HOTEND. Please update your configuration. "
# error "ABS_PREHEAT_HOTEND_TEMP is now PREHEAT_2_TEMP_HOTEND. "
# elif defined(ABS_PREHEAT_HPB_TEMP)
# error "ABS_PREHEAT_HPB_TEMP is now PREHEAT_2_TEMP_BED. Please update your configuration. "
# error "ABS_PREHEAT_HPB_TEMP is now PREHEAT_2_TEMP_BED. "
# elif defined(ABS_PREHEAT_FAN_SPEED)
# error "ABS_PREHEAT_FAN_SPEED is now PREHEAT_2_FAN_SPEED. Please update your configuration. "
# error "ABS_PREHEAT_FAN_SPEED is now PREHEAT_2_FAN_SPEED. "
# elif defined(ENDSTOPS_ONLY_FOR_HOMING)
# error "ENDSTOPS_ONLY_FOR_HOMING is deprecated. Use (disable) ENDSTOPS_ALWAYS_ON_DEFAULT instead."
# elif defined(HOMING_FEEDRATE)
@ -193,111 +193,111 @@
# elif defined(MANUAL_HOME_POSITIONS)
# error "MANUAL_HOME_POSITIONS is deprecated. Set MANUAL_[XYZ]_HOME_POS as-needed instead."
# elif defined(PID_ADD_EXTRUSION_RATE)
# error "PID_ADD_EXTRUSION_RATE is now PID_EXTRUSION_SCALING and is DISABLED by default. Are you sure you want to use this option? Please update your configuration. "
# error "PID_ADD_EXTRUSION_RATE is now PID_EXTRUSION_SCALING and is DISABLED by default. "
# elif defined(Z_RAISE_BEFORE_HOMING)
# error "Z_RAISE_BEFORE_HOMING is now Z_HOMING_HEIGHT. Please update your configuration. "
# error "Z_RAISE_BEFORE_HOMING is now Z_HOMING_HEIGHT. "
# elif defined(MIN_Z_HEIGHT_FOR_HOMING)
# error "MIN_Z_HEIGHT_FOR_HOMING is now Z_HOMING_HEIGHT. Please update your configuration. "
# error "MIN_Z_HEIGHT_FOR_HOMING is now Z_HOMING_HEIGHT. "
# elif defined(Z_RAISE_BEFORE_PROBING) || defined(Z_RAISE_AFTER_PROBING)
# error "Z_RAISE_(BEFORE|AFTER)_PROBING are deprecated. Use Z_CLEARANCE_DEPLOY_PROBE and Z_AFTER_PROBING instead."
# elif defined(Z_RAISE_PROBE_DEPLOY_STOW) || defined(Z_RAISE_BETWEEN_PROBINGS)
# error "Z_RAISE_PROBE_DEPLOY_STOW and Z_RAISE_BETWEEN_PROBINGS are now Z_CLEARANCE_DEPLOY_PROBE and Z_CLEARANCE_BETWEEN_PROBES. Please update your configuration. "
# error "Z_RAISE_PROBE_DEPLOY_STOW and Z_RAISE_BETWEEN_PROBINGS are now Z_CLEARANCE_DEPLOY_PROBE and Z_CLEARANCE_BETWEEN_PROBES. "
# elif defined(Z_PROBE_DEPLOY_HEIGHT) || defined(Z_PROBE_TRAVEL_HEIGHT)
# error "Z_PROBE_DEPLOY_HEIGHT and Z_PROBE_TRAVEL_HEIGHT are now Z_CLEARANCE_DEPLOY_PROBE and Z_CLEARANCE_BETWEEN_PROBES. Please update your configuration. "
# error "Z_PROBE_DEPLOY_HEIGHT and Z_PROBE_TRAVEL_HEIGHT are now Z_CLEARANCE_DEPLOY_PROBE and Z_CLEARANCE_BETWEEN_PROBES. "
# elif defined(MANUAL_BED_LEVELING)
# error "MANUAL_BED_LEVELING is now LCD_BED_LEVELING. Please update your configuration. "
# error "MANUAL_BED_LEVELING is now LCD_BED_LEVELING. "
# elif defined(MESH_HOME_SEARCH_Z)
# error "MESH_HOME_SEARCH_Z is now LCD_PROBE_Z_RANGE. Please update your configuration. "
# error "MESH_HOME_SEARCH_Z is now LCD_PROBE_Z_RANGE. "
# elif defined(MANUAL_PROBE_Z_RANGE)
# error "MANUAL_PROBE_Z_RANGE is now LCD_PROBE_Z_RANGE. Please update your configuration. "
# error "MANUAL_PROBE_Z_RANGE is now LCD_PROBE_Z_RANGE. "
# elif !defined(MIN_STEPS_PER_SEGMENT)
# error Please replace "const int dropsegments" with "#define MIN_STEPS_PER_SEGMENT" (and increase by 1) in Configuration_adv.h.
# error "Please replace 'const int dropsegments' with '#define MIN_STEPS_PER_SEGMENT' (and increase by 1)."
# elif MIN_STEPS_PER_SEGMENT <= 0
# error "MIN_STEPS_PER_SEGMENT must be at least 1. Please update your Configuration_adv.h. "
# error "MIN_STEPS_PER_SEGMENT must be at least 1. "
# elif defined(PREVENT_DANGEROUS_EXTRUDE)
# error "PREVENT_DANGEROUS_EXTRUDE is now PREVENT_COLD_EXTRUSION. Please update your configuration. "
# error "PREVENT_DANGEROUS_EXTRUDE is now PREVENT_COLD_EXTRUSION. "
# elif defined(SCARA)
# error "SCARA is now MORGAN_SCARA. Please update your configuration. "
# error "SCARA is now MORGAN_SCARA. "
# elif defined(ENABLE_AUTO_BED_LEVELING)
# error "ENABLE_AUTO_BED_LEVELING is deprecated. Specify AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR, or AUTO_BED_LEVELING_3POINT."
# elif defined(AUTO_BED_LEVELING_FEATURE)
# error "AUTO_BED_LEVELING_FEATURE is deprecated. Specify AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR, or AUTO_BED_LEVELING_3POINT."
# elif defined(ABL_GRID_POINTS)
# error "ABL_GRID_POINTS is now GRID_MAX_POINTS_X and GRID_MAX_POINTS_Y. Please update your configuration. "
# error "ABL_GRID_POINTS is now GRID_MAX_POINTS_X and GRID_MAX_POINTS_Y. "
# elif defined(ABL_GRID_POINTS_X) || defined(ABL_GRID_POINTS_Y)
# error "ABL_GRID_POINTS_[XY] is now GRID_MAX_POINTS_[XY]. Please update your configuration. "
# error "ABL_GRID_POINTS_[XY] is now GRID_MAX_POINTS_[XY]. "
# elif defined(ABL_GRID_MAX_POINTS_X) || defined(ABL_GRID_MAX_POINTS_Y)
# error "ABL_GRID_MAX_POINTS_[XY] is now GRID_MAX_POINTS_[XY]. Please update your configuration. "
# error "ABL_GRID_MAX_POINTS_[XY] is now GRID_MAX_POINTS_[XY]. "
# elif defined(MESH_NUM_X_POINTS) || defined(MESH_NUM_Y_POINTS)
# error "MESH_NUM_[XY]_POINTS is now GRID_MAX_POINTS_[XY]. Please update your configuration. "
# error "MESH_NUM_[XY]_POINTS is now GRID_MAX_POINTS_[XY]. "
# elif defined(UBL_MESH_NUM_X_POINTS) || defined(UBL_MESH_NUM_Y_POINTS)
# error "UBL_MESH_NUM_[XY]_POINTS is now GRID_MAX_POINTS_[XY]. Please update your configuration. "
# error "UBL_MESH_NUM_[XY]_POINTS is now GRID_MAX_POINTS_[XY]. "
# elif defined(UBL_G26_MESH_VALIDATION)
# error "UBL_G26_MESH_VALIDATION is now G26_MESH_VALIDATION. Please update your configuration. "
# error "UBL_G26_MESH_VALIDATION is now G26_MESH_VALIDATION. "
# elif defined(UBL_MESH_EDIT_ENABLED)
# error "UBL_MESH_EDIT_ENABLED is now G26_MESH_VALIDATION. Please update your configuration. "
# error "UBL_MESH_EDIT_ENABLED is now G26_MESH_VALIDATION. "
# elif defined(UBL_MESH_EDITING)
# error "UBL_MESH_EDITING is now G26_MESH_VALIDATION. Please update your configuration. "
# error "UBL_MESH_EDITING is now G26_MESH_VALIDATION. "
# elif defined(BLTOUCH_HEATERS_OFF)
# error "BLTOUCH_HEATERS_OFF is now PROBING_HEATERS_OFF. Please update your configuration. "
# error "BLTOUCH_HEATERS_OFF is now PROBING_HEATERS_OFF. "
# elif defined(BLTOUCH_V3)
# error "BLTOUCH_V3 is obsolete. Please update your configuration. "
# error "BLTOUCH_V3 is obsolete. "
# elif defined(BLTOUCH_FORCE_OPEN_DRAIN_MODE)
# error "BLTOUCH_FORCE_OPEN_DRAIN_MODE is obsolete. Please update your configuration. "
# error "BLTOUCH_FORCE_OPEN_DRAIN_MODE is obsolete. "
# elif defined(BEEPER)
# error "BEEPER is now BEEPER_PIN. Please update your pins definitions. "
# error "BEEPER is now BEEPER_PIN. "
# elif defined(SDCARDDETECT)
# error "SDCARDDETECT is now SD_DETECT_PIN. Please update your pins definitions. "
# error "SDCARDDETECT is now SD_DETECT_PIN. "
# elif defined(STAT_LED_RED) || defined(STAT_LED_BLUE)
# error "STAT_LED_RED / STAT_LED_BLUE are now STAT_LED_RED_PIN / STAT_LED_BLUE_PIN. Please update your pins definitions. "
# error "STAT_LED_RED / STAT_LED_BLUE are now STAT_LED_RED_PIN / STAT_LED_BLUE_PIN. "
# elif defined(LCD_PIN_BL)
# error "LCD_PIN_BL is now LCD_BACKLIGHT_PIN. Please update your pins definitions. "
# error "LCD_PIN_BL is now LCD_BACKLIGHT_PIN. "
# elif defined(LCD_PIN_RESET)
# error "LCD_PIN_RESET is now LCD_RESET_PIN. Please update your pins definitions. "
# error "LCD_PIN_RESET is now LCD_RESET_PIN. "
# elif defined(EXTRUDER_0_AUTO_FAN_PIN) || defined(EXTRUDER_1_AUTO_FAN_PIN) || defined(EXTRUDER_2_AUTO_FAN_PIN) || defined(EXTRUDER_3_AUTO_FAN_PIN)
# error "EXTRUDER_[0123]_AUTO_FAN_PIN is now E[0123]_AUTO_FAN_PIN. Please update your Configuration_adv.h. "
# error "EXTRUDER_[0123]_AUTO_FAN_PIN is now E[0123]_AUTO_FAN_PIN. "
# elif defined(PID_FAN_SCALING) && !HAS_FAN
# error "PID_FAN_SCALING needs at least one fan enabled."
# elif defined(min_software_endstops) || defined(max_software_endstops)
# error "(min|max)_software_endstops are now (MIN|MAX)_SOFTWARE_ENDSTOPS. Please update your configuration. "
# error "(min|max)_software_endstops are now (MIN|MAX)_SOFTWARE_ENDSTOPS. "
# elif ENABLED(Z_PROBE_SLED) && defined(SLED_PIN)
# error "Replace SLED_PIN with SOL1_PIN (applies to both Z_PROBE_SLED and SOLENOID_PROBE)."
# elif defined(CONTROLLERFAN_PIN)
# error "CONTROLLERFAN_PIN is now CONTROLLER_FAN_PIN, enabled with USE_CONTROLLER_FAN. Please update your Configuration_adv.h. "
# error "CONTROLLERFAN_PIN is now CONTROLLER_FAN_PIN, enabled with USE_CONTROLLER_FAN. "
# elif defined(CONTROLLERFAN_SPEED)
# error "CONTROLLERFAN_SPEED is now CONTROLLERFAN_SPEED_ACTIVE. Please update your Configuration_adv.h. "
# error "CONTROLLERFAN_SPEED is now CONTROLLERFAN_SPEED_ACTIVE. "
# elif defined(CONTROLLERFAN_SECS)
# error "CONTROLLERFAN_SECS is now CONTROLLERFAN_IDLE_TIME. Please update your Configuration_adv.h. "
# error "CONTROLLERFAN_SECS is now CONTROLLERFAN_IDLE_TIME. "
# elif defined(MIN_RETRACT)
# error "MIN_RETRACT is now MIN_AUTORETRACT and MAX_AUTORETRACT. Please update your Configuration_adv.h. "
# error "MIN_RETRACT is now MIN_AUTORETRACT and MAX_AUTORETRACT. "
# elif defined(ADVANCE)
# error "ADVANCE was removed in Marlin 1.1.6. Please use LIN_ADVANCE."
# error "ADVANCE is now LIN_ADVANCE."
# elif defined(LIN_ADVANCE_E_D_RATIO)
# error "LIN_ADVANCE (1.5) no longer uses LIN_ADVANCE_E_D_RATIO. Check your configuration. "
# error "LIN_ADVANCE (1.5) no longer uses LIN_ADVANCE_E_D_RATIO. "
# elif defined(NEOPIXEL_RGBW_LED)
# error "NEOPIXEL_RGBW_LED is now NEOPIXEL_LED. Please update your configuration. "
# error "NEOPIXEL_RGBW_LED is now NEOPIXEL_LED. "
# elif ENABLED(DELTA) && defined(DELTA_PROBEABLE_RADIUS)
# error "Remove DELTA_PROBEABLE_RADIUS and use PROBING_MARGIN to inset the probe area instead."
# elif ENABLED(DELTA) && defined(DELTA_CALIBRATION_RADIUS)
# error "Remove DELTA_CALIBRATION_RADIUS and use PROBING_MARGIN to inset the probe area instead."
# elif defined(UBL_MESH_INSET)
# error "UBL_MESH_INSET is now just MESH_INSET. Please update your configuration. "
# error "UBL_MESH_INSET is now just MESH_INSET. "
# elif defined(UBL_MESH_MIN_X) || defined(UBL_MESH_MIN_Y) || defined(UBL_MESH_MAX_X) || defined(UBL_MESH_MAX_Y)
# error "UBL_MESH_(MIN|MAX)_[XY] is now just MESH_(MIN|MAX)_[XY]. Please update your configuration. "
# error "UBL_MESH_(MIN|MAX)_[XY] is now just MESH_(MIN|MAX)_[XY]. "
# elif defined(ABL_PROBE_PT_1_X) || defined(ABL_PROBE_PT_1_Y) || defined(ABL_PROBE_PT_2_X) || defined(ABL_PROBE_PT_2_Y) || defined(ABL_PROBE_PT_3_X) || defined(ABL_PROBE_PT_3_Y)
# error "ABL_PROBE_PT_[123]_[XY] is no longer required. Please remove it from Configuration.h ."
# error "ABL_PROBE_PT_[123]_[XY] is no longer required. Please remove it ."
# elif defined(UBL_PROBE_PT_1_X) || defined(UBL_PROBE_PT_1_Y) || defined(UBL_PROBE_PT_2_X) || defined(UBL_PROBE_PT_2_Y) || defined(UBL_PROBE_PT_3_X) || defined(UBL_PROBE_PT_3_Y)
# error "UBL_PROBE_PT_[123]_[XY] is no longer required. Please remove it from Configuration.h ."
# error "UBL_PROBE_PT_[123]_[XY] is no longer required. Please remove it ."
# elif defined(MIN_PROBE_EDGE)
# error "MIN_PROBE_EDGE is now called PROBING_MARGIN. Please update your configuration. "
# error "MIN_PROBE_EDGE is now called PROBING_MARGIN. "
# elif defined(MIN_PROBE_EDGE_LEFT)
# error "MIN_PROBE_EDGE_LEFT is now called PROBING_MARGIN_LEFT. Please update your configuration. "
# error "MIN_PROBE_EDGE_LEFT is now called PROBING_MARGIN_LEFT. "
# elif defined(MIN_PROBE_EDGE_RIGHT)
# error "MIN_PROBE_EDGE_RIGHT is now called PROBING_MARGIN_RIGHT. Please update your configuration. "
# error "MIN_PROBE_EDGE_RIGHT is now called PROBING_MARGIN_RIGHT. "
# elif defined(MIN_PROBE_EDGE_FRONT)
# error "MIN_PROBE_EDGE_FRONT is now called PROBING_MARGIN_FRONT. Please update your configuration. "
# error "MIN_PROBE_EDGE_FRONT is now called PROBING_MARGIN_FRONT. "
# elif defined(MIN_PROBE_EDGE_BACK)
# error "MIN_PROBE_EDGE_BACK is now called PROBING_MARGIN_BACK. Please update your configuration. "
# error "MIN_PROBE_EDGE_BACK is now called PROBING_MARGIN_BACK. "
# elif defined(LEFT_PROBE_BED_POSITION)
# error "LEFT_PROBE_BED_POSITION is obsolete. Set a margin with PROBING_MARGIN or PROBING_MARGIN_LEFT instead."
# elif defined(RIGHT_PROBE_BED_POSITION)
@ -307,243 +307,229 @@
# elif defined(BACK_PROBE_BED_POSITION)
# error "BACK_PROBE_BED_POSITION is obsolete. Set a margin with PROBING_MARGIN or PROBING_MARGIN_BACK instead."
# elif defined(ENABLE_MESH_EDIT_GFX_OVERLAY)
# error "ENABLE_MESH_EDIT_GFX_OVERLAY is now MESH_EDIT_GFX_OVERLAY. Please update your configuration. "
# error "ENABLE_MESH_EDIT_GFX_OVERLAY is now MESH_EDIT_GFX_OVERLAY. "
# elif defined(BABYSTEP_ZPROBE_GFX_REVERSE)
# error "BABYSTEP_ZPROBE_GFX_REVERSE is now set by OVERLAY_GFX_REVERSE. Please update your configurations. "
# error "BABYSTEP_ZPROBE_GFX_REVERSE is now set by OVERLAY_GFX_REVERSE. "
# elif defined(UBL_GRANULAR_SEGMENTATION_FOR_CARTESIAN)
# error "UBL_GRANULAR_SEGMENTATION_FOR_CARTESIAN is now SEGMENT_LEVELED_MOVES. Please update your configuration. "
# error "UBL_GRANULAR_SEGMENTATION_FOR_CARTESIAN is now SEGMENT_LEVELED_MOVES. "
# elif HAS_PID_HEATING && (defined(K1) || !defined(PID_K1))
# error "K1 is now PID_K1. Please update your configuration. "
# error "K1 is now PID_K1. "
# elif defined(PROBE_DOUBLE_TOUCH)
# error "PROBE_DOUBLE_TOUCH is now MULTIPLE_PROBING. Please update your configuration. "
# error "PROBE_DOUBLE_TOUCH is now MULTIPLE_PROBING. "
# elif defined(ANET_KEYPAD_LCD)
# error "ANET_KEYPAD_LCD is now ZONESTAR_LCD. Please update your configuration. "
# error "ANET_KEYPAD_LCD is now ZONESTAR_LCD. "
# elif defined(LCD_I2C_SAINSMART_YWROBOT)
# error "LCD_I2C_SAINSMART_YWROBOT is now LCD_SAINSMART_I2C_(1602|2004). Please update your configuration. "
# error "LCD_I2C_SAINSMART_YWROBOT is now LCD_SAINSMART_I2C_(1602|2004). "
# elif defined(MEASURED_LOWER_LIMIT) || defined(MEASURED_UPPER_LIMIT)
# error "MEASURED_(UPPER|LOWER)_LIMIT is now FILWIDTH_ERROR_MARGIN. Please update your configuration. "
# error "MEASURED_(UPPER|LOWER)_LIMIT is now FILWIDTH_ERROR_MARGIN. "
# elif defined(HAVE_TMCDRIVER)
# error "HAVE_TMCDRIVER is now [AXIS]_DRIVER_TYPE TMC26X. Please update your Configuration.h. "
# error "HAVE_TMCDRIVER is now [AXIS]_DRIVER_TYPE TMC26X. "
# elif defined(STEALTHCHOP)
# error "STEALTHCHOP is now STEALTHCHOP_(XY|Z|E). Please update your Configuration_adv.h. "
# error "STEALTHCHOP is now STEALTHCHOP_(XY|Z|E). "
# elif defined(HAVE_TMC26X)
# error "HAVE_TMC26X is now [AXIS]_DRIVER_TYPE TMC26X. Please update your Configuration.h. "
# error "HAVE_TMC26X is now [AXIS]_DRIVER_TYPE TMC26X. "
# elif defined(HAVE_TMC2130)
# error "HAVE_TMC2130 is now [AXIS]_DRIVER_TYPE TMC2130. Please update your Configuration.h. "
# error "HAVE_TMC2130 is now [AXIS]_DRIVER_TYPE TMC2130. "
# elif defined(HAVE_TMC2208)
# error "HAVE_TMC2208 is now [AXIS]_DRIVER_TYPE TMC2208. Please update your Configuration.h. "
# error "HAVE_TMC2208 is now [AXIS]_DRIVER_TYPE TMC2208. "
# elif defined(HAVE_L6470DRIVER)
# error "HAVE_L6470DRIVER is now [AXIS]_DRIVER_TYPE L6470. Please update your Configuration.h. "
# error "HAVE_L6470DRIVER is now [AXIS]_DRIVER_TYPE L6470. "
# elif defined(X_IS_TMC) || defined(X2_IS_TMC) || defined(Y_IS_TMC) || defined(Y2_IS_TMC) || defined(Z_IS_TMC) || defined(Z2_IS_TMC) || defined(Z3_IS_TMC) \
| | defined ( E0_IS_TMC ) | | defined ( E1_IS_TMC ) | | defined ( E2_IS_TMC ) | | defined ( E3_IS_TMC ) | | defined ( E4_IS_TMC ) | | defined ( E5_IS_TMC ) | | defined ( E6_IS_TMC ) | | defined ( E7_IS_TMC )
# error "[AXIS]_IS_TMC is now [AXIS]_DRIVER_TYPE TMC26X. Please update your Configuration.h. "
# error "[AXIS]_IS_TMC is now [AXIS]_DRIVER_TYPE TMC26X. "
# elif defined(X_IS_TMC26X) || defined(X2_IS_TMC26X) || defined(Y_IS_TMC26X) || defined(Y2_IS_TMC26X) || defined(Z_IS_TMC26X) || defined(Z2_IS_TMC26X) || defined(Z3_IS_TMC26X) \
| | defined ( E0_IS_TMC26X ) | | defined ( E1_IS_TMC26X ) | | defined ( E2_IS_TMC26X ) | | defined ( E3_IS_TMC26X ) | | defined ( E4_IS_TMC26X ) | | defined ( E5_IS_TMC26X ) | | defined ( E6_IS_TMC26X ) | | defined ( E7_IS_TMC26X )
# error "[AXIS]_IS_TMC26X is now [AXIS]_DRIVER_TYPE TMC26X. Please update your Configuration.h. "
# error "[AXIS]_IS_TMC26X is now [AXIS]_DRIVER_TYPE TMC26X. "
# elif defined(X_IS_TMC2130) || defined(X2_IS_TMC2130) || defined(Y_IS_TMC2130) || defined(Y2_IS_TMC2130) || defined(Z_IS_TMC2130) || defined(Z2_IS_TMC2130) || defined(Z3_IS_TMC2130) \
| | defined ( E0_IS_TMC2130 ) | | defined ( E1_IS_TMC2130 ) | | defined ( E2_IS_TMC2130 ) | | defined ( E3_IS_TMC2130 ) | | defined ( E4_IS_TMC2130 ) | | defined ( E5_IS_TMC2130 ) | | defined ( E6_IS_TMC2130 ) | | defined ( E7_IS_TMC2130 )
# error "[AXIS]_IS_TMC2130 is now [AXIS]_DRIVER_TYPE TMC2130. Please update your Configuration.h. "
# error "[AXIS]_IS_TMC2130 is now [AXIS]_DRIVER_TYPE TMC2130. "
# elif defined(X_IS_TMC2208) || defined(X2_IS_TMC2208) || defined(Y_IS_TMC2208) || defined(Y2_IS_TMC2208) || defined(Z_IS_TMC2208) || defined(Z2_IS_TMC2208) || defined(Z3_IS_TMC2208) \
| | defined ( E0_IS_TMC2208 ) | | defined ( E1_IS_TMC2208 ) | | defined ( E2_IS_TMC2208 ) | | defined ( E3_IS_TMC2208 ) | | defined ( E4_IS_TMC2208 ) | | defined ( E5_IS_TMC2208 ) | | defined ( E6_IS_TMC2208 ) | | defined ( E7_IS_TMC2208 )
# error "[AXIS]_IS_TMC2208 is now [AXIS]_DRIVER_TYPE TMC2208. Please update your Configuration.h. "
# error "[AXIS]_IS_TMC2208 is now [AXIS]_DRIVER_TYPE TMC2208. "
# elif defined(X_IS_L6470) || defined(X2_IS_L6470) || defined(Y_IS_L6470) || defined(Y2_IS_L6470) || defined(Z_IS_L6470) || defined(Z2_IS_L6470) || defined(Z3_IS_L6470) \
| | defined ( E0_IS_L6470 ) | | defined ( E1_IS_L6470 ) | | defined ( E2_IS_L6470 ) | | defined ( E3_IS_L6470 ) | | defined ( E4_IS_L6470 ) | | defined ( E5_IS_L6470 ) | | defined ( E6_IS_L6470 ) | | defined ( E7_IS_L6470 )
# error "[AXIS]_IS_L6470 is now [AXIS]_DRIVER_TYPE L6470. Please update your Configuration.h. "
# error "[AXIS]_IS_L6470 is now [AXIS]_DRIVER_TYPE L6470. "
# elif defined(AUTOMATIC_CURRENT_CONTROL)
# error "AUTOMATIC_CURRENT_CONTROL is now MONITOR_DRIVER_STATUS. Please update your configuration. "
# error "AUTOMATIC_CURRENT_CONTROL is now MONITOR_DRIVER_STATUS. "
# elif defined(FILAMENT_CHANGE_LOAD_LENGTH)
# error "FILAMENT_CHANGE_LOAD_LENGTH is now FILAMENT_CHANGE_FAST_LOAD_LENGTH. Please update your configuration. "
# error "FILAMENT_CHANGE_LOAD_LENGTH is now FILAMENT_CHANGE_FAST_LOAD_LENGTH. "
# elif defined(LEVEL_CORNERS_INSET)
# error "LEVEL_CORNERS_INSET is now LEVEL_CORNERS_INSET_LFRB . Please update your Configuration.h ."
# error "LEVEL_CORNERS_INSET is now LEVEL_CORNERS_INSET_LFRB ."
# elif ENABLED(LEVEL_BED_CORNERS) && !defined(LEVEL_CORNERS_INSET_LFRB)
# error "LEVEL_BED_CORNERS requires LEVEL_CORNERS_INSET_LFRB values. Please update your Configuration.h. "
# error "LEVEL_BED_CORNERS requires LEVEL_CORNERS_INSET_LFRB values. "
# elif defined(BEZIER_JERK_CONTROL)
# error "BEZIER_JERK_CONTROL is now S_CURVE_ACCELERATION. Please update your configuration. "
# error "BEZIER_JERK_CONTROL is now S_CURVE_ACCELERATION. "
# elif HAS_JUNCTION_DEVIATION && defined(JUNCTION_DEVIATION_FACTOR)
# error "JUNCTION_DEVIATION_FACTOR is now JUNCTION_DEVIATION_MM. Please update your configuration. "
# error "JUNCTION_DEVIATION_FACTOR is now JUNCTION_DEVIATION_MM. "
# elif defined(JUNCTION_ACCELERATION_FACTOR)
# error "JUNCTION_ACCELERATION_FACTOR is obsolete. Delete it from Configuration_adv.h."
# elif defined(JUNCTION_ACCELERATION)
# error "JUNCTION_ACCELERATION is obsolete. Delete it from Configuration_adv.h."
# elif defined(MAX7219_DEBUG_STEPPER_HEAD)
# error "MAX7219_DEBUG_STEPPER_HEAD is now MAX7219_DEBUG_PLANNER_HEAD. Please update your configuration. "
# error "MAX7219_DEBUG_STEPPER_HEAD is now MAX7219_DEBUG_PLANNER_HEAD. "
# elif defined(MAX7219_DEBUG_STEPPER_TAIL)
# error "MAX7219_DEBUG_STEPPER_TAIL is now MAX7219_DEBUG_PLANNER_TAIL. Please update your configuration. "
# error "MAX7219_DEBUG_STEPPER_TAIL is now MAX7219_DEBUG_PLANNER_TAIL. "
# elif defined(MAX7219_DEBUG_STEPPER_QUEUE)
# error "MAX7219_DEBUG_STEPPER_QUEUE is now MAX7219_DEBUG_PLANNER_QUEUE. Please update your configuration. "
# error "MAX7219_DEBUG_STEPPER_QUEUE is now MAX7219_DEBUG_PLANNER_QUEUE. "
# elif defined(ENDSTOP_NOISE_FILTER)
# error "ENDSTOP_NOISE_FILTER is now ENDSTOP_NOISE_THRESHOLD [2-7]. Please update your configuration. "
# error "ENDSTOP_NOISE_FILTER is now ENDSTOP_NOISE_THRESHOLD [2-7]. "
# elif defined(RETRACT_ZLIFT)
# error "RETRACT_ZLIFT is now RETRACT_ZRAISE. Please update your Configuration_adv.h. "
# error "RETRACT_ZLIFT is now RETRACT_ZRAISE. "
# elif defined(TOOLCHANGE_PARK_ZLIFT) || defined(TOOLCHANGE_UNPARK_ZLIFT)
# error "TOOLCHANGE_PARK_ZLIFT and TOOLCHANGE_UNPARK_ZLIFT are now TOOLCHANGE_ZRAISE. Please update your configuration. "
# error "TOOLCHANGE_PARK_ZLIFT and TOOLCHANGE_UNPARK_ZLIFT are now TOOLCHANGE_ZRAISE. "
# elif defined(SINGLENOZZLE_TOOLCHANGE_ZRAISE)
# error "SINGLENOZZLE_TOOLCHANGE_ZRAISE is now TOOLCHANGE_ZRAISE. Please update your configuration. "
# error "SINGLENOZZLE_TOOLCHANGE_ZRAISE is now TOOLCHANGE_ZRAISE. "
# elif defined(SINGLENOZZLE_SWAP_LENGTH)
# error "SINGLENOZZLE_SWAP_LENGTH is now TOOLCHANGE_FIL_SWAP_LENGTH. Please update your configuration. "
# error "SINGLENOZZLE_SWAP_LENGTH is now TOOLCHANGE_FIL_SWAP_LENGTH. "
# elif defined(SINGLENOZZLE_SWAP_RETRACT_SPEED)
# error "SINGLENOZZLE_SWAP_RETRACT_SPEED is now TOOLCHANGE_FIL_SWAP_RETRACT_SPEED. Please update your configuration. "
# error "SINGLENOZZLE_SWAP_RETRACT_SPEED is now TOOLCHANGE_FIL_SWAP_RETRACT_SPEED. "
# elif defined(SINGLENOZZLE_SWAP_PRIME_SPEED)
# error "SINGLENOZZLE_SWAP_PRIME_SPEED is now TOOLCHANGE_FIL_SWAP_PRIME_SPEED. Please update your configuration. "
# error "SINGLENOZZLE_SWAP_PRIME_SPEED is now TOOLCHANGE_FIL_SWAP_PRIME_SPEED. "
# elif defined(SINGLENOZZLE_SWAP_PARK)
# error "SINGLENOZZLE_SWAP_PARK is now TOOLCHANGE_PARK. Please update your configuration. "
# error "SINGLENOZZLE_SWAP_PARK is now TOOLCHANGE_PARK. "
# elif defined(SINGLENOZZLE_TOOLCHANGE_XY)
# error "SINGLENOZZLE_TOOLCHANGE_XY is now TOOLCHANGE_PARK_XY. Please update your configuration. "
# error "SINGLENOZZLE_TOOLCHANGE_XY is now TOOLCHANGE_PARK_XY. "
# elif defined(SINGLENOZZLE_PARK_XY_FEEDRATE)
# error "SINGLENOZZLE_PARK_XY_FEEDRATE is now TOOLCHANGE_PARK_XY_FEEDRATE. Please update your configuration. "
# error "SINGLENOZZLE_PARK_XY_FEEDRATE is now TOOLCHANGE_PARK_XY_FEEDRATE. "
# elif defined(PARKING_EXTRUDER_SECURITY_RAISE)
# error "PARKING_EXTRUDER_SECURITY_RAISE is now TOOLCHANGE_ZRAISE. Please update your configuration. "
# error "PARKING_EXTRUDER_SECURITY_RAISE is now TOOLCHANGE_ZRAISE. "
# elif defined(SWITCHING_TOOLHEAD_SECURITY_RAISE)
# error "SWITCHING_TOOLHEAD_SECURITY_RAISE is now TOOLCHANGE_ZRAISE. Please update your configuration. "
# error "SWITCHING_TOOLHEAD_SECURITY_RAISE is now TOOLCHANGE_ZRAISE. "
# elif defined(G0_FEEDRATE) && G0_FEEDRATE == 0
# error "G0_FEEDRATE is now used to set the G0 feedrate. Please update your configuration. "
# error "G0_FEEDRATE is now used to set the G0 feedrate. "
# elif defined(MBL_Z_STEP)
# error "MBL_Z_STEP is now MESH_EDIT_Z_STEP. Please update your configuration. "
# error "MBL_Z_STEP is now MESH_EDIT_Z_STEP. "
# elif defined(CHDK)
# error "CHDK is now CHDK_PIN. Please update your Configuration_adv.h."
# elif defined(MAX6675_SS)
# error "MAX6675_SS is now MAX6675_SS_PIN. Please update your configuration and / or pins."
# elif defined(MAX6675_SS2)
# error "MAX6675_SS2 is now MAX6675_SS2_PIN. Please update your configuration and / or pins."
# error "CHDK is now CHDK_PIN."
# elif defined(MAX6675_SS) || defined(MAX6675_SS2)
# error "MAX6675_SS / MAX6675_SS2 is now MAX6675_SS_PIN / MAX6675_SS2_PIN."
# elif defined(MAX31865_SENSOR_OHMS)
# error "MAX31865_SENSOR_OHMS is now MAX31865_SENSOR_OHMS_0. Please update your configuration. "
# error "MAX31865_SENSOR_OHMS is now MAX31865_SENSOR_OHMS_0."
# elif defined(MAX31865_CALIBRATION_OHMS)
# error "MAX31865_CALIBRATION_OHMS is now MAX31865_CALIBRATION_OHMS_0. Please update your configuration. "
# error "MAX31865_CALIBRATION_OHMS is now MAX31865_CALIBRATION_OHMS_0. "
# elif defined(SPINDLE_LASER_ENABLE)
# error "SPINDLE_LASER_ENABLE is now SPINDLE_FEATURE or LASER_FEATURE. Please update your Configuration_adv.h. "
# error "SPINDLE_LASER_ENABLE is now SPINDLE_FEATURE or LASER_FEATURE. "
# elif defined(SPINDLE_LASER_ENABLE_PIN)
# error "SPINDLE_LASER_ENABLE_PIN is now SPINDLE_LASER_ENA_PIN. Please update your Configuration_adv.h and/ or pins. "
# error "SPINDLE_LASER_ENABLE_PIN is now SPINDLE_LASER_ENA_PIN. "
# elif defined(SPINDLE_DIR_CHANGE)
# error "SPINDLE_DIR_CHANGE is now SPINDLE_CHANGE_DIR. Please update your Configuration_adv.h. "
# error "SPINDLE_DIR_CHANGE is now SPINDLE_CHANGE_DIR. "
# elif defined(SPINDLE_STOP_ON_DIR_CHANGE)
# error "SPINDLE_STOP_ON_DIR_CHANGE is now SPINDLE_CHANGE_DIR_STOP. Please update your Configuration_adv.h. "
# error "SPINDLE_STOP_ON_DIR_CHANGE is now SPINDLE_CHANGE_DIR_STOP. "
# elif defined(SPINDLE_LASER_ACTIVE_HIGH)
# error "SPINDLE_LASER_ACTIVE_HIGH is now SPINDLE_LASER_ACTIVE_STATE. Please update your Configuration_adv.h. "
# error "SPINDLE_LASER_ACTIVE_HIGH is now SPINDLE_LASER_ACTIVE_STATE. "
# elif defined(SPINDLE_LASER_ENABLE_INVERT)
# error "SPINDLE_LASER_ENABLE_INVERT is now SPINDLE_LASER_ACTIVE_STATE. Please update your Configuration_adv.h. "
# error "SPINDLE_LASER_ENABLE_INVERT is now SPINDLE_LASER_ACTIVE_STATE. "
# elif defined(CUTTER_POWER_DISPLAY)
# error "CUTTER_POWER_DISPLAY is now CUTTER_POWER_UNIT. Please update your Configuration_adv.h. "
# error "CUTTER_POWER_DISPLAY is now CUTTER_POWER_UNIT. "
# elif defined(CHAMBER_HEATER_PIN)
# error "CHAMBER_HEATER_PIN is now HEATER_CHAMBER_PIN. Please update your configuration and/ or pins. "
# error "CHAMBER_HEATER_PIN is now HEATER_CHAMBER_PIN. "
# elif defined(TMC_Z_CALIBRATION)
# error "TMC_Z_CALIBRATION has been deprecated in favor of MECHANICAL_GANTRY_CALIBRATION. Please update your configuration. "
# error "TMC_Z_CALIBRATION has been deprecated in favor of MECHANICAL_GANTRY_CALIBRATION. "
# elif defined(Z_MIN_PROBE_ENDSTOP)
# error "Z_MIN_PROBE_ENDSTOP is no longer required. Please remove it from Configuration.h ."
# error "Z_MIN_PROBE_ENDSTOP is no longer required. Please remove it ."
# elif defined(DUAL_NOZZLE_DUPLICATION_MODE)
# error "DUAL_NOZZLE_DUPLICATION_MODE is now MULTI_NOZZLE_DUPLICATION. Please update your configuration. "
# error "DUAL_NOZZLE_DUPLICATION_MODE is now MULTI_NOZZLE_DUPLICATION. "
# elif defined(MENU_ITEM_CASE_LIGHT)
# error "MENU_ITEM_CASE_LIGHT is now CASE_LIGHT_MENU. Please update your configuration. "
# error "MENU_ITEM_CASE_LIGHT is now CASE_LIGHT_MENU. "
# elif defined(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED)
# error "ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED is now SD_ABORT_ON_ENDSTOP_HIT. Please update your Configuration_adv.h. "
# error "ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED is now SD_ABORT_ON_ENDSTOP_HIT. "
# elif defined(LPC_SD_LCD) || defined(LPC_SD_ONBOARD) || defined(LPC_SD_CUSTOM_CABLE)
# error "LPC_SD_(LCD|ONBOARD|CUSTOM_CABLE) are now SDCARD_CONNECTION. Please update your Configuration_adv.h. "
# error "LPC_SD_(LCD|ONBOARD|CUSTOM_CABLE) are now SDCARD_CONNECTION. "
# elif defined(USB_SD_DISABLED)
# error "USB_SD_DISABLED is now NO_SD_HOST_DRIVE. Please update your Configuration_adv.h. "
# error "USB_SD_DISABLED is now NO_SD_HOST_DRIVE. "
# elif defined(USB_SD_ONBOARD)
# error "USB_SD_ONBOARD is obsolete. Disable NO_SD_HOST_DRIVE instead."
# elif defined(PSU_ACTIVE_HIGH)
# error "PSU_ACTIVE_HIGH is now PSU_ACTIVE_STATE. Please update your configuration. "
# error "PSU_ACTIVE_HIGH is now PSU_ACTIVE_STATE. "
# elif POWER_SUPPLY == 1
# error "Replace POWER_SUPPLY 1 by enabling PSU_CONTROL and setting PSU_ACTIVE_STATE to 'LOW'."
# elif POWER_SUPPLY == 2
# error "Replace POWER_SUPPLY 2 by enabling PSU_CONTROL and setting PSU_ACTIVE_STATE to 'HIGH'."
# elif defined(POWER_SUPPLY)
# error "POWER_SUPPLY is now obsolete. Please remove it from Configuration.h ."
# error "POWER_SUPPLY is now obsolete. Please remove it ."
# elif defined(MKS_ROBIN_TFT)
# error "MKS_ROBIN_TFT is now FSMC_GRAPHICAL_TFT. Please update your configuration. "
# error "MKS_ROBIN_TFT is now FSMC_GRAPHICAL_TFT. "
# elif defined(SDPOWER)
# error "SDPOWER is now SDPOWER_PIN. Please update your configuration and/ or pins. "
# error "SDPOWER is now SDPOWER_PIN. "
# elif defined(STRING_SPLASH_LINE1) || defined(STRING_SPLASH_LINE2)
# error "STRING_SPLASH_LINE[12] are now obsolete. Please remove them from Configuration.h ."
# error "STRING_SPLASH_LINE[12] are now obsolete. Please remove them ."
# elif defined(Z_PROBE_ALLEN_KEY_DEPLOY_1_X) || defined(Z_PROBE_ALLEN_KEY_STOW_1_X)
# error "Z_PROBE_ALLEN_KEY_(DEPLOY|STOW) coordinates are now a single setting. Please update your configuration. "
# error "Z_PROBE_ALLEN_KEY_(DEPLOY|STOW) coordinates are now a single setting. "
# elif defined(X_PROBE_OFFSET_FROM_EXTRUDER) || defined(Y_PROBE_OFFSET_FROM_EXTRUDER) || defined(Z_PROBE_OFFSET_FROM_EXTRUDER)
# error "[XYZ]_PROBE_OFFSET_FROM_EXTRUDER is now NOZZLE_TO_PROBE_OFFSET. Please update your configuration. "
# error "[XYZ]_PROBE_OFFSET_FROM_EXTRUDER is now NOZZLE_TO_PROBE_OFFSET. "
# elif defined(MIN_PROBE_X) || defined(MIN_PROBE_Y) || defined(MAX_PROBE_X) || defined(MAX_PROBE_Y)
# error "(MIN|MAX)_PROBE_[XY] are now calculated at runtime. Please remove them from Configuration.h ."
# error "(MIN|MAX)_PROBE_[XY] are now calculated at runtime. Please remove them ."
# elif defined(Z_STEPPER_ALIGN_X) || defined(Z_STEPPER_ALIGN_X)
# error "Z_STEPPER_ALIGN_X and Z_STEPPER_ALIGN_Y are now combined as Z_STEPPER_ALIGN_XY. Please update your Configuration_adv.h. "
# error "Z_STEPPER_ALIGN_X and Z_STEPPER_ALIGN_Y are now combined as Z_STEPPER_ALIGN_XY. "
# elif defined(JUNCTION_DEVIATION)
# error "JUNCTION_DEVIATION is no longer required. (See CLASSIC_JERK). Please remove it from Configuration.h ."
# error "JUNCTION_DEVIATION is no longer required. (See CLASSIC_JERK). Please remove it ."
# elif defined(BABYSTEP_MULTIPLICATOR)
# error "BABYSTEP_MULTIPLICATOR is now BABYSTEP_MULTIPLICATOR_[XY|Z]. Please update Configuration_adv.h. "
# error "BABYSTEP_MULTIPLICATOR is now BABYSTEP_MULTIPLICATOR_[XY|Z]. "
# elif defined(LULZBOT_TOUCH_UI)
# error "LULZBOT_TOUCH_UI is now TOUCH_UI_FTDI_EVE. Please update your configuration. "
# error "LULZBOT_TOUCH_UI is now TOUCH_UI_FTDI_EVE. "
# elif defined(PS_DEFAULT_OFF)
# error "PS_DEFAULT_OFF is now PSU_DEFAULT_OFF. Please update your configuration. "
# error "PS_DEFAULT_OFF is now PSU_DEFAULT_OFF. "
# elif defined(FILAMENT_UNLOAD_RETRACT_LENGTH)
# error "FILAMENT_UNLOAD_RETRACT_LENGTH is now FILAMENT_UNLOAD_PURGE_RETRACT. Please update Configuration_adv.h. "
# error "FILAMENT_UNLOAD_RETRACT_LENGTH is now FILAMENT_UNLOAD_PURGE_RETRACT. "
# elif defined(FILAMENT_UNLOAD_DELAY)
# error "FILAMENT_UNLOAD_DELAY is now FILAMENT_UNLOAD_PURGE_DELAY. Please update Configuration_adv.h. "
# error "FILAMENT_UNLOAD_DELAY is now FILAMENT_UNLOAD_PURGE_DELAY. "
# elif defined(HOME_USING_SPREADCYCLE)
# error "HOME_USING_SPREADCYCLE is now obsolete. Please remove it from Configuration_adv.h ."
# error "HOME_USING_SPREADCYCLE is now obsolete. Please remove it ."
# elif defined(DGUS_LCD)
# error "DGUS_LCD is now DGUS_LCD_UI_(ORIGIN|FYSETC|HIPRECY). Please update your configuration. "
# error "DGUS_LCD is now DGUS_LCD_UI_(ORIGIN|FYSETC|HIPRECY). "
# elif defined(DGUS_SERIAL_PORT)
# error "DGUS_SERIAL_PORT is now LCD_SERIAL_PORT. Please update your configuration. "
# error "DGUS_SERIAL_PORT is now LCD_SERIAL_PORT. "
# elif defined(DGUS_BAUDRATE)
# error "DGUS_BAUDRATE is now LCD_BAUDRATE. Please update your configuration. "
# error "DGUS_BAUDRATE is now LCD_BAUDRATE. "
# elif defined(DGUS_STATS_RX_BUFFER_OVERRUNS)
# error "DGUS_STATS_RX_BUFFER_OVERRUNS is now STATS_RX_BUFFER_OVERRUNS. Please update your configuration."
# elif defined(DGUS_SERIAL_PORT)
# error "DGUS_SERIAL_PORT is now LCD_SERIAL_PORT. Please update your configuration."
# error "DGUS_STATS_RX_BUFFER_OVERRUNS is now STATS_RX_BUFFER_OVERRUNS."
# elif defined(ANYCUBIC_LCD_SERIAL_PORT)
# error "ANYCUBIC_LCD_SERIAL_PORT is now LCD_SERIAL_PORT. Please update your configuration. "
# error "ANYCUBIC_LCD_SERIAL_PORT is now LCD_SERIAL_PORT."
# elif defined(INTERNAL_SERIAL_PORT)
# error "INTERNAL_SERIAL_PORT is now MMU2_SERIAL_PORT. Please update your configuration."
# elif defined(X_DUAL_ENDSTOPS_ADJUSTMENT)
# error "X_DUAL_ENDSTOPS_ADJUSTMENT is now X2_ENDSTOP_ADJUSTMENT. Please update Configuration_adv.h."
# elif defined(Y_DUAL_ENDSTOPS_ADJUSTMENT)
# error "Y_DUAL_ENDSTOPS_ADJUSTMENT is now Y2_ENDSTOP_ADJUSTMENT. Please update Configuration_adv.h."
# elif defined(Z_DUAL_ENDSTOPS_ADJUSTMENT)
# error "Z_DUAL_ENDSTOPS_ADJUSTMENT is now Z2_ENDSTOP_ADJUSTMENT. Please update Configuration_adv.h."
# error "INTERNAL_SERIAL_PORT is now MMU2_SERIAL_PORT."
# elif defined(X_DUAL_ENDSTOPS_ADJUSTMENT) || defined(Y_DUAL_ENDSTOPS_ADJUSTMENT) || defined(Z_DUAL_ENDSTOPS_ADJUSTMENT)
# error "[XYZ]_DUAL_ENDSTOPS_ADJUSTMENT is now [XYZ]2_ENDSTOP_ADJUSTMENT."
# elif defined(Z_TRIPLE_ENDSTOPS_ADJUSTMENT2) || defined(Z_TRIPLE_ENDSTOPS_ADJUSTMENT3)
# error "Z_TRIPLE_ENDSTOPS_ADJUSTMENT[23] is now Z[23]_ENDSTOP_ADJUSTMENT. Please update Configuration_adv.h. "
# error "Z_TRIPLE_ENDSTOPS_ADJUSTMENT[23] is now Z[23]_ENDSTOP_ADJUSTMENT."
# elif defined(Z_QUAD_ENDSTOPS_ADJUSTMENT2) || defined(Z_QUAD_ENDSTOPS_ADJUSTMENT3) || defined(Z_QUAD_ENDSTOPS_ADJUSTMENT4)
# error "Z_QUAD_ENDSTOPS_ADJUSTMENT[234] is now Z[234]_ENDSTOP_ADJUSTMENT. Please update Configuration_adv.h. "
# error "Z_QUAD_ENDSTOPS_ADJUSTMENT[234] is now Z[234]_ENDSTOP_ADJUSTMENT."
# elif defined(Z_DUAL_STEPPER_DRIVERS)
# error "Z_DUAL_STEPPER_DRIVERS is now NUM_Z_STEPPER_DRIVERS with a value of 2. Please update Configuration_adv.h. "
# error "Z_DUAL_STEPPER_DRIVERS is now NUM_Z_STEPPER_DRIVERS with a value of 2. "
# elif defined(Z_TRIPLE_STEPPER_DRIVERS)
# error "Z_TRIPLE_STEPPER_DRIVERS is now NUM_Z_STEPPER_DRIVERS with a value of 3. Please update Configuration_adv.h. "
# error "Z_TRIPLE_STEPPER_DRIVERS is now NUM_Z_STEPPER_DRIVERS with a value of 3. "
# elif defined(Z_QUAD_STEPPER_DRIVERS)
# error "Z_QUAD_STEPPER_DRIVERS is now NUM_Z_STEPPER_DRIVERS with a value of 4. Please update Configuration_adv.h."
# elif defined(Z_DUAL_ENDSTOPS)
# error "Z_DUAL_ENDSTOPS is now Z_MULTI_ENDSTOPS. Please update Configuration_adv.h."
# elif defined(Z_TRIPLE_ENDSTOPS)
# error "Z_TRIPLE_ENDSTOPS is now Z_MULTI_ENDSTOPS. Please update Configuration_adv.h."
# elif defined(Z_QUAD_ENDSTOPS)
# error "Z_QUAD_ENDSTOPS is now Z_MULTI_ENDSTOPS. Please update Configuration_adv.h."
# error "Z_QUAD_STEPPER_DRIVERS is now NUM_Z_STEPPER_DRIVERS with a value of 4."
# elif defined(Z_DUAL_ENDSTOPS) || defined(Z_TRIPLE_ENDSTOPS) || defined(Z_QUAD_ENDSTOPS)
# error "Z_(DUAL|TRIPLE|QUAD)_ENDSTOPS is now Z_MULTI_ENDSTOPS."
# elif defined(DUGS_UI_MOVE_DIS_OPTION)
# error "DUGS_UI_MOVE_DIS_OPTION is spelled DGUS_UI_MOVE_DIS_OPTION. Please update Configuration_adv.h. "
# error "DUGS_UI_MOVE_DIS_OPTION is spelled DGUS_UI_MOVE_DIS_OPTION."
# elif defined(ORIG_E0_AUTO_FAN_PIN) || defined(ORIG_E1_AUTO_FAN_PIN) || defined(ORIG_E2_AUTO_FAN_PIN) || defined(ORIG_E3_AUTO_FAN_PIN) || defined(ORIG_E4_AUTO_FAN_PIN) || defined(ORIG_E5_AUTO_FAN_PIN) || defined(ORIG_E6_AUTO_FAN_PIN) || defined(ORIG_E7_AUTO_FAN_PIN)
# error "ORIG_Ex_AUTO_FAN_PIN is now just Ex_AUTO_FAN_PIN. Make sure your pins are up to date. "
# error "ORIG_Ex_AUTO_FAN_PIN is now just Ex_AUTO_FAN_PIN."
# elif defined(ORIG_CHAMBER_AUTO_FAN_PIN)
# error "ORIG_CHAMBER_AUTO_FAN_PIN is now just CHAMBER_AUTO_FAN_PIN. Make sure your pins are up to date. "
# error "ORIG_CHAMBER_AUTO_FAN_PIN is now just CHAMBER_AUTO_FAN_PIN. "
# elif defined(HOMING_BACKOFF_MM)
# error "HOMING_BACKOFF_MM is now HOMING_BACKOFF_POST_MM. Please update Configuration_adv.h. "
# error "HOMING_BACKOFF_MM is now HOMING_BACKOFF_POST_MM. "
# elif defined(X_HOME_BUMP_MM) || defined(Y_HOME_BUMP_MM) || defined(Z_HOME_BUMP_MM)
# error "[XYZ]_HOME_BUMP_MM is now HOMING_BUMP_MM. Please update Configuration_adv.h. "
# error "[XYZ]_HOME_BUMP_MM is now HOMING_BUMP_MM. "
# elif defined(DIGIPOT_I2C)
# error "DIGIPOT_I2C is now DIGIPOT_MCP4451 (or DIGIPOT_MCP4018). Please update Configuration_adv.h. "
# error "DIGIPOT_I2C is now DIGIPOT_MCP4451 (or DIGIPOT_MCP4018). "
# elif defined(TOUCH_BUTTONS)
# error "TOUCH_BUTTONS is now TOUCH_SCREEN. Please update your Configuration.h."
# elif defined(LCD_FULL_PIXEL_HEIGHT)
# error "LCD_FULL_PIXEL_HEIGHT is deprecated and should be removed. Please update your Configuration.h."
# elif defined(LCD_FULL_PIXEL_WIDTH)
# error "LCD_FULL_PIXEL_WIDTH is deprecated and should be removed. Please update your Configuration.h."
# error "TOUCH_BUTTONS is now TOUCH_SCREEN."
# elif defined(LCD_FULL_PIXEL_HEIGHT) || defined(LCD_FULL_PIXEL_WIDTH)
# error "LCD_FULL_PIXEL_(WIDTH|HEIGHT) is deprecated and should be removed."
# elif defined(FSMC_UPSCALE)
# error "FSMC_UPSCALE is now GRAPHICAL_TFT_UPSCALE. Please update your Configuration.h. "
# error "FSMC_UPSCALE is now GRAPHICAL_TFT_UPSCALE."
# elif defined(ANYCUBIC_TFT_MODEL)
# error "ANYCUBIC_TFT_MODEL is now ANYCUBIC_LCD_I3MEGA. Please update your Configuration.h. "
# error "ANYCUBIC_TFT_MODEL is now ANYCUBIC_LCD_I3MEGA. "
# elif defined(EVENT_GCODE_SD_STOP)
# error "EVENT_GCODE_SD_STOP is now EVENT_GCODE_SD_ABORT. Please update your Configuration.h. "
# error "EVENT_GCODE_SD_STOP is now EVENT_GCODE_SD_ABORT. "
# elif defined(GRAPHICAL_TFT_ROTATE_180)
# error "GRAPHICAL_TFT_ROTATE_180 is now TFT_ROTATION set to TFT_ROTATE_180. Please update your Configuration.h. "
# error "GRAPHICAL_TFT_ROTATE_180 is now TFT_ROTATION set to TFT_ROTATE_180. "
# elif defined(FIL_RUNOUT_INVERTING)
# if FIL_RUNOUT_INVERTING
# error "FIL_RUNOUT_INVERTING true is now FIL_RUNOUT_STATE HIGH. Please update your Configuration.h. "
# error "FIL_RUNOUT_INVERTING true is now FIL_RUNOUT_STATE HIGH. "
# else
# error "FIL_RUNOUT_INVERTING false is now FIL_RUNOUT_STATE LOW. Please update your Configuration.h. "
# error "FIL_RUNOUT_INVERTING false is now FIL_RUNOUT_STATE LOW. "
# endif
# endif
@ -552,11 +538,11 @@
*/
# if ENABLED(PROBE_TEMP_COMPENSATION)
# if defined(PTC_PARK_POS_X) || defined(PTC_PARK_POS_Y) || defined(PTC_PARK_POS_Z)
# error "PTC_PARK_POS_[XYZ] is now PTC_PARK_POS (array). Please update Configuration_adv.h. "
# error "PTC_PARK_POS_[XYZ] is now PTC_PARK_POS (array). "
# elif !defined(PTC_PARK_POS)
# error "PROBE_TEMP_COMPENSATION requires PTC_PARK_POS."
# elif defined(PTC_PROBE_POS_X) || defined(PTC_PROBE_POS_Y)
# error "PTC_PROBE_POS_[XY] is now PTC_PROBE_POS (array). Please update Configuration_adv.h. "
# error "PTC_PROBE_POS_[XY] is now PTC_PROBE_POS (array). "
# elif !defined(PTC_PROBE_POS)
# error "PROBE_TEMP_COMPENSATION requires PTC_PROBE_POS."
# endif
@ -587,9 +573,13 @@
* Serial
*/
# ifndef SERIAL_PORT
# error "SERIAL_PORT must be defined in Configuration .h "
# error "SERIAL_PORT must be defined ."
# elif defined(SERIAL_PORT_2) && SERIAL_PORT_2 == SERIAL_PORT
# error "SERIAL_PORT_2 cannot be the same as SERIAL_PORT. Please update your configuration."
# error "SERIAL_PORT_2 cannot be the same as SERIAL_PORT."
# elif defined(LCD_SERIAL_PORT) && LCD_SERIAL_PORT == SERIAL_PORT
# error "LCD_SERIAL_PORT cannot be the same as SERIAL_PORT."
# elif defined(LCD_SERIAL_PORT) && LCD_SERIAL_PORT == SERIAL_PORT_2
# error "LCD_SERIAL_PORT cannot be the same as SERIAL_PORT_2."
# endif
# if !(defined(__AVR__) && defined(USBCON))
# if ENABLED(SERIAL_XON_XOFF) && RX_BUFFER_SIZE < 1024
@ -845,7 +835,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
# elif DISABLED(NOZZLE_PARK_FEATURE)
# error "ADVANCED_PAUSE_FEATURE requires NOZZLE_PARK_FEATURE."
# elif !defined(FILAMENT_UNLOAD_PURGE_FEEDRATE)
# error "ADVANCED_PAUSE_FEATURE requires FILAMENT_UNLOAD_PURGE_FEEDRATE. Please add it to Configuration_adv.h. "
# error "ADVANCED_PAUSE_FEATURE requires FILAMENT_UNLOAD_PURGE_FEEDRATE. "
# elif ENABLED(EXTRUDER_RUNOUT_PREVENT)
# error "EXTRUDER_RUNOUT_PREVENT is incompatible with ADVANCED_PAUSE_FEATURE."
# elif ENABLED(PARK_HEAD_ON_PAUSE) && NONE(SDSUPPORT, IS_NEWPANEL, EMERGENCY_PARSER)
@ -892,24 +882,24 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
# if ENABLED(TOOLCHANGE_FILAMENT_SWAP)
# ifndef TOOLCHANGE_FS_LENGTH
# error "TOOLCHANGE_FILAMENT_SWAP requires TOOLCHANGE_FS_LENGTH. Please update your Configuration_adv.h. "
# error "TOOLCHANGE_FILAMENT_SWAP requires TOOLCHANGE_FS_LENGTH. "
# elif !defined(TOOLCHANGE_FS_RETRACT_SPEED)
# error "TOOLCHANGE_FILAMENT_SWAP requires TOOLCHANGE_FS_RETRACT_SPEED. Please update your Configuration_adv.h. "
# error "TOOLCHANGE_FILAMENT_SWAP requires TOOLCHANGE_FS_RETRACT_SPEED. "
# elif !defined(TOOLCHANGE_FS_PRIME_SPEED)
# error "TOOLCHANGE_FILAMENT_SWAP requires TOOLCHANGE_FS_PRIME_SPEED. Please update your Configuration_adv.h. "
# error "TOOLCHANGE_FILAMENT_SWAP requires TOOLCHANGE_FS_PRIME_SPEED. "
# endif
# endif
# if ENABLED(TOOLCHANGE_PARK)
# ifndef TOOLCHANGE_PARK_XY
# error "TOOLCHANGE_PARK requires TOOLCHANGE_PARK_XY. Please update your Configuration. "
# error "TOOLCHANGE_PARK requires TOOLCHANGE_PARK_XY. "
# elif !defined(TOOLCHANGE_PARK_XY_FEEDRATE)
# error "TOOLCHANGE_PARK requires TOOLCHANGE_PARK_XY_FEEDRATE. Please update your Configuration. "
# error "TOOLCHANGE_PARK requires TOOLCHANGE_PARK_XY_FEEDRATE. "
# endif
# endif
# ifndef TOOLCHANGE_ZRAISE
# error "TOOLCHANGE_ZRAISE required for EXTRUDERS > 1. Please update your Configuration_adv.h. "
# error "TOOLCHANGE_ZRAISE required for EXTRUDERS > 1. "
# endif
# elif ENABLED(MK2_MULTIPLEXER)
@ -922,7 +912,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
* Sanity checking for the Pr ů š a MK2 Multiplexer
*/
# ifdef SNMM
# error "SNMM is now MK2_MULTIPLEXER. Please update your configuration. "
# error "SNMM is now MK2_MULTIPLEXER. "
# endif
/**
@ -1221,7 +1211,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
# if ENABLED(EXT_SOLENOID)
# error "SOLENOID_PROBE is incompatible with EXT_SOLENOID."
# elif !HAS_SOLENOID_1
# error "SOLENOID_PROBE requires SOL1_PIN. It can be added to your Configuration.h. "
# error "SOLENOID_PROBE requires SOL1_PIN. "
# endif
# endif
@ -1388,7 +1378,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
# if IS_SCARA
# error "AUTO_BED_LEVELING_UBL does not yet support SCARA printers."
# elif DISABLED(EEPROM_SETTINGS)
# error "AUTO_BED_LEVELING_UBL requires EEPROM_SETTINGS. Please update your configuration. "
# error "AUTO_BED_LEVELING_UBL requires EEPROM_SETTINGS. "
# elif !WITHIN(GRID_MAX_POINTS_X, 3, 15) || !WITHIN(GRID_MAX_POINTS_Y, 3, 15)
# error "GRID_MAX_POINTS_[XY] must be a whole number between 3 and 15."
# elif !defined(RESTORE_LEVELING_AFTER_G28)
@ -1777,22 +1767,22 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal
# endif
# if TEMP_SENSOR_CHAMBER && !PIN_EXISTS(TEMP_CHAMBER)
# error "TEMP_SENSOR_CHAMBER requires TEMP_CHAMBER_PIN. Please add it to your configuration. "
# error "TEMP_SENSOR_CHAMBER requires TEMP_CHAMBER_PIN. "
# endif
# if ENABLED(CHAMBER_FAN) && !(defined(CHAMBER_FAN_MODE) && WITHIN(CHAMBER_FAN_MODE, 0, 2))
# error "CHAMBER_FAN_MODE must be between 0 and 2. Please update your Configuration_adv.h. "
# error "CHAMBER_FAN_MODE must be between 0 and 2. "
# endif
# if ENABLED(CHAMBER_VENT)
# ifndef CHAMBER_VENT_SERVO_NR
# error "CHAMBER_VENT_SERVO_NR is required for CHAMBER SERVO. Update your Configuration_adv.h. "
# error "CHAMBER_VENT_SERVO_NR is required for CHAMBER SERVO. "
# elif !NUM_SERVOS
# error "NUM_SERVOS is required for a Heated Chamber vent servo (CHAMBER_VENT_SERVO_NR)."
# elif CHAMBER_VENT_SERVO_NR >= NUM_SERVOS
# error "CHAMBER_VENT_SERVO_NR must be smaller than NUM_SERVOS."
# elif HAS_Z_SERVO_PROBE && CHAMBER_VENT_SERVO_NR == Z_PROBE_SERVO_NR
# error "CHAMBER SERVO is already used by BLTOUCH. Please change. "
# error "CHAMBER SERVO is already used by BLTOUCH. "
# elif CHAMBER_VENT_SERVO_NR == 0 && !PIN_EXISTS(SERVO0)
# error "SERVO0_PIN must be defined for your Heated Chamber vent servo."
# elif CHAMBER_VENT_SERVO_NR == 1 && !PIN_EXISTS(SERVO1)
@ -1806,7 +1796,7 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal
# if TEMP_SENSOR_PROBE
# if !PIN_EXISTS(TEMP_PROBE)
# error "TEMP_SENSOR_PROBE requires TEMP_PROBE_PIN. Please add it to your configuration. "
# error "TEMP_SENSOR_PROBE requires TEMP_PROBE_PIN. "
# elif !HAS_TEMP_ADC_PROBE
# error "TEMP_PROBE_PIN must be an ADC pin."
# elif !ENABLED(FIX_MOUNTED_PROBE)
@ -1819,9 +1809,9 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal
# endif
# if MAX6675_0_IS_MAX31865 && !(defined(MAX31865_SENSOR_OHMS_0) && defined(MAX31865_CALIBRATION_OHMS_0))
# error "MAX31865_SENSOR_OHMS_0 and MAX31865_CALIBRATION_OHMS_0 must be set i n Configuration.h i f TEMP_SENSOR_0 is MAX31865."
# error "MAX31865_SENSOR_OHMS_0 and MAX31865_CALIBRATION_OHMS_0 must be set i f TEMP_SENSOR_0 is MAX31865."
# elif MAX6675_1_IS_MAX31865 && !(defined(MAX31865_SENSOR_OHMS_1) && defined(MAX31865_CALIBRATION_OHMS_1))
# error "MAX31865_SENSOR_OHMS_1 and MAX31865_CALIBRATION_OHMS_1 must be set i n Configuration.h i f TEMP_SENSOR_1 is MAX31865."
# error "MAX31865_SENSOR_OHMS_1 and MAX31865_CALIBRATION_OHMS_1 must be set i f TEMP_SENSOR_1 is MAX31865."
# endif
/**
@ -2328,17 +2318,17 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal
*/
# ifdef LCD_SERIAL_PORT
# if LCD_SERIAL_PORT == SERIAL_PORT
# error "LCD_SERIAL_PORT cannot be the same as SERIAL_PORT. Please update your configuration. "
# error "LCD_SERIAL_PORT cannot be the same as SERIAL_PORT. "
# elif defined(SERIAL_PORT_2) && LCD_SERIAL_PORT == SERIAL_PORT_2
# error "LCD_SERIAL_PORT cannot be the same as SERIAL_PORT_2. Please update your configuration. "
# error "LCD_SERIAL_PORT cannot be the same as SERIAL_PORT_2. "
# endif
# else
# if HAS_DGUS_LCD
# error "The DGUS LCD requires LCD_SERIAL_PORT to be defined in Configuration .h "
# error "The DGUS LCD requires LCD_SERIAL_PORT to be defined ."
# elif EITHER(ANYCUBIC_LCD_I3MEGA, ANYCUBIC_LCD_CHIRON)
# error "The ANYCUBIC LCD requires LCD_SERIAL_PORT to be defined in Configuration .h "
# error "The ANYCUBIC LCD requires LCD_SERIAL_PORT to be defined ."
# elif ENABLED(MALYAN_LCD)
# error "MALYAN_LCD requires LCD_SERIAL_PORT to be defined in Configuration .h "
# error "MALYAN_LCD requires LCD_SERIAL_PORT to be defined ."
# endif
# endif
@ -2827,7 +2817,7 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2)
# endif
# if ENABLED(PRINTCOUNTER) && DISABLED(EEPROM_SETTINGS)
# error "PRINTCOUNTER requires EEPROM_SETTINGS. Please update your Configuration. "
# error "PRINTCOUNTER requires EEPROM_SETTINGS. "
# endif
# if ENABLED(USB_FLASH_DRIVE_SUPPORT) && !PINS_EXIST(USB_CS, USB_INTR)
@ -2972,11 +2962,11 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2)
# if (PIN_EXISTS(CHDK) + PIN_EXISTS(PHOTOGRAPH) + defined(PHOTO_SWITCH_POSITION)) > 1
# error "Please define only one of CHDK_PIN, PHOTOGRAPH_PIN, or PHOTO_SWITCH_POSITION."
# elif defined(PHOTO_SWITCH_POSITION) && !defined(PHOTO_POSITION)
# error "PHOTO_SWITCH_POSITION requires PHOTO_POSITION. Please update your Configuration_adv.h. "
# error "PHOTO_SWITCH_POSITION requires PHOTO_POSITION. "
# elif PIN_EXISTS(CHDK) && defined(CHDK_DELAY)
# error "CHDK_DELAY has been replaced by PHOTO_SWITCH_MS. Please update your Configuration_adv.h. "
# error "CHDK_DELAY has been replaced by PHOTO_SWITCH_MS. "
# elif PIN_EXISTS(CHDK) && !defined(PHOTO_SWITCH_MS)
# error "PHOTO_SWITCH_MS is required with CHDK_PIN. Please update your Configuration_adv.h. "
# error "PHOTO_SWITCH_MS is required with CHDK_PIN. "
# elif defined(PHOTO_RETRACT_MM)
static_assert ( PHOTO_RETRACT_MM + 0 > = 0 , " PHOTO_RETRACT_MM must be >= 0. " ) ;
# endif
@ -3038,16 +3028,16 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2)
# if HAS_CUTTER
# ifndef CUTTER_POWER_UNIT
# error "CUTTER_POWER_UNIT is required with a spindle or laser. Please update your Configuration_adv.h. "
# error "CUTTER_POWER_UNIT is required with a spindle or laser. "
# elif !CUTTER_UNIT_IS(PWM255) && !CUTTER_UNIT_IS(PERCENT) && !CUTTER_UNIT_IS(RPM) && !CUTTER_UNIT_IS(SERVO)
# error "CUTTER_POWER_UNIT must be PWM255, PERCENT, RPM, or SERVO. Please update your Configuration_adv.h. "
# error "CUTTER_POWER_UNIT must be PWM255, PERCENT, RPM, or SERVO. "
# endif
# if ENABLED(LASER_POWER_INLINE)
# if ENABLED(SPINDLE_CHANGE_DIR)
# error "SPINDLE_CHANGE_DIR and LASER_POWER_INLINE are incompatible."
# elif ENABLED(LASER_MOVE_G0_OFF) && DISABLED(LASER_MOVE_POWER)
# error "LASER_MOVE_G0_OFF requires LASER_MOVE_POWER. Please update your Configuration_adv.h. "
# error "LASER_MOVE_G0_OFF requires LASER_MOVE_POWER. "
# endif
# if ENABLED(LASER_POWER_INLINE_TRAPEZOID)
# if DISABLED(SPINDLE_LASER_PWM)