Commit 305e2c45 authored by Simone Primarosa's avatar Simone Primarosa

Update 4.1.2 beta

NOT TESTED
parent f5e7693c
......@@ -23,10 +23,6 @@
#define MarlinSerial_h
#include "Marlin.h"
#ifndef SERIAL_PORT
#define SERIAL_PORT 0
#endif
// The presence of the UBRRH register is used to detect a UART.
#define UART_PRESENT(port) ((port == 0 && (defined(UBRRH) || defined(UBRR0H))) || \
(port == 1 && defined(UBRR1H)) || (port == 2 && defined(UBRR2H)) || \
......
......@@ -290,7 +290,11 @@ const int sensitive_pins[] = SENSITIVE_PINS; ///< Sensitive pin list for M42
// Inactivity shutdown
millis_t previous_cmd_ms = 0;
static millis_t max_inactive_time = 0;
static millis_t stepper_inactive_time = DEFAULT_STEPPER_DEACTIVE_TIME * 1000L;
#if ENABLED(DEFAULT_STEPPER_DEACTIVE_TIME)
static millis_t stepper_inactive_time = DEFAULT_STEPPER_DEACTIVE_TIME * 1000L;
#else
static millis_t stepper_inactive_time = 0;
#endif
millis_t print_job_start_ms = 0; ///< Print job start time
millis_t print_job_stop_ms = 0; ///< Print job stop time
static uint8_t target_extruder;
......@@ -5151,7 +5155,11 @@ inline void gcode_M140() {
case 0:
if (code_seen('H')) {
v = code_value_short();
plaPreheatHotendTemp = constrain(v, EXTRUDE_MINTEMP, HEATER_0_MAXTEMP - 15);
#if ENABLED(PREVENT_DANGEROUS_EXTRUDE)
plaPreheatHotendTemp = constrain(v, EXTRUDE_MINTEMP, HEATER_0_MAXTEMP - 15);
#else
plaPreheatHotendTemp = constrain(v, HEATER_0_MINTEMP, HEATER_0_MAXTEMP - 15);
#endif
}
if (code_seen('F')) {
v = code_value_short();
......@@ -5167,7 +5175,11 @@ inline void gcode_M140() {
case 1:
if (code_seen('H')) {
v = code_value_short();
absPreheatHotendTemp = constrain(v, EXTRUDE_MINTEMP, HEATER_0_MAXTEMP - 15);
#if ENABLED(PREVENT_DANGEROUS_EXTRUDE)
absPreheatHotendTemp = constrain(v, EXTRUDE_MINTEMP, HEATER_0_MAXTEMP - 15);
#else
absPreheatHotendTemp = constrain(v, HEATER_0_MINTEMP, HEATER_0_MAXTEMP - 15);
#endif
}
if (code_seen('F')) {
v = code_value_short();
......@@ -5183,7 +5195,11 @@ inline void gcode_M140() {
case 2:
if (code_seen('H')) {
v = code_value_short();
gumPreheatHotendTemp = constrain(v, EXTRUDE_MINTEMP, HEATER_0_MAXTEMP - 15);
#if ENABLED(PREVENT_DANGEROUS_EXTRUDE)
gumPreheatHotendTemp = constrain(v, EXTRUDE_MINTEMP, HEATER_0_MAXTEMP - 15);
#else
gumPreheatHotendTemp = constrain(v, HEATER_0_MINTEMP, HEATER_0_MAXTEMP - 15);
#endif
}
if (code_seen('F')) {
v = code_value_short();
......@@ -7102,7 +7118,7 @@ void ok_to_send() {
}
void clamp_to_software_endstops(float target[3]) {
if (min_software_endstops) {
if (SOFTWARE_MIN_ENDSTOPS) {
NOLESS(target[X_AXIS], min_pos[X_AXIS]);
NOLESS(target[Y_AXIS], min_pos[Y_AXIS]);
......@@ -7114,7 +7130,7 @@ void clamp_to_software_endstops(float target[3]) {
NOLESS(target[Z_AXIS], min_pos[Z_AXIS] + negative_z_offset);
}
if (max_software_endstops) {
if (SOFTWARE_MAX_ENDSTOPS) {
NOMORE(target[X_AXIS], max_pos[X_AXIS]);
NOMORE(target[Y_AXIS], max_pos[Y_AXIS]);
NOMORE(target[Z_AXIS], max_pos[Z_AXIS]);
......
......@@ -151,7 +151,7 @@
// Use it for Testing or Development purposes. NEVER for production machine.
//#define DUMMY_THERMISTOR_998_VALUE 25
//#define DUMMY_THERMISTOR_999_VALUE 100
//#define DUMMY_THERMISTOR_999_VALUE 25
//Show Temperature ADC value
//The M105 command return, besides traditional information, the ADC value read from temperature sensors.
......@@ -233,7 +233,7 @@
* 14 Portuguese (Brazil) *
* *
***********************************************************************/
#define LANGUAGE_CHOICE 7
#define LANGUAGE_CHOICE 1
/***********************************************************************/
......
......@@ -313,7 +313,7 @@
// Multiple extruders can be assigned to the same pin in which case
// the fan will turn on when any selected extruder is above the threshold.
// You need to set _AUTO_FAN_PIN in pins.h
//#define EXTRUDER_AUTO_TEMPERATURE
//#define EXTRUDER_AUTO_FAN
#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
#define EXTRUDER_AUTO_FAN_SPEED 255 // 255 = full speed
#define EXTRUDER_AUTO_FAN_MIN_SPEED 0
......@@ -419,8 +419,7 @@
* *
***********************************************************************/
//#define IDLE_OOZING_PREVENT
#define IDLE_OOZING_MINTEMP EXTRUDE_MINTEMP + 5
#define IDLE_OOZING_MAXTEMP IDLE_OOZING_MINTEMP + 5
#define IDLE_OOZING_MINTEMP 190
#define IDLE_OOZING_FEEDRATE 50 //default feedrate for retracting (mm/s)
#define IDLE_OOZING_SECONDS 5
#define IDLE_OOZING_LENGTH 15 //default retract length (positive mm)
......@@ -476,6 +475,8 @@
* Hooke's law says: force = k * distance *
* Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant *
* so: v ^ 2 is proportional to number of steps we advance the extruder *
* *
* This feature is obsolate needs update *
* Uncomment ADVANCE to enable this feature *
* *
*****************************************************************************************/
......@@ -515,8 +516,8 @@
/**************************************************************************
*************************** Software endstops ****************************
**************************************************************************/
#define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
#define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below.
#define SOFTWARE_MIN_ENDSTOPS true // If true, axis won't move to coordinates less than HOME_POS.
#define SOFTWARE_MAX_ENDSTOPS true // If true, axis won't move to coordinates greater than the defined lengths below.
/***********************************************************************/
......@@ -752,8 +753,8 @@
* *
**************************************************************************/
//#define BABYSTEPPING
#define BABYSTEP_XY // not only z, but also XY in the menu. more clutter, more functions
// not implemented for CoreXY and deltabots!
//#define BABYSTEP_XY // not only z, but also XY in the menu. more clutter, more functions
// not implemented for CoreXY and deltabots!
#define BABYSTEP_INVERT_Z false // true for inverse movements in Z
#define BABYSTEP_Z_MULTIPLICATOR 2 // faster z movements
/**************************************************************************/
......@@ -810,11 +811,6 @@
// without modifying the firmware (through the "M218 T1 X???" command).
// Remember: you should set the second extruder x-offset to 0 in your slicer.
// Pins for second x-carriage stepper driver (defined here to avoid further complicating pins.h)
#define X2_ENABLE_PIN 29
#define X2_STEP_PIN 25
#define X2_DIR_PIN 23
// There are a few selectable movement modes for dual x-carriages using M605 S<mode>
// Mode 0: Full control. The slicer has full control over both x-carriages and can achieve optimal travel results
// as long as it supports dual x-carriages. (M605 S0)
......@@ -849,7 +845,7 @@
* On a RAMPS (or other 5 driver) motherboard, using this feature will limit you *
* to using 1 extruder. *
* *
* Uncomment DUAL_X_CARRIAGE to enable this feature *
* Uncomment Y_DUAL_STEPPER_DRIVERS to enable this feature *
* *
*****************************************************************************************/
//#define Y_DUAL_STEPPER_DRIVERS
......@@ -872,7 +868,7 @@
* On a RAMPS (or other 5 driver) motherboard, using this feature will limit you *
* to using 1 extruder. *
* *
* Uncomment DUAL_X_CARRIAGE to enable this feature *
* Uncomment Z_DUAL_STEPPER_DRIVERS to enable this feature *
* *
*****************************************************************************************/
//#define Z_DUAL_STEPPER_DRIVERS
......@@ -1115,7 +1111,6 @@
//#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2
#define SPLASH_SCREEN_DURATION 5000 // SPLASH SCREEN duration in millisecond
#define LCD_SCREEN_ROT_0 //No screen rotation for graphics display
//#define LCD_SCREEN_ROT_90 //Rotate screen orientation for graphics display by 90 degree clockwise
//#define LCD_SCREEN_ROT_180 //Rotate screen orientation for graphics display by 180 degree clockwise
//#define LCD_SCREEN_ROT_270 //Rotate screen orientation for graphics display by 270 degree clockwise
......@@ -1383,8 +1378,6 @@
***********************************************************************/
//#define HAVE_TMCDRIVER
#if ENABLED(HAVE_TMCDRIVER)
//#define X_IS_TMC
#define X_MAX_CURRENT 1000 //in mA
#define X_SENSE_RESISTOR 91 //in mOhms
......@@ -1492,21 +1485,18 @@
#define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
//#define E1_IS_L6470
#define E1_MICROSTEPS 16 //number of microsteps
#define E1_MICROSTEPS 16 //number of microsteps
#define E1_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high
#define E1_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off
#define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
//#define E2_IS_L6470
#define E2_MICROSTEPS 16 //number of microsteps
#define E2_MICROSTEPS 16 //number of microsteps
#define E2_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high
#define E2_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off
#define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
//#define E3_IS_L6470
#define E3_MICROSTEPS 16 //number of microsteps
#define E3_MICROSTEPS 16 //number of microsteps
#define E3_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high
#define E3_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off
......@@ -1533,7 +1523,7 @@
// The values should not be less than 1
#define NUM_POSITON_SLOTS 2
#define dropsegments 5 // everything with less than this number of steps will be ignored as move and joined with the next movement
#define DROP_SEGMENTS 5 // everything with less than this number of steps will be ignored as move and joined with the next movement
#define DEFAULT_MINSEGMENTTIME 20000 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
// Arc interpretation settings:
......
#ifndef CONDITIONALS_H
#define CONDITIONALS_H
/*
* This configuration file contains defines that depend on configuration but are not editable.
*
* - Serial comunication type
* - Board type
* - Mechanism type
* - Thermistor type
* - Temperature limits
* - Extruders number
* - UI Language
*
*/
// Serial comunication
#if DISABLED(SERIAL_PORT)
#error DEPENDENCY ERROR: Missing setting SERIAL_PORT
#endif
#if DISABLED(BAUDRATE)
#error DEPENDENCY ERROR: Missing setting BAUDRATE
#endif
#if DISABLED(MACHINE_UUID)
#error DEPENDENCY ERROR: Missing setting MACHINE_UUID
#endif
//board
#if DISABLED(MOTHERBOARD)
#error DEPENDENCY ERROR: Missing setting MOTHERBOARD
#endif
//Mechanism
#if DISABLED(MEACHANISM)
#error DEPENDENCY ERROR: Missing setting MECHANISM
#endif
//Power supply
#if DISABLED(POWER_SUPPLY)
#error DEPENDENCY ERROR: Missing setting POWER_SUPPLY
#endif
//Thermistor
#if DISABLED(TEMP_SENSOR_0)
#error DEPENDENCY ERROR: Missing setting TEMP_SENSOR_0
#endif
#if DISABLED(TEMP_SENSOR_1)
#error DEPENDENCY ERROR: Missing setting TEMP_SENSOR_1
#endif
#if DISABLED(TEMP_SENSOR_2)
#error DEPENDENCY ERROR: Missing setting TEMP_SENSOR_2
#endif
#if DISABLED(TEMP_SENSOR_3)
#error DEPENDENCY ERROR: Missing setting TEMP_SENSOR_3
#endif
#if DISABLED(TEMP_SENSOR_BED)
#error DEPENDENCY ERROR: Missing setting TEMP_SENSOR_BED
#endif
#if (THERMISTORHEATER_0 == 998) || (THERMISTORHEATER_1 == 998) || (THERMISTORHEATER_2 == 998) || (THERMISTORHEATER_3 == 998) || (THERMISTORBED == 998) //User defined table
#if DISABLED(DUMMY_THERMISTOR_998_VALUE)
#error DEPENDENCY ERROR: Missing setting DUMMY_THERMISTOR_998_VALUE
#endif
#endif
//Temperature
/**
* Temperature defines
*/
#if ENABLED(TEMP_RESIDENCY_TIME)
#if DISABLED(TEMP_HYSTERESIS)
#error DEPENDENCY ERROR: Missing setting TEMP_HYSTERESIS
#endif
#if DISABLED(TEMP_WINDOW)
#error DEPENDENCY ERROR: Missing setting TEMP_WINDOW
#endif
#endif
#if TEMP_SENSOR_0 != 0
#if DISABLED(HEATER_0_MAXTEMP)
#error DEPENDENCY ERROR: Missing setting HEATER_0_MAXTEMP
#endif
#if DISABLED(HEATER_0_MINTEMP)
#error DEPENDENCY ERROR: Missing setting HEATER_0_MINTEMP
#endif
#endif
#if TEMP_SENSOR_1 != 0
#if DISABLED(HEATER_1_MAXTEMP)
#error DEPENDENCY ERROR: Missing setting HEATER_1_MAXTEMP
#endif
#if DISABLED(HEATER_0_MINTEMP)
#error DEPENDENCY ERROR: Missing setting HEATER_1_MINTEMP
#endif
#endif
#if TEMP_SENSOR_2 != 0
#if DISABLED(HEATER_2_MAXTEMP)
#error DEPENDENCY ERROR: Missing setting HEATER_2_MAXTEMP
#endif
#if DISABLED(HEATER_0_MINTEMP)
#error DEPENDENCY ERROR: Missing setting HEATER_2_MINTEMP
#endif
#endif
#if TEMP_SENSOR_3 != 0
#if DISABLED(HEATER_3_MAXTEMP)
#error DEPENDENCY ERROR: Missing setting HEATER_3_MAXTEMP
#endif
#if DISABLED(HEATER_0_MINTEMP)
#error DEPENDENCY ERROR: Missing setting HEATER_3_MINTEMP
#endif
#endif
#if TEMP_SENSOR_BED != 0
#if DISABLED(BED_MAXTEMP)
#error DEPENDENCY ERROR: Missing setting BED_MAXTEMP
#endif
#if DISABLED(HEATER_0_MINTEMP)
#error DEPENDENCY ERROR: Missing setting BED_MINTEMP
#endif
#endif
#if DISABLED(PLA_PREHEAT_HOTEND_TEMP)
#error DEPENDENCY ERROR: Missing setting PLA_PREHEAT_HOTEND_TEMP
#endif
#if DISABLED(PLA_PREHEAT_HPB_TEMP)
#error DEPENDENCY ERROR: Missing setting PLA_PREHEAT_HPB_TEMP
#endif
#if DISABLED(PLA_PREHEAT_FAN_SPEED)
#error DEPENDENCY ERROR: Missing setting PLA_PREHEAT_FAN_SPEED
#endif
#if DISABLED(ABS_PREHEAT_HOTEND_TEMP)
#error DEPENDENCY ERROR: Missing setting ABS_PREHEAT_HOTEND_TEMP
#endif
#if DISABLED(ABS_PREHEAT_HPB_TEMP)
#error DEPENDENCY ERROR: Missing setting ABS_PREHEAT_HPB_TEMP
#endif
#if DISABLED(ABS_PREHEAT_FAN_SPEED)
#error DEPENDENCY ERROR: Missing setting ABS_PREHEAT_FAN_SPEED
#endif
#if DISABLED(GUM_PREHEAT_HOTEND_TEMP)
#error DEPENDENCY ERROR: Missing setting GUM_PREHEAT_HOTEND_TEMP
#endif
#if DISABLED(GUM_PREHEAT_HPB_TEMP)
#error DEPENDENCY ERROR: Missing setting GUM_PREHEAT_HPB_TEMP
#endif
#if DISABLED(GUM_PREHEAT_FAN_SPEED)
#error DEPENDENCY ERROR: Missing setting GUM_PREHEAT_FAN_SPEED
#endif
//extruders
#if DISABLED(EXTRUDERS)
#error DEPENDENCY ERROR: Missing setting EXTRUDERS
#endif
#if DISABLED(DRIVER_EXTRUDERS)
#error DEPENDENCY ERROR: Missing setting DRIVER_EXTRUDERS
#endif
//Language
#if DISABLED(LANGUAGE_CHOICE)
#error DEPENDENCY ERROR: Missing setting LANGUAGE_CHOICE
#endif
///FEATURE
//Temperature
#if DISABLED(PID_MAX)
#error DEPENDENCY ERROR: Missing setting PID_MAX
#endif
#if DISABLED(MAX_BED_POWER)
#error DEPENDENCY ERROR: Missing setting MAX_BED_POWER
#endif
#if ENABLED(PIDTEMP) || ENABLED(PIDTEMPBED)
#if DISABLED(MAX_OVERSHOOT_PID_AUTOTUNE)
#error DEPENDENCY ERROR: Missing setting MAX_OVERSHOOT_PID_AUTOTUNE
#endif
#endif
#if ENABLED(PIDTEMP)
#if DISABLED(PID_OPENLOOP)
#error DEPENDENCY ERROR: Missing setting PID_FUNCTIONAL_RANGE
#endif
#if DISABLED(PID_INTEGRAL_DRIVE_MAX)
#error DEPENDENCY ERROR: Missing setting PID_INTEGRAL_DRIVE_MAX
#endif
#if DISABLED(DEFAULT_Kp)
#error DEPENDENCY ERROR: Missing setting DEFAULT_Kp
#endif
#if DISABLED(DEFAULT_Ki)
#error DEPENDENCY ERROR: Missing setting DEFAULT_Ki
#endif
#if DISABLED(DEFAULT_Kd)
#error DEPENDENCY ERROR: Missing setting DEFAULT_Kd
#endif
#endif
#if ENABLED(PIDTEMPBED)
#if DISABLED(PID_BED_INTEGRAL_DRIVE_MAX)
#error DEPENDENCY ERROR: Missing setting PID_BED_INTEGRAL_DRIVE_MAX
#endif
#if DISABLED(DEFAULT_bedKp)
#error DEPENDENCY ERROR: Missing setting DEFAULT_bedKp
#endif
#if DISABLED(DEFAULT_bedKi)
#error DEPENDENCY ERROR: Missing setting DEFAULT_bedKi
#endif
#if DISABLED(DEFAULT_bedKd)
#error DEPENDENCY ERROR: Missing setting DEFAULT_bedKd
#endif
#endif
#if ENABLED(BED_LIMIT_SWITCHING)
#if DISABLED(BED_HYSTERESIS)
#error DEPENDENCY ERROR: Missing setting BED_HYSTERESIS
#endif
#if DISABLED(BED_CHECK_INTERVAL)
#error DEPENDENCY ERROR: Missing setting BED_CHECK_INTERVAL
#endif
#endif
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
#if DISABLED(THERMAL_PROTECTION_PERIOD)
#error DEPENDENCY ERROR: Missing setting THERMAL_PROTECTION_PERIOD
#endif
#if DISABLED(THERMAL_PROTECTION_HYSTERESIS)
#error DEPENDENCY ERROR: Missing setting THERMAL_PROTECTION_HYSTERESIS
#endif
#if DISABLED(WATCH_TEMP_PERIOD)
#error DEPENDENCY ERROR: Missing setting WATCH_TEMP_PERIOD
#endif
#if DISABLED(WATCH_TEMP_INCREASE)
#error DEPENDENCY ERROR: Missing setting WATCH_TEMP_INCREASE
#endif
#endif
#if ENABLED(THERMAL_PROTECTION_BED)
#if DISABLED(THERMAL_PROTECTION_BED_PERIOD)
#error DEPENDENCY ERROR: Missing setting THERMAL_PROTECTION_BED_PERIOD
#endif
#if DISABLED(THERMAL_PROTECTION_BED_HYSTERESIS)
#error DEPENDENCY ERROR: Missing setting THERMAL_PROTECTION_BED_HYSTERESIS
#endif
#endif
//fan
#if DISABLED(SOFT_PWM_SCALE)
#error DEPENDENCY ERROR: Missing setting SOFT_PWM_SCALE
#endif
#if ENABLED(CONTROLLERFAN)
#if DISABLED(CONTROLLERFAN_SECS)
#error DEPENDENCY ERROR: Missing setting CONTROLLERFAN_SECS
#endif
#if DISABLED(CONTROLLERFAN_SPEED)
#error DEPENDENCY ERROR: Missing setting CONTROLLERFAN_SPEED
#endif
#if DISABLED(CONTROLLERFAN_MIN_SPEED)
#error DEPENDENCY ERROR: Missing setting CONTROLLERFAN_MIN_SPEED
#endif
#endif
#if ENABLED(EXTRUDER_AUTO_FAN)
#if DISABLED(EXTRUDER_AUTO_FAN_TEMPERATURE)
#error DEPENDENCY ERROR: Missing setting EXTRUDER_AUTO_FAN_TEMPERATURE
#endif
#if DISABLED(EXTRUDER_AUTO_FAN_SPEED)
#error DEPENDENCY ERROR: Missing setting EXTRUDER_AUTO_FAN_SPEED
#endif
#if DISABLED(EXTRUDER_AUTO_FAN_MIN_SPEED)
#error DEPENDENCY ERROR: Missing setting EXTRUDER_AUTO_FAN_MIN_SPEED
#endif
#endif
//extruder
#if ENABLED(PREVENT_DANGEROUS_EXTRUDE)
#if DISABLED(EXTRUDE_MINTEMP)
#error DEPENDENCY ERROR: Missing setting EXTRUDE_MINTEMP
#endif
#if ENABLED(PREVENT_LENGTHY_EXTRUDE)
#if DISABLED(EXTRUDE_MAXLENGTH)
#error DEPENDENCY ERROR: Missing setting EXTRUDE_MAXLENGTH
#endif
#endif
#endif
#if ENABLED(NPR2)
#if DISABLED(COLOR_STEP)
#error DEPENDENCY ERROR: Missing setting COLOR_STEP
#endif
#if DISABLED(COLOR_SLOWRATE)
#error DEPENDENCY ERROR: Missing setting COLOR_SLOWRATE
#endif
#if DISABLED(COLOR_HOMERATE)
#error DEPENDENCY ERROR: Missing setting COLOR_HOMERATE
#endif
#if DISABLED(MOTOR_ANGLE)
#error DEPENDENCY ERROR: Missing setting MOTOR_ANGLE
#endif
#if DISABLED(DRIVER_MICROSTEP)
#error DEPENDENCY ERROR: Missing setting DRIVER_MICROSTEP
#endif
#if DISABLED(CARTER_MOLTIPLICATOR)
#error DEPENDENCY ERROR: Missing setting CARTER_MOLTIPLICATOR
#endif
#endif
#if ENABLED(IDLE_OOZING_PREVENT)
#if DISABLED(IDLE_OOZING_MINTEMP)
#error DEPENDENCY ERROR: Missing setting IDLE_OOZING_MINTEMP
#endif
#if DISABLED(IDLE_OOZING_FEEDRATE)
#error DEPENDENCY ERROR: Missing setting IDLE_OOZING_FEEDRATE
#endif
#if DISABLED(IDLE_OOZING_SECONDS)
#error DEPENDENCY ERROR: Missing setting IDLE_OOZING_SECONDS
#endif
#if DISABLED(IDLE_OOZING_LENGTH)
#error DEPENDENCY ERROR: Missing setting IDLE_OOZING_LENGTH
#endif
#if DISABLED(IDLE_OOZING_RECOVER_LENGTH)
#error DEPENDENCY ERROR: Missing setting IDLE_OOZING_RECOVER_LENGTH
#endif
#if DISABLED(IDLE_OOZING_RECOVER_FEEDRATE)
#error DEPENDENCY ERROR: Missing setting IDLE_OOZING_RECOVER_FEEDRATE
#endif
#endif
#if ENABLED(EXTRUDER_RUNOUT_PREVENT)
#if DISABLED(EXTRUDER_RUNOUT_MINTEMP)
#error DEPENDENCY ERROR: Missing setting EXTRUDER_RUNOUT_MINTEMP
#endif
#if DISABLED(EXTRUDER_RUNOUT_SECONDS)
#error DEPENDENCY ERROR: Missing setting EXTRUDER_RUNOUT_SECONDS
#endif
#if DISABLED(EXTRUDER_RUNOUT_ESTEPS)
#error DEPENDENCY ERROR: Missing setting EXTRUDER_RUNOUT_ESTEPS
#endif
#if DISABLED(EXTRUDER_RUNOUT_SPEED)
#error DEPENDENCY ERROR: Missing setting EXTRUDER_RUNOUT_SPEED
#endif
#if DISABLED(EXTRUDER_RUNOUT_EXTRUDE)
#error DEPENDENCY ERROR: Missing setting EXTRUDER_RUNOUT_EXTRUDE
#endif
#endif
#if ENABLED(EASY_LOAD)
#if DISABLED(BOWDEN_LENGTH)
#error DEPENDENCY ERROR: Missing setting BOWDEN_LENGTH
#endif
#if DISABLED(LCD_PURGE_LENGTH)
#error DEPENDENCY ERROR: Missing setting LCD_PURGE_LENGTH
#endif
#if DISABLED(LCD_RETRACT_LENGTH)
#error DEPENDENCY ERROR: Missing setting LCD_RETRACT_LENGTH
#endif
#if DISABLED(LCD_PURGE_FEEDRATE)
#error DEPENDENCY ERROR: Missing setting LCD_PURGE_FEEDRATE
#endif
#if DISABLED(LCD_RETRACT_FEEDRATE)
#error DEPENDENCY ERROR: Missing setting LCD_RETRACT_FEEDRATE
#endif
#if DISABLED(LCD_LOAD_FEEDRATE)
#error DEPENDENCY ERROR: Missing setting LCD_LOAD_FEEDRATE
#endif
#if DISABLED(LCD_UNLOAD_FEEDRATE)
#error DEPENDENCY ERROR: Missing setting LCD_UNLOAD_FEEDRATE
#endif
#endif
#if ENABLED(ADVANCE)
#if DISABLED(EXTRUDER_ADVANCE_K)
#error DEPENDENCY ERROR: Missing setting EXTRUDER_ADVANCE_K
#endif
#if DISABLED(D_FILAMENT)
#error DEPENDENCY ERROR: Missing setting D_FILAMENT
#endif
#if DISABLED(STEPS_MM_E)
#error DEPENDENCY ERROR: Missing setting STEPS_MM_E
#endif
#endif
#if ENABLED(FILAMENTCHANGEENABLE)
#if DISABLED(FILAMENTCHANGE_XPOS)
#error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_XPOS
#endif
#if DISABLED(FILAMENTCHANGE_YPOS)
#error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_YPOS
#endif
#if DISABLED(FILAMENTCHANGE_ZADD)
#error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_ZADD
#endif
#if DISABLED(FILAMENTCHANGE_FIRSTRETRACT)
#error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_FIRSTRETRACT
#endif
#if DISABLED(FILAMENTCHANGE_FINALRETRACT)
#error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_FINALRETRACT
#endif
#if DISABLED(FILAMENTCHANGE_PRINTEROFF)
#error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_PRINTEROFF
#endif
#endif
//Motion
#if DISABLED(SOFTWARE_MIN_ENDSTOPS)
#error DEPENDENCY ERROR: Missing setting SOFTWARE_MIN_ENDSTOPS
#endif
#if DISABLED(SOFTWARE_MAX_ENDSTOPS)
#error DEPENDENCY ERROR: Missing setting SOFTWARE_MAX_ENDSTOPS
#endif
#if ENABLED(AUTO_BED_LEVELING_FEATURE)
#if ENABLED(AUTO_BED_LEVELING_GRID)
#if DISABLED(MIN_PROBE_EDGE)
#error DEPENDENCY ERROR: Missing setting MIN_PROBE_EDGE
#endif
#if DISABLED(AUTO_BED_LEVELING_GRID_POINTS)
#error DEPENDENCY ERROR: Missing setting AUTO_BED_LEVELING_GRID_POINTS
#endif
#else
#if DISABLED(ABL_PROBE_PT_1_X)
#error DEPENDENCY ERROR: Missing setting ABL_PROBE_PT_1_X
#endif
#if DISABLED(ABL_PROBE_PT_1_Y)
#error DEPENDENCY ERROR: Missing setting ABL_PROBE_PT_1_Y
#endif
#if DISABLED(ABL_PROBE_PT_2_X)
#error DEPENDENCY ERROR: Missing setting ABL_PROBE_PT_2_X
#endif
#if DISABLED(ABL_PROBE_PT_2_Y)
#error DEPENDENCY ERROR: Missing setting ABL_PROBE_PT_2_Y
#endif
#if DISABLED(ABL_PROBE_PT_3_X)
#error DEPENDENCY ERROR: Missing setting ABL_PROBE_PT_3_X
#endif
#if DISABLED(ABL_PROBE_PT_3_Y)
#error DEPENDENCY ERROR: Missing setting ABL_PROBE_PT_3_Y
#endif
#endif
#if DISABLED(X_PROBE_OFFSET_FROM_EXTRUDER)
#error DEPENDENCY ERROR: Missing setting X_PROBE_OFFSET_FROM_EXTRUDER
#endif
#if DISABLED(Y_PROBE_OFFSET_FROM_EXTRUDER)
#error DEPENDENCY ERROR: Missing setting Y_PROBE_OFFSET_FROM_EXTRUDER
#endif
#if DISABLED(Z_PROBE_OFFSET_FROM_EXTRUDER)
#error DEPENDENCY ERROR: Missing setting Z_PROBE_OFFSET_FROM_EXTRUDER
#endif
#if DISABLED(Z_RAISE_BEFORE_HOMING)
#error DEPENDENCY ERROR: Missing setting Z_RAISE_BEFORE_HOMING
#endif
#if DISABLED(Z_RAISE_BEFORE_PROBING)
#error DEPENDENCY ERROR: Missing setting Z_RAISE_BEFORE_PROBING
#endif
#if DISABLED(Z_RAISE_BETWEEN_PROBINGS)
#error DEPENDENCY ERROR: Missing setting Z_RAISE_BETWEEN_PROBINGS
#endif
#if DISABLED(Z_RAISE_AFTER_PROBING)
#error DEPENDENCY ERROR: Missing setting Z_RAISE_AFTER_PROBING
#endif
#if ENABLED(Z_PROBE_SLED)
#if DISABLED(SLED_DOCKING_OFFSET)
#error DEPENDENCY ERROR: Missing setting SLED_DOCKING_OFFSET
#endif
#endif
#if ENABLED(Z_SAFE_HOMING)
#if DISABLED(Z_SAFE_HOMING_X_POINT)
#error DEPENDENCY ERROR: Missing setting Z_SAFE_HOMING_X_POINT
#endif
#if DISABLED(Z_SAFE_HOMING_Y_POINT)
#error DEPENDENCY ERROR: Missing setting Z_SAFE_HOMING_Y_POINT
#endif
#endif
#endif
#if DISABLED(NUM_SERVOS)
#error DEPENDENCY ERROR: Missing setting NUM_SERVOS 0
#endif
#if NUM_SERVOS > 0
#if DISABLED(X_ENDSTOP_SERVO_NR)
#error DEPENDENCY ERROR: Missing setting X_ENDSTOP_SERVO_NR
#endif
#if DISABLED(Y_ENDSTOP_SERVO_NR)
#error DEPENDENCY ERROR: Missing setting Y_ENDSTOP_SERVO_NR
#endif
#if DISABLED(Z_ENDSTOP_SERVO_NR)
#error DEPENDENCY ERROR: Missing setting Z_ENDSTOP_SERVO_NR
#endif
#if DISABLED(X_ENDSTOP_SERVO_ANGLES)
#error DEPENDENCY ERROR: Missing setting X_ENDSTOP_SERVO_ANGLES
#endif
#if DISABLED(Y_ENDSTOP_SERVO_ANGLES)
#error DEPENDENCY ERROR: Missing setting Y_ENDSTOP_SERVO_ANGLES
#endif
#if DISABLED(Z_ENDSTOP_SERVO_ANGLES)
#error DEPENDENCY ERROR: Missing setting Z_ENDSTOP_SERVO_ANGLES
#endif
#if DISABLED(SERVO_DEACTIVATION_DELAY)
#error DEPENDENCY ERROR: Missing setting SERVO_DEACTIVATION_DELAY
#endif
#endif
#if ENABLED(BABYSTEPPING)
#if DISABLED(BABYSTEP_INVERT_Z)
#error DEPENDENCY ERROR: Missing setting BABYSTEP_INVERT_Z
#endif
#if DISABLED(BABYSTEP_Z_MULTIPLICATOR)
#error DEPENDENCY ERROR: Missing setting BABYSTEP_Z_MULTIPLICATOR
#endif
#endif
#if ENABLED(FWRETRACT)
#if DISABLED(MIN_RETRACT)
#error DEPENDENCY ERROR: Missing setting MIN_RETRACT
#endif
#if DISABLED(RETRACT_LENGTH)
#error DEPENDENCY ERROR: Missing setting RETRACT_LENGTH
#endif
#if DISABLED(RETRACT_LENGTH_SWAP)
#error DEPENDENCY ERROR: Missing setting RETRACT_LENGTH_SWAP
#endif
#if DISABLED(RETRACT_FEEDRATE)
#error DEPENDENCY ERROR: Missing setting RETRACT_FEEDRATE
#endif
#if DISABLED(RETRACT_ZLIFT)
#error DEPENDENCY ERROR: Missing setting RETRACT_ZLIFT
#endif
#if DISABLED(RETRACT_RECOVER_LENGTH)
#error DEPENDENCY ERROR: Missing setting RETRACT_RECOVER_LENGTH
#endif
#if DISABLED(RETRACT_RECOVER_LENGTH_SWAP)
#error DEPENDENCY ERROR: Missing setting RETRACT_RECOVER_LENGTH_SWAP
#endif
#if DISABLED(RETRACT_RECOVER_FEEDRATE)
#error DEPENDENCY ERROR: Missing setting RETRACT_RECOVER_FEEDRATE
#endif
#endif
#if ENABLED(DUAL_X_CARRIAGE)
#if DISABLED(X2_MIN_POS)
#error DEPENDENCY ERROR: Missing setting X2_MIN_POS
#endif
#if DISABLED(X2_MAX_POS)
#error DEPENDENCY ERROR: Missing setting X2_MAX_POS
#endif
#if DISABLED(X2_HOME_DIR)
#error DEPENDENCY ERROR: Missing setting X2_HOME_DIR
#endif
#if DISABLED(X2_HOME_POS)
#error DEPENDENCY ERROR: Missing setting X2_HOME_POS
#endif
#if DISABLED(DEFAULT_DUAL_X_CARRIAGE_MODE)
#error DEPENDENCY ERROR: Missing setting DEFAULT_DUAL_X_CARRIAGE_MODE
#endif
#if DISABLED(TOOLCHANGE_PARK_ZLIFT)
#error DEPENDENCY ERROR: Missing setting TOOLCHANGE_PARK_ZLIFT
#endif
#if DISABLED(TOOLCHANGE_UNPARK_ZLIFT)
#error DEPENDENCY ERROR: Missing setting TOOLCHANGE_UNPARK_ZLIFT
#endif
#if DISABLED(DEFAULT_DUPLICATION_X_OFFSET)
#error DEPENDENCY ERROR: Missing setting DEFAULT_DUPLICATION_X_OFFSET
#endif
#endif
#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
#if DISABLED(INVERT_Y2_VS_Y_DIR)
#error DEPENDENCY ERROR: Missing setting INVERT_Y2_VS_Y_DIR
#endif
#endif
//sensors
#if ENABLED(FILAMENT_SENSOR)
#if DISABLED(FILAMENT_SENSOR_EXTRUDER_NUM)
#error DEPENDENCY ERROR: Missing setting FILAMENT_SENSOR_EXTRUDER_NUM
#endif
#if DISABLED(MEASUREMENT_DELAY_CM)
#error DEPENDENCY ERROR: Missing setting MEASUREMENT_DELAY_CM
#endif
#if DISABLED(DEFAULT_NOMINAL_FILAMENT_DIA)
#error DEPENDENCY ERROR: Missing setting DEFAULT_NOMINAL_FILAMENT_DIA
#endif
#if DISABLED(MEASURED_UPPER_LIMIT)
#error DEPENDENCY ERROR: Missing setting MEASURED_UPPER_LIMIT
#endif
#if DISABLED(MEASURED_LOWER_LIMIT)
#error DEPENDENCY ERROR: Missing setting MEASURED_LOWER_LIMIT
#endif
#if DISABLED(MAX_MEASUREMENT_DELAY)
#error DEPENDENCY ERROR: Missing setting MAX_MEASUREMENT_DELAY
#endif
#if DISABLED(DEFAULT_MEASURED_FILAMENT_DIA)
#error DEPENDENCY ERROR: Missing setting DEFAULT_MEASURED_FILAMENT_DIA
#endif
#endif
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
#if DISABLED(FILRUNOUT_PIN_INVERTING)
#error DEPENDENCY ERROR: Missing setting FILRUNOUT_PIN_INVERTING
#endif
#if DISABLED(ENDSTOPPULLUP_FIL_RUNOUT)
#error DEPENDENCY ERROR: Missing setting ENDSTOPPULLUP_FIL_RUNOUT
#endif
#if DISABLED(FILAMENT_RUNOUT_SCRIPT)
#error DEPENDENCY ERROR: Missing setting FILAMENT_RUNOUT_SCRIPT
#endif
#endif
#if ENABLED(POWER_CONSUMPTION)
#if DISABLED(POWER_VOLTAGE)
#error DEPENDENCY ERROR: Missing setting POWER_VOLTAGE
#endif
#if DISABLED(POWER_SENSITIVITY)
#error DEPENDENCY ERROR: Missing setting POWER_SENSITIVITY
#endif
#if DISABLED(POWER_OFFSET)
#error DEPENDENCY ERROR: Missing setting POWER_OFFSET
#endif
#if DISABLED(POWER_ZERO)
#error DEPENDENCY ERROR: Missing setting POWER_ZERO
#endif
#if DISABLED(POWER_ERROR)
#error DEPENDENCY ERROR: Missing setting POWER_ERROR
#endif
#if DISABLED(POWER_EFFICIENCY)
#error DEPENDENCY ERROR: Missing setting POWER_EFFICIENCY
#endif
#endif
//addon
#if ENABLED(SDSUPPORT)
#if DISABLED(SD_FINISHED_STEPPERRELEASE)
#error DEPENDENCY ERROR: Missing setting SD_FINISHED_STEPPERRELEASE
#endif
#if DISABLED(SD_FINISHED_RELEASECOMMAND)
#error DEPENDENCY ERROR: Missing setting SD_FINISHED_RELEASECOMMAND
#endif
#if ENABLED(SD_SETTINGS)
#if DISABLED(SD_CFG_SECONDS)
#error DEPENDENCY ERROR: Missing setting SD_CFG_SECONDS
#endif
#if DISABLED(CFG_SD_FILE)
#error DEPENDENCY ERROR: Missing setting CFG_SD_FILE
#endif
#if DISABLED(CFG_SD_MAX_KEY_LEN)
#error DEPENDENCY ERROR: Missing setting CFG_SD_MAX_KEY_LEN
#endif
#if DISABLED(CFG_SD_MAX_VALUE_LEN)
#error DEPENDENCY ERROR: Missing setting CFG_SD_MAX_VALUE_LEN
#endif
#endif
#endif
#if DISABLED(DISPLAY_CHARSET_HD44780_JAPAN) && DISABLED(DISPLAY_CHARSET_HD44780_WESTERN) && DISABLED(DISPLAY_CHARSET_HD44780_CYRILLIC)
#error DEPENDENCY ERROR: Missing setting DISPLAY_CHARSET_HD44780_JAPAN or DISPLAY_CHARSET_HD44780_WESTERN or DISPLAY_CHARSET_HD44780_CYRILLIC
#endif
#if ENABLED(SHOW_BOOTSCREEN)
#if DISABLED(STRING_SPLASH_LINE1)
#error DEPENDENCY ERROR: Missing setting STRING_SPLASH_LINE1
#endif
#if DISABLED(SPLASH_SCREEN_DURATION)
#error DEPENDENCY ERROR: Missing setting SPLASH_SCREEN_DURATION
#endif
#endif
#if ENABLED(ENCODER_RATE_MULTIPLIER)
#if DISABLED(ENCODER_10X_STEPS_PER_SEC)
#error DEPENDENCY ERROR: Missing setting ENCODER_10X_STEPS_PER_SEC
#endif
#if DISABLED(ENCODER_100X_STEPS_PER_SEC)
#error DEPENDENCY ERROR: Missing setting ENCODER_100X_STEPS_PER_SEC
#endif
#endif
#if MB(ALLIGATOR)
#if DISABLED(UI_VOLTAGE_LEVEL)
#error DEPENDENCY ERROR: Missing setting UI_VOLTAGE_LEVEL
#endif
#endif
#if ENABLED(REPRAPWORLD_KEYPAD)
#if DISABLED(REPRAPWORLD_KEYPAD_MOVE_STEP)
#error DEPENDENCY ERROR: Missing setting REPRAPWORLD_KEYPAD_MOVE_STEP
#endif
#endif
#if ENABLED(LCD_PROGRESS_BAR)
#if DISABLED(PROGRESS_BAR_BAR_TIME)
#error DEPENDENCY ERROR: Missing setting PROGRESS_BAR_BAR_TIME
#endif
#if DISABLED(PROGRESS_BAR_MSG_TIME)
#error DEPENDENCY ERROR: Missing setting PROGRESS_BAR_MSG_TIME
#endif
#if DISABLED(PROGRESS_MSG_EXPIRE)
#error DEPENDENCY ERROR: Missing setting PROGRESS_MSG_EXPIRE
#endif
#endif
#if ENABLED(CHDK)
#if DISABLED(CHDK_DELAY)
#error DEPENDENCY ERROR: Missing setting CHDK_DELAY
#endif
#endif
//adv motion
#if ENABLED(DIGIPOT_I2C)
#if DISABLED(DIGIPOT_I2C_NUM_CHANNELS)
#error DEPENDENCY ERROR: Missing setting DIGIPOT_I2C_NUM_CHANNELS
#endif
#if DISABLED(DIGIPOT_I2C_MOTOR_CURRENTS)
#error DEPENDENCY ERROR: Missing setting DIGIPOT_I2C_MOTOR_CURRENTS
#endif
#endif
#if ENABLED(HAVE_TMCDRIVER)
#if ENABLED(X_IS_TMC)
#if DISABLED(X_MAX_CURRENT)
#error DEPENDENCY ERROR: Missing setting X_MAX_CURRENT
#endif
#if DISABLED(X_SENSE_RESISTOR)
#error DEPENDENCY ERROR: Missing setting X_SENSE_RESISTOR
#endif
#if DISABLED(X_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting X_MICROSTEPS
#endif
#endif
#if ENABLED(X2_IS_TMC)
#if DISABLED(X2_MAX_CURRENT)
#error DEPENDENCY ERROR: Missing setting X2_MAX_CURRENT
#endif
#if DISABLED(X2_SENSE_RESISTOR)
#error DEPENDENCY ERROR: Missing setting X2_SENSE_RESISTOR
#endif
#if DISABLED(X2_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting X2_MICROSTEPS
#endif
#endif
#if ENABLED(Y_IS_TMC)
#if DISABLED(Y_MAX_CURRENT)
#error DEPENDENCY ERROR: Missing setting Y_MAX_CURRENT
#endif
#if DISABLED(Y_SENSE_RESISTOR)
#error DEPENDENCY ERROR: Missing setting Y_SENSE_RESISTOR
#endif
#if DISABLED(Y_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting Y_MICROSTEPS
#endif
#endif
#if ENABLED(Y2_IS_TMC)
#if DISABLED(Y2_MAX_CURRENT)
#error DEPENDENCY ERROR: Missing setting Y2_MAX_CURRENT
#endif
#if DISABLED(Y2_SENSE_RESISTOR)
#error DEPENDENCY ERROR: Missing setting Y2_SENSE_RESISTOR
#endif
#if DISABLED(Y2_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting Y2_MICROSTEPS
#endif
#endif
#if ENABLED(Z_IS_TMC)
#if DISABLED(Z_MAX_CURRENT)
#error DEPENDENCY ERROR: Missing setting Z_MAX_CURRENT
#endif
#if DISABLED(Z_SENSE_RESISTOR)
#error DEPENDENCY ERROR: Missing setting Z_SENSE_RESISTOR
#endif
#if DISABLED(Z_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting Z_MICROSTEPS
#endif
#endif
#if ENABLED(Z2_IS_TMC)
#if DISABLED(Z2_MAX_CURRENT)
#error DEPENDENCY ERROR: Missing setting Z2_MAX_CURRENT
#endif
#if DISABLED(Z2_SENSE_RESISTOR)
#error DEPENDENCY ERROR: Missing setting Z2_SENSE_RESISTOR
#endif
#if DISABLED(Z2_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting Z2_MICROSTEPS
#endif
#endif
#if ENABLED(E0_IS_TMC)
#if DISABLED(E0_MAX_CURRENT)
#error DEPENDENCY ERROR: Missing setting E0_MAX_CURRENT
#endif
#if DISABLED(E0_SENSE_RESISTOR)
#error DEPENDENCY ERROR: Missing setting E0_SENSE_RESISTOR
#endif
#if DISABLED(E0_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting E0_MICROSTEPS
#endif
#endif
#if ENABLED(E1_IS_TMC)
#if DISABLED(E1_MAX_CURRENT)
#error DEPENDENCY ERROR: Missing setting E1_MAX_CURRENT
#endif
#if DISABLED(E1_SENSE_RESISTOR)
#error DEPENDENCY ERROR: Missing setting E1_SENSE_RESISTOR
#endif
#if DISABLED(E1_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting E1_MICROSTEPS
#endif
#endif
#if ENABLED(E2_IS_TMC)
#if DISABLED(E2_MAX_CURRENT)
#error DEPENDENCY ERROR: Missing setting E2_MAX_CURRENT
#endif
#if DISABLED(E2_SENSE_RESISTOR)
#error DEPENDENCY ERROR: Missing setting E2_SENSE_RESISTOR
#endif
#if DISABLED(E2_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting E2_MICROSTEPS
#endif
#endif
#if ENABLED(E3_IS_TMC)
#if DISABLED(E3_MAX_CURRENT)
#error DEPENDENCY ERROR: Missing setting E3_MAX_CURRENT
#endif
#if DISABLED(E3_SENSE_RESISTOR)
#error DEPENDENCY ERROR: Missing setting E3_SENSE_RESISTOR
#endif
#if DISABLED(E3_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting E3_MICROSTEPS
#endif
#endif
#endif
#if ENABLED(HAVE_L6470DRIVER)
#if ENABLED(X_IS_L6470)
#if DISABLED(X_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting X_MICROSTEPS
#endif
#if DISABLED(X_K_VAL)
#error DEPENDENCY ERROR: Missing setting X_K_VAL
#endif
#if DISABLED(X_OVERCURRENT)
#error DEPENDENCY ERROR: Missing setting X_OVERCURRENT
#endif
#if DISABLED(X_STALLCURRENT)
#error DEPENDENCY ERROR: Missing setting X_STALLCURRENT
#endif
#endif
#if ENABLED(X2_IS_L6470)
#if DISABLED(X2_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting X2_MICROSTEPS
#endif
#if DISABLED(X2_K_VAL)
#error DEPENDENCY ERROR: Missing setting X2_K_VAL
#endif
#if DISABLED(X2_OVERCURRENT)
#error DEPENDENCY ERROR: Missing setting X2_OVERCURRENT
#endif
#if DISABLED(X2_STALLCURRENT)
#error DEPENDENCY ERROR: Missing setting X2_STALLCURRENT
#endif
#endif
#if ENABLED(Y_IS_L6470)
#if DISABLED(Y_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting Y_MICROSTEPS
#endif
#if DISABLED(Y_K_VAL)
#error DEPENDENCY ERROR: Missing setting Y_K_VAL
#endif
#if DISABLED(Y_OVERCURRENT)
#error DEPENDENCY ERROR: Missing setting Y_OVERCURRENT
#endif
#if DISABLED(Y_STALLCURRENT)
#error DEPENDENCY ERROR: Missing setting Y_STALLCURRENT
#endif
#endif
#if ENABLED(Y2_IS_L6470)
#if DISABLED(Y2_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting Y2_MICROSTEPS
#endif
#if DISABLED(Y2_K_VAL)
#error DEPENDENCY ERROR: Missing setting Y2_K_VAL
#endif
#if DISABLED(Y2_OVERCURRENT)
#error DEPENDENCY ERROR: Missing setting Y2_OVERCURRENT
#endif
#if DISABLED(Y2_STALLCURRENT)
#error DEPENDENCY ERROR: Missing setting Y2_STALLCURRENT
#endif
#endif
#if ENABLED(Z_IS_L6470)
#if DISABLED(Z_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting Z_MICROSTEPS
#endif
#if DISABLED(Z_K_VAL)
#error DEPENDENCY ERROR: Missing setting Z_K_VAL
#endif
#if DISABLED(Z_OVERCURRENT)
#error DEPENDENCY ERROR: Missing setting Z_OVERCURRENT
#endif
#if DISABLED(Z_STALLCURRENT)
#error DEPENDENCY ERROR: Missing setting Z_STALLCURRENT
#endif
#endif
#if ENABLED(Z2_IS_L6470)
#if DISABLED(Z2_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting Z2_MICROSTEPS
#endif
#if DISABLED(Z2_K_VAL)
#error DEPENDENCY ERROR: Missing setting Z2_K_VAL
#endif
#if DISABLED(Z2_OVERCURRENT)
#error DEPENDENCY ERROR: Missing setting Z2_OVERCURRENT
#endif
#if DISABLED(Z2_STALLCURRENT)
#error DEPENDENCY ERROR: Missing setting Z2_STALLCURRENT
#endif
#endif
#if ENABLED(E0_IS_L6470)
#if DISABLED(E0_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting E0_MICROSTEPS
#endif
#if DISABLED(E0_K_VAL)
#error DEPENDENCY ERROR: Missing setting E0_K_VAL
#endif
#if DISABLED(E0_OVERCURRENT)
#error DEPENDENCY ERROR: Missing setting E0_OVERCURRENT
#endif
#if DISABLED(E0_STALLCURRENT)
#error DEPENDENCY ERROR: Missing setting E0_STALLCURRENT
#endif
#endif
#if ENABLED(E1_IS_L6470)
#if DISABLED(E1_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting E1_MICROSTEPS
#endif
#if DISABLED(E1_K_VAL)
#error DEPENDENCY ERROR: Missing setting E1_K_VAL
#endif
#if DISABLED(E1_OVERCURRENT)
#error DEPENDENCY ERROR: Missing setting E1_OVERCURRENT
#endif
#if DISABLED(E1_STALLCURRENT)
#error DEPENDENCY ERROR: Missing setting E1_STALLCURRENT
#endif
#endif
#if ENABLED(E2_IS_L6470)
#if DISABLED(E2_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting E2_MICROSTEPS
#endif
#if DISABLED(E2_K_VAL)
#error DEPENDENCY ERROR: Missing setting E2_K_VAL
#endif
#if DISABLED(E2_OVERCURRENT)
#error DEPENDENCY ERROR: Missing setting E2_OVERCURRENT
#endif
#if DISABLED(E2_STALLCURRENT)
#error DEPENDENCY ERROR: Missing setting E2_STALLCURRENT
#endif
#endif
#if ENABLED(E3_IS_L6470)
#if DISABLED(E3_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting E3_MICROSTEPS
#endif
#if DISABLED(E3_K_VAL)
#error DEPENDENCY ERROR: Missing setting E3_K_VAL
#endif
#if DISABLED(E3_OVERCURRENT)
#error DEPENDENCY ERROR: Missing setting E3_OVERCURRENT
#endif
#if DISABLED(E3_STALLCURRENT)
#error DEPENDENCY ERROR: Missing setting E3_STALLCURRENT
#endif
#endif
#endif
//buffer
#if DISABLED(BLOCK_BUFFER_SIZE)
#error DEPENDENCY ERROR: Missing setting BLOCK_BUFFER_SIZE
#endif
#if DISABLED(MAX_CMD_SIZE)
#error DEPENDENCY ERROR: Missing setting MAX_CMD_SIZE
#endif
#if DISABLED(BUFSIZE)
#error DEPENDENCY ERROR: Missing setting BUFSIZE
#endif
#if DISABLED(NUM_POSITON_SLOTS)
#error DEPENDENCY ERROR: Missing setting NUM_POSITON_SLOTS
#endif
#if DISABLED(DROP_SEGMENTS)
#error DEPENDENCY ERROR: Missing setting DROP_SEGMENTS
#endif
#if DISABLED(DROP_SEGMENTS)
#error DEPENDENCY ERROR: Missing setting DROP_SEGMENTS
#endif
#if DISABLED(DEFAULT_MINSEGMENTTIME)
#error DEPENDENCY ERROR: Missing setting DEFAULT_MINSEGMENTTIME
#endif
#if DISABLED(MM_PER_ARC_SEGMENT)
#error DEPENDENCY ERROR: Missing setting MM_PER_ARC_SEGMENT
#endif
#if DISABLED(N_ARC_CORRECTION)
#error DEPENDENCY ERROR: Missing setting N_ARC_CORRECTION
#endif
#endif
\ No newline at end of file
......@@ -66,10 +66,6 @@
#define BUILD_VERSION "V4; MarlinKimbra for 4 extruder"
#endif
#if DISABLED(MACHINE_UUID)
#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
#endif
#define STRINGIFY_(n) #n
#define STRINGIFY(n) STRINGIFY_(n)
......
......@@ -2514,7 +2514,6 @@
#define SDPOWER -1
#define SDSS 77 // PA28
#define SD_DETECT_PIN 87 // PA29
#define SD_DETECT_INVERTED false
#define LED_PIN -1
#define ORIG_FAN_PIN 92 // PA5
......@@ -2741,11 +2740,6 @@
#define DOGLCD_CS 29
#define LCD_CONTRAST 1
#endif
// Uncomment screen orientation
#define LCD_SCREEN_ROT_0
// #define LCD_SCREEN_ROT_90
// #define LCD_SCREEN_ROT_180
// #define LCD_SCREEN_ROT_270
#else // standard Hitachi LCD controller
#define LCD_PINS_RS 4
#define LCD_PINS_ENABLE 17
......@@ -2782,11 +2776,6 @@
#define LCD_PIN_BL 28 // backlight LED on PA3
// GLCD features
#define LCD_CONTRAST 1
// Uncomment screen orientation
#define LCD_SCREEN_ROT_0
// #define LCD_SCREEN_ROT_90
// #define LCD_SCREEN_ROT_180
// #define LCD_SCREEN_ROT_270
//The encoder and click button
#define BTN_EN1 11
#define BTN_EN2 10
......
......@@ -591,7 +591,7 @@ float junction_deviation = 0.1;
block->step_event_count = max(block->steps[X_AXIS], max(block->steps[Y_AXIS], max(block->steps[Z_AXIS], block->steps[E_AXIS])));
// Bail if this is a zero-length block
if (block->step_event_count <= dropsegments) return;
if (block->step_event_count <= DROP_SEGMENTS) return;
block->fan_speed = fanSpeed;
#if ENABLED(BARICUDA)
......@@ -769,7 +769,7 @@ float junction_deviation = 0.1;
#endif
delta_mm[E_AXIS] = (de / axis_steps_per_unit[E_AXIS + extruder]) * volumetric_multiplier[extruder] * extruder_multiplier[extruder] / 100.0;
if (block->steps[X_AXIS] <= dropsegments && block->steps[Y_AXIS] <= dropsegments && block->steps[Z_AXIS] <= dropsegments) {
if (block->steps[X_AXIS] <= DROP_SEGMENTS && block->steps[Y_AXIS] <= DROP_SEGMENTS && block->steps[Z_AXIS] <= DROP_SEGMENTS) {
block->millimeters = fabs(delta_mm[E_AXIS]);
}
else {
......
......@@ -673,7 +673,7 @@ ISR(TIMER1_COMPA_vect) {
STEP_START(e,E);
#endif
#if ENABLED(STEPPER_HIGH_LOW_DELAY)
#if ENABLED(STEPPER_HIGH_LOW_DELAY) && STEPPER_HIGH_LOW_DELAY > 0
delayMicroseconds(STEPPER_HIGH_LOW_DELAY);
#endif
......
......@@ -178,10 +178,6 @@ static void updateTemperaturesFromRawValues();
millis_t watch_heater_next_ms[HOTENDS] = { 0 };
#endif
#if DISABLED(SOFT_PWM_SCALE)
#define SOFT_PWM_SCALE 0
#endif
#if ENABLED(FILAMENT_SENSOR)
static int meas_shift_index; //used to point to a delayed sample in buffer for filament width sensor
#endif
......@@ -751,7 +747,24 @@ static float analog2temp(int raw, uint8_t e) {
return celsius;
}
return ((raw * ((5.0 * 100.0) / 1024.0) / OVERSAMPLENR) * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET;
switch(e) {
#if TEMP_SENSOR_BED
case -1: return ((raw * ((5.0 * 100.0) / 1024.0) / OVERSAMPLENR) * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET;
#endif
#if HEATER_0_USES_AD595
case 0: return ((raw * ((5.0 * 100.0) / 1024.0) / OVERSAMPLENR) * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET;
#endif
#if HEATER_1_USES_AD595
case 1: return ((raw * ((5.0 * 100.0) / 1024.0) / OVERSAMPLENR) * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET;
#endif
#if HEATER_2_USES_AD595
case 2: return ((raw * ((5.0 * 100.0) / 1024.0) / OVERSAMPLENR) * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET;
#endif
#if HEATER_3_USES_AD595
case 3: return ((raw * ((5.0 * 100.0) / 1024.0) / OVERSAMPLENR) * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET;
#endif
}
return (raw * ((5.0 * 100.0) / 1024.0) / OVERSAMPLENR);
}
// Derived from RepRap FiveD extruder::getTemperature()
......
......@@ -1070,7 +1070,7 @@ const short temptable_1047[][2] PROGMEM = {
#if (THERMISTORHEATER_0 == 998) || (THERMISTORHEATER_1 == 998) || (THERMISTORHEATER_2 == 998) || (THERMISTORHEATER_3 == 998) || (THERMISTORBED == 998) //User defined table
// Dummy Thermistor table.. It will ALWAYS read a fixed value.
#if DISABLED(UMMY_THERMISTOR_998_VALUE)
#if DISABLED(DUMMY_THERMISTOR_998_VALUE)
#define DUMMY_THERMISTOR_998_VALUE 25
#endif
const short temptable_998[][2] PROGMEM = {
......
......@@ -929,8 +929,8 @@ static void _lcd_move(const char *name, AxisEnum axis, int min, int max) {
if (encoderPosition != 0) {
refresh_cmd_timeout();
current_position[axis] += float((int)encoderPosition) * move_menu_scale;
if (min_software_endstops && current_position[axis] < min) current_position[axis] = min;
if (max_software_endstops && current_position[axis] > max) current_position[axis] = max;
if (SOFTWARE_MIN_ENDSTOPS && current_position[axis] < min) current_position[axis] = min;
if (SOFTWARE_MAX_ENDSTOPS && current_position[axis] > max) current_position[axis] = max;
encoderPosition = 0;
line_to_current(manual_feedrate[axis]);
lcdDrawUpdate = 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment