From 90e5826256018b351e16fbdcc3dbbc0073343ccf Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 26 Aug 2024 12:02:22 -0500 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20No=20"base"=20needed=20for=20min?= =?UTF-8?q?imal=20config?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Marlin/src/inc/BaseConfiguration.h | 1331 ----------- Marlin/src/inc/BaseConfiguration_adv.h | 2491 -------------------- Marlin/src/inc/MarlinConfigPre.h | 11 +- Marlin/src/inc/Warnings.cpp | 2 +- buildroot/share/scripts/makeBaseConfigs.py | 97 - 5 files changed, 5 insertions(+), 3927 deletions(-) delete mode 100644 Marlin/src/inc/BaseConfiguration.h delete mode 100644 Marlin/src/inc/BaseConfiguration_adv.h delete mode 100755 buildroot/share/scripts/makeBaseConfigs.py 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()