Commit fa734abf authored by MagoKimbra's avatar MagoKimbra

FIX ENABLED and DISABLED

parent 0fa71d48
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
/* /*
* This configuration file contains mechanism settings for cartesian printer. * This configuration file contains mechanism settings for cartesian printer.
* *
* - Core settings
* - Machine name * - Machine name
* - Core settings
* - Endstop pullup resistors * - Endstop pullup resistors
* - Endstops logic * - Endstops logic
* - Endstops min or max * - Endstops min or max
...@@ -28,20 +28,6 @@ ...@@ -28,20 +28,6 @@
* Pins-settings can be found in "Configuration_Pins.h" * Pins-settings can be found in "Configuration_Pins.h"
*/ */
/*****************************************************************************************
************************************* Core settings *************************************
/****************************************************************************************/
//This define the moltiplicator axis from X to Y or Z in COREXY or COREXZ.
//Example:
//COREXY set COREX_XZ_FACTOR 1
//The result is:
//X = dX + COREX_YZ_FACTOR * dY = dX + 1 * dY = dX + dY
//Y = dX - COREX_YZ_FACTOR * dY = dX - 1 * dY = dX - dY
//Z = dZ
#define COREX_YZ_FACTOR 1
/*****************************************************************************************/
/***************************************************************************************** /*****************************************************************************************
************************************* Machine name ************************************** ************************************* Machine name **************************************
***************************************************************************************** *****************************************************************************************
...@@ -54,6 +40,27 @@ ...@@ -54,6 +40,27 @@
/*****************************************************************************************/ /*****************************************************************************************/
/*****************************************************************************************
************************************* Core settings *************************************
*****************************************************************************************
* This define the moltiplicator axis from X to Y or Z in COREXY or COREXZ. *
* Example: *
* COREXY set COREX_XZ_FACTOR 1 *
* The result is: *
* X = dX + COREX_YZ_FACTOR * dY = dX + 1 * dY = dX + dY *
* Y = dX - COREX_YZ_FACTOR * dY = dX - 1 * dY = dX - dY *
* Z = dZ *
* *
* COREXZ set COREX_XZ_FACTOR -3 *
* The result is: *
* X = dX + COREX_YZ_FACTOR * dZ = dX + -3 * dZ = dX - 3dZ *
* Y = dY *
* Z = dX - COREX_YZ_FACTOR * dZ = dX - -3 * dZ = dX + 3dZ *
******************************************************************************************/
#define COREX_YZ_FACTOR 1
/*****************************************************************************************/
/***************************************************************************************** /*****************************************************************************************
****************************** Endstop pullup resistors ********************************* ****************************** Endstop pullup resistors *********************************
*****************************************************************************************/ *****************************************************************************************/
......
#ifndef CONFIGURATION_MECHANISM
* Pins-settings can be found in "Configuration_Pins.h"#ifndef CONFIGURATION_MECHANISM
#define CONFIGURATION_MECHANISM #define CONFIGURATION_MECHANISM
#define KNOWN_MECH 1 #define KNOWN_MECH 1
/* /*
* This configuration file contains mechanism settings for cartesian printer. * This configuration file contains mechanism settings for cartesian printer.
* *
* - Delta settings
* - Machine name * - Machine name
* - Delta settings
* - Endstop pullup resistors * - Endstop pullup resistors
* - Endstops logic * - Endstops logic
* - Endstops min or max * - Endstops min or max
...@@ -29,6 +28,18 @@ ...@@ -29,6 +28,18 @@
* Pins-settings can be found in "Configuration_Pins.h" * Pins-settings can be found in "Configuration_Pins.h"
*/ */
/*****************************************************************************************
************************************* Machine name **************************************
*****************************************************************************************
* *
* This to set a custom name for your generic Mendel. *
* Displayed in the LCD "Ready" message. *
* *
*****************************************************************************************/
#define CUSTOM_MACHINE_NAME "Prusa"
/*****************************************************************************************/
/***************************************************************************************** /*****************************************************************************************
******************************** Delta configuration ************************************ ******************************** Delta configuration ************************************
****************************************************************************************/ ****************************************************************************************/
...@@ -96,18 +107,6 @@ ...@@ -96,18 +107,6 @@
/*****************************************************************************************/ /*****************************************************************************************/
/*****************************************************************************************
************************************* Machine name **************************************
*****************************************************************************************
* *
* This to set a custom name for your generic Mendel. *
* Displayed in the LCD "Ready" message. *
* *
*****************************************************************************************/
#define CUSTOM_MACHINE_NAME "Prusa"
/*****************************************************************************************/
/***************************************************************************************** /*****************************************************************************************
****************************** Endstop pullup resistors ********************************* ****************************** Endstop pullup resistors *********************************
*****************************************************************************************/ *****************************************************************************************/
...@@ -228,6 +227,25 @@ ...@@ -228,6 +227,25 @@
/*****************************************************************************************/ /*****************************************************************************************/
/*****************************************************************************************
******************************** Manual home positions **********************************
/*****************************************************************************************
* *
* Manual Bed Leveling (MBL) or Auto Bed Leveling (ABL) settings *
* Set the rectangle in which to probe in MBL or ABL. *
* *
*****************************************************************************************/
// The position of the homing switches
#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used
#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0)
//Manual homing switch locations:
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 200 // Distance between nozzle and print surface after homing.
/*****************************************************************************************/
/***************************************************************************************** /*****************************************************************************************
************************************ Travel limits ************************************** ************************************ Travel limits **************************************
***************************************************************************************** *****************************************************************************************
...@@ -252,25 +270,6 @@ ...@@ -252,25 +270,6 @@
/*****************************************************************************************/ /*****************************************************************************************/
/*****************************************************************************************
******************************** Manual home positions **********************************
/*****************************************************************************************
* *
* Manual Bed Leveling (MBL) or Auto Bed Leveling (ABL) settings *
* Set the rectangle in which to probe in MBL or ABL. *
* *
*****************************************************************************************/
// The position of the homing switches
#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used
#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0)
//Manual homing switch locations:
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 200 // Distance between nozzle and print surface after homing.
/*****************************************************************************************/
/***************************************************************************************** /*****************************************************************************************
******************************* Axis steps per unit ************************************* ******************************* Axis steps per unit *************************************
*****************************************************************************************/ *****************************************************************************************/
......
...@@ -58,17 +58,17 @@ ...@@ -58,17 +58,17 @@
#define TEMP_BED_PIN ORIG_TEMP_BED_PIN #define TEMP_BED_PIN ORIG_TEMP_BED_PIN
//FAN pin //FAN pin
#define FAN_PIN ORIG_FAN_PIN #define FAN_PIN ORIG_FAN_PIN
//============================================================================ //==================================================================
//=========================== FEATURE ============================== //=========================== FEATURE ==============================
#if ENABLED(MKR4) #if ENABLED(MKR4)
#define E0E1_CHOICE_PIN -1 #define E0E1_CHOICE_PIN -1
#define E0E2_CHOICE_PIN -1 #define E0E2_CHOICE_PIN -1
#define E0E3_CHOICE_PIN -1 #define E0E3_CHOICE_PIN -1
#define E1E3_CHOICE_PIN -1 #define E1E3_CHOICE_PIN -1
#endif //MKR4 #endif //MKR4
#if ENABLED(NPR2) #if ENABLED(NPR2)
...@@ -113,13 +113,17 @@ ...@@ -113,13 +113,17 @@
#if ENABLED(X2_IS_TMC) #if ENABLED(X2_IS_TMC)
#define X2_ENABLE_PIN -1 #define X2_ENABLE_PIN -1
#define X2_STEP_PIN -1 #define X2_STEP_PIN -1
#define X2_DIR_PIN -1 #define X2_DIR_PIN -1
#endif #endif
#if ENABLED(Z_PROBE_SLED) #if ENABLED(Z_PROBE_SLED)
#define SLED_PIN -1 #define SLED_PIN -1
#endif #endif
//============================================================================ #if ENABLED(Z_PROBE_ENDSTOP)
#define Z_PROBE_PIN -1
#endif
//====================================================================
#endif #endif
\ No newline at end of file
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
/* /*
* This configuration file contains mechanism settings for cartesian printer. * This configuration file contains mechanism settings for cartesian printer.
* *
* - Scara settings
* - Machine name * - Machine name
* - Scara settings
* - Endstop pullup resistors * - Endstop pullup resistors
* - Endstops logic * - Endstops logic
* - Endstops min or max * - Endstops min or max
...@@ -29,6 +29,18 @@ ...@@ -29,6 +29,18 @@
* Pins-settings can be found in "Configuration_Pins.h" * Pins-settings can be found in "Configuration_Pins.h"
*/ */
/*****************************************************************************************
************************************* Machine name **************************************
*****************************************************************************************
* *
* This to set a custom name for your generic Mendel. *
* Displayed in the LCD "Ready" message. *
* *
*****************************************************************************************/
#define CUSTOM_MACHINE_NAME "Scara"
/*****************************************************************************************/
/***************************************************************************************** /*****************************************************************************************
************************************* Scara settings ************************************* ************************************* Scara settings *************************************
/****************************************************************************************/ /****************************************************************************************/
...@@ -54,18 +66,6 @@ ...@@ -54,18 +66,6 @@
/*****************************************************************************************/ /*****************************************************************************************/
/*****************************************************************************************
************************************* Machine name **************************************
*****************************************************************************************
* *
* This to set a custom name for your generic Mendel. *
* Displayed in the LCD "Ready" message. *
* *
*****************************************************************************************/
#define CUSTOM_MACHINE_NAME "Scara"
/*****************************************************************************************/
/***************************************************************************************** /*****************************************************************************************
****************************** Endstop pullup resistors ********************************* ****************************** Endstop pullup resistors *********************************
*****************************************************************************************/ *****************************************************************************************/
......
...@@ -816,7 +816,7 @@ void setup() { ...@@ -816,7 +816,7 @@ void setup() {
ECHO_LM(DB, MSG_MARLIN " " BUILD_VERSION); ECHO_LM(DB, MSG_MARLIN " " BUILD_VERSION);
#if EXIST(STRING_DISTRIBUTION_DATE) && EXIST(STRING_CONFIG_H_AUTHOR) #if ENABLED(STRING_DISTRIBUTION_DATE) && ENABLED(STRING_CONFIG_H_AUTHOR)
ECHO_LM(DB, MSG_CONFIGURATION_VER STRING_DISTRIBUTION_DATE MSG_AUTHOR STRING_CONFIG_H_AUTHOR); ECHO_LM(DB, MSG_CONFIGURATION_VER STRING_DISTRIBUTION_DATE MSG_AUTHOR STRING_CONFIG_H_AUTHOR);
ECHO_LM(DB, MSG_COMPILED __DATE__); ECHO_LM(DB, MSG_COMPILED __DATE__);
#endif // STRING_DISTRIBUTION_DATE #endif // STRING_DISTRIBUTION_DATE
...@@ -946,7 +946,7 @@ void get_command() { ...@@ -946,7 +946,7 @@ void get_command() {
if (drain_queued_commands_P()) return; // priority is given to non-serial commands if (drain_queued_commands_P()) return; // priority is given to non-serial commands
#if EXIST(NO_TIMEOUTS) #if ENABLED(NO_TIMEOUTS)
static millis_t last_command_time = 0; static millis_t last_command_time = 0;
millis_t ms = millis(); millis_t ms = millis();
...@@ -961,7 +961,7 @@ void get_command() { ...@@ -961,7 +961,7 @@ void get_command() {
// //
while (MYSERIAL.available() > 0 && commands_in_queue < BUFSIZE) { while (MYSERIAL.available() > 0 && commands_in_queue < BUFSIZE) {
#if EXIST(NO_TIMEOUTS) #if ENABLED(NO_TIMEOUTS)
last_command_time = ms; last_command_time = ms;
#endif #endif
...@@ -3744,7 +3744,8 @@ inline void gcode_G28() { ...@@ -3744,7 +3744,8 @@ inline void gcode_G28() {
clean_up_after_endstop_move(); clean_up_after_endstop_move();
// solve lsq problem // solve lsq problem
double *plane_equation_coefficients = qr_solve(abl2, 3, eqnAMatrix, eqnBVector); double plane_equation_coefficients[3];
qr_solve(plane_equation_coefficients, abl2, 3, eqnAMatrix, eqnBVector);
if (verbose_level) { if (verbose_level) {
ECHO_SMV(DB, "Eqn coefficients: a: ", plane_equation_coefficients[0], 8); ECHO_SMV(DB, "Eqn coefficients: a: ", plane_equation_coefficients[0], 8);
...@@ -3753,7 +3754,6 @@ inline void gcode_G28() { ...@@ -3753,7 +3754,6 @@ inline void gcode_G28() {
} }
if (!dryrun) set_bed_level_equation_lsq(plane_equation_coefficients); if (!dryrun) set_bed_level_equation_lsq(plane_equation_coefficients);
free(plane_equation_coefficients);
matrix_3x3 inverse_bed_level_matrix = matrix_3x3::transpose(plan_bed_level_matrix); // inverse bed level matrix matrix_3x3 inverse_bed_level_matrix = matrix_3x3::transpose(plan_bed_level_matrix); // inverse bed level matrix
// In the special case of an rotation matrix "the inverse" = "the transposed" matrix. // In the special case of an rotation matrix "the inverse" = "the transposed" matrix.
...@@ -5157,14 +5157,14 @@ inline void gcode_M105() { ...@@ -5157,14 +5157,14 @@ inline void gcode_M105() {
#endif #endif
ECHO_M(" " MSG_AT); ECHO_M(" " MSG_AT);
#if EXIST(HOTEND_WATTS) #if ENABLED(HOTEND_WATTS)
ECHO_VM((HOTEND_WATTS * getHeaterPower(target_extruder))/127, "W"); ECHO_VM((HOTEND_WATTS * getHeaterPower(target_extruder))/127, "W");
#else #else
ECHO_V(getHeaterPower(target_extruder)); ECHO_V(getHeaterPower(target_extruder));
#endif #endif
ECHO_M(" " MSG_BAT); ECHO_M(" " MSG_BAT);
#if EXIST(BED_WATTS) #if ENABLED(BED_WATTS)
ECHO_VM((BED_WATTS * getHeaterPower(-1))/127, "W"); ECHO_VM((BED_WATTS * getHeaterPower(-1))/127, "W");
#else #else
ECHO_V(getHeaterPower(-1)); ECHO_V(getHeaterPower(-1));
...@@ -6332,7 +6332,7 @@ inline void gcode_M503() { ...@@ -6332,7 +6332,7 @@ inline void gcode_M503() {
//retract by E //retract by E
if (code_seen('E')) destination[E_AXIS] += code_value(); if (code_seen('E')) destination[E_AXIS] += code_value();
#if EXIST(FILAMENTCHANGE_FIRSTRETRACT) #if ENABLED(FILAMENTCHANGE_FIRSTRETRACT)
else destination[E_AXIS] += FILAMENTCHANGE_FIRSTRETRACT; else destination[E_AXIS] += FILAMENTCHANGE_FIRSTRETRACT;
#endif #endif
...@@ -6340,7 +6340,7 @@ inline void gcode_M503() { ...@@ -6340,7 +6340,7 @@ inline void gcode_M503() {
//lift Z //lift Z
if (code_seen('Z')) destination[Z_AXIS] += code_value(); if (code_seen('Z')) destination[Z_AXIS] += code_value();
#if EXIST(FILAMENTCHANGE_ZADD) #if ENABLED(FILAMENTCHANGE_ZADD)
else destination[Z_AXIS] += FILAMENTCHANGE_ZADD; else destination[Z_AXIS] += FILAMENTCHANGE_ZADD;
#endif #endif
...@@ -6348,19 +6348,19 @@ inline void gcode_M503() { ...@@ -6348,19 +6348,19 @@ inline void gcode_M503() {
//move xy //move xy
if (code_seen('X')) destination[X_AXIS] = code_value(); if (code_seen('X')) destination[X_AXIS] = code_value();
#if EXIST(FILAMENTCHANGE_XPOS) #if ENABLED(FILAMENTCHANGE_XPOS)
else destination[X_AXIS] = FILAMENTCHANGE_XPOS; else destination[X_AXIS] = FILAMENTCHANGE_XPOS;
#endif #endif
if (code_seen('Y')) destination[Y_AXIS] = code_value(); if (code_seen('Y')) destination[Y_AXIS] = code_value();
#if EXIST(FILAMENTCHANGE_YPOS) #if ENABLED(FILAMENTCHANGE_YPOS)
else destination[Y_AXIS] = FILAMENTCHANGE_YPOS; else destination[Y_AXIS] = FILAMENTCHANGE_YPOS;
#endif #endif
RUNPLAN RUNPLAN
if (code_seen('L')) destination[E_AXIS] += code_value(); if (code_seen('L')) destination[E_AXIS] += code_value();
#if EXIST(FILAMENTCHANGE_FINALRETRACT) #if ENABLED(FILAMENTCHANGE_FINALRETRACT)
else destination[E_AXIS] += FILAMENTCHANGE_FINALRETRACT; else destination[E_AXIS] += FILAMENTCHANGE_FINALRETRACT;
#endif #endif
...@@ -6425,7 +6425,7 @@ inline void gcode_M503() { ...@@ -6425,7 +6425,7 @@ inline void gcode_M503() {
//return to normal //return to normal
if (code_seen('L')) destination[E_AXIS] -= code_value(); if (code_seen('L')) destination[E_AXIS] -= code_value();
#if EXIST(FILAMENTCHANGE_FINALRETRACT) #if ENABLED(FILAMENTCHANGE_FINALRETRACT)
else destination[E_AXIS] -= FILAMENTCHANGE_FINALRETRACT; else destination[E_AXIS] -= FILAMENTCHANGE_FINALRETRACT;
#endif #endif
...@@ -6613,13 +6613,13 @@ inline void gcode_M907() { ...@@ -6613,13 +6613,13 @@ inline void gcode_M907() {
if (code_seen('B')) digipot_current(4, code_value()); if (code_seen('B')) digipot_current(4, code_value());
if (code_seen('S')) for (int i=0; i<=4; i++) digipot_current(i, code_value()); if (code_seen('S')) for (int i=0; i<=4; i++) digipot_current(i, code_value());
#endif #endif
#if EXIST(MOTOR_CURRENT_PWM_XY_PIN) #if ENABLED(MOTOR_CURRENT_PWM_XY_PIN)
if (code_seen('X')) digipot_current(0, code_value()); if (code_seen('X')) digipot_current(0, code_value());
#endif #endif
#if EXIST(MOTOR_CURRENT_PWM_Z_PIN) #if ENABLED(MOTOR_CURRENT_PWM_Z_PIN)
if (code_seen('Z')) digipot_current(1, code_value()); if (code_seen('Z')) digipot_current(1, code_value());
#endif #endif
#if EXIST(MOTOR_CURRENT_PWM_E_PIN) #if ENABLED(MOTOR_CURRENT_PWM_E_PIN)
if (code_seen('E')) digipot_current(2, code_value()); if (code_seen('E')) digipot_current(2, code_value());
#endif #endif
#if ENABLED(DIGIPOT_I2C) #if ENABLED(DIGIPOT_I2C)
......
...@@ -19,4 +19,4 @@ void SendColors(byte red, byte grn, byte blu) { ...@@ -19,4 +19,4 @@ void SendColors(byte red, byte grn, byte blu) {
Wire.endTransmission(); Wire.endTransmission();
} }
#endif #endif
\ No newline at end of file
...@@ -8,4 +8,4 @@ ...@@ -8,4 +8,4 @@
void SendColors(byte red, byte grn, byte blu); void SendColors(byte red, byte grn, byte blu);
#endif #endif
\ No newline at end of file
...@@ -69,4 +69,4 @@ ...@@ -69,4 +69,4 @@
#define MB(board) (MOTHERBOARD==BOARD_##board) #define MB(board) (MOTHERBOARD==BOARD_##board)
#endif #endif
\ No newline at end of file
#include "base.h" #include "base.h"
#if HAS(BUZZER) #if HAS(BUZZER)
...@@ -35,4 +34,4 @@ void buzz(long duration, uint16_t freq) { ...@@ -35,4 +34,4 @@ void buzz(long duration, uint16_t freq) {
delay(duration); delay(duration);
} }
} }
#endif #endif
\ No newline at end of file
#include "base.h" #include "base.h"
#if ENABLED(SDSUPPORT) #if ENABLED(SDSUPPORT)
...@@ -664,4 +663,4 @@ void CardReader::printingHasFinished() { ...@@ -664,4 +663,4 @@ void CardReader::printingHasFinished() {
autotempShutdown(); autotempShutdown();
} }
} }
#endif #endif
\ No newline at end of file
...@@ -108,11 +108,11 @@ ...@@ -108,11 +108,11 @@
#define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
#define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD
#if NOTEXIST(ENCODER_PULSES_PER_STEP) #if DISABLED(ENCODER_PULSES_PER_STEP)
#define ENCODER_PULSES_PER_STEP 4 #define ENCODER_PULSES_PER_STEP 4
#endif #endif
#if NOTEXIST(ENCODER_STEPS_PER_MENU_ITEM) #if DISABLED(ENCODER_STEPS_PER_MENU_ITEM)
#define ENCODER_STEPS_PER_MENU_ITEM 1 #define ENCODER_STEPS_PER_MENU_ITEM 1
#endif #endif
...@@ -204,7 +204,7 @@ ...@@ -204,7 +204,7 @@
/** /**
* Default LCD contrast for dogm-like LCD displays * Default LCD contrast for dogm-like LCD displays
*/ */
#if ENABLED(DOGLCD) && NOTEXIST(DEFAULT_LCD_CONTRAST) #if ENABLED(DOGLCD) && DISABLED(DEFAULT_LCD_CONTRAST)
#define DEFAULT_LCD_CONTRAST 32 #define DEFAULT_LCD_CONTRAST 32
#endif #endif
...@@ -429,7 +429,7 @@ ...@@ -429,7 +429,7 @@
* Power Signal Control Definitions * Power Signal Control Definitions
* By default use Normal definition * By default use Normal definition
*/ */
#if NOTEXIST(POWER_SUPPLY) #if DISABLED(POWER_SUPPLY)
#define POWER_SUPPLY 0 #define POWER_SUPPLY 0
#endif #endif
#if (POWER_SUPPLY == 1) // 1 = ATX #if (POWER_SUPPLY == 1) // 1 = ATX
...@@ -580,7 +580,7 @@ ...@@ -580,7 +580,7 @@
#define HAS_Z_MAX (PIN_EXISTS(Z_MAX)) #define HAS_Z_MAX (PIN_EXISTS(Z_MAX))
#define HAS_Z2_MIN (PIN_EXISTS(Z2_MIN)) #define HAS_Z2_MIN (PIN_EXISTS(Z2_MIN))
#define HAS_Z2_MAX (PIN_EXISTS(Z2_MAX)) #define HAS_Z2_MAX (PIN_EXISTS(Z2_MAX))
#define HAS_Z_PROBE (PIN_EXISTS(Z_PROBE)) #define HAS_Z_PROBE (ENABLED(Z_PROBE_ENDSTOP) && PIN_EXISTS(Z_PROBE))
#define HAS_E_MIN (PIN_EXISTS(E_MIN)) #define HAS_E_MIN (PIN_EXISTS(E_MIN))
#define HAS_SOLENOID_1 (PIN_EXISTS(SOL1)) #define HAS_SOLENOID_1 (PIN_EXISTS(SOL1))
#define HAS_SOLENOID_2 (PIN_EXISTS(SOL2)) #define HAS_SOLENOID_2 (PIN_EXISTS(SOL2))
...@@ -627,6 +627,7 @@ ...@@ -627,6 +627,7 @@
#define HAS_E1E3 (PIN_EXISTS(E1E3_CHOICE)) #define HAS_E1E3 (PIN_EXISTS(E1E3_CHOICE))
#define HAS_BTN_BACK (PIN_EXISTS(BTN_BACK)) #define HAS_BTN_BACK (PIN_EXISTS(BTN_BACK))
#define HAS_POWER_SWITCH (POWER_SUPPLY > 0 && PIN_EXISTS(PS_ON)) #define HAS_POWER_SWITCH (POWER_SUPPLY > 0 && PIN_EXISTS(PS_ON))
#define HAS_MOTOR_CURRENT_PWM_XY (PIN_EXISTS(MOTOR_CURRENT_PWM_XY))
#define HAS_DIGIPOTSS (DIGIPOTSS_PIN >= 0) #define HAS_DIGIPOTSS (DIGIPOTSS_PIN >= 0)
......
...@@ -1327,7 +1327,7 @@ ...@@ -1327,7 +1327,7 @@
* * * *
***********************************************************************/ ***********************************************************************/
//#define STEPPER_HIGH_LOW //#define STEPPER_HIGH_LOW
//#define STEPPER_HIGH_LOW_DELAY 1u // Delay in microseconds #define STEPPER_HIGH_LOW_DELAY 1u // Delay in microseconds
/***********************************************************************/ /***********************************************************************/
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
// 13 Basque-Euskera // 13 Basque-Euskera
// 14 Portuguese (Brazil) // 14 Portuguese (Brazil)
#if NOTEXIST(LANGUAGE_CHOICE) #if DISABLED(LANGUAGE_CHOICE)
#define LANGUAGE_CHOICE 7 // Pick your language from the list above #define LANGUAGE_CHOICE 7 // Pick your language from the list above
#endif #endif
...@@ -45,20 +45,20 @@ ...@@ -45,20 +45,20 @@
#elif MB(SAV_MKI) #elif MB(SAV_MKI)
#define MACHINE_NAME "SAV MkI" #define MACHINE_NAME "SAV MkI"
#define SOURCE_CODE_URL "https://github.com/fmalpartida/Marlin/tree/SAV-MkI-config" #define SOURCE_CODE_URL "https://github.com/fmalpartida/Marlin/tree/SAV-MkI-config"
#elif NOTEXIST(MACHINE_NAME) #elif DISABLED(MACHINE_NAME)
#define MACHINE_NAME "3D Printer" #define MACHINE_NAME "3D Printer"
#endif #endif
#if EXIST(CUSTOM_MACHINE_NAME) #if ENABLED(CUSTOM_MACHINE_NAME)
#undef MACHINE_NAME #undef MACHINE_NAME
#define MACHINE_NAME CUSTOM_MACHINE_NAME #define MACHINE_NAME CUSTOM_MACHINE_NAME
#endif #endif
#if NOTEXIST(SOURCE_CODE_URL) #if DISABLED(SOURCE_CODE_URL)
#define SOURCE_CODE_URL "https://github.com/MagoKimbra/MarlinKimbra" #define SOURCE_CODE_URL "https://github.com/MagoKimbra/MarlinKimbra"
#endif #endif
#if NOTEXIST(BUILD_VERSION) #if DISABLED(BUILD_VERSION)
#define BUILD_VERSION "V4; MarlinKimbra for 4 extruder" #define BUILD_VERSION "V4; MarlinKimbra for 4 extruder"
#endif #endif
......
...@@ -14,14 +14,8 @@ ...@@ -14,14 +14,8 @@
#define COS_60 0.5 #define COS_60 0.5
// Macros to support option testing // Macros to support option testing
#define _CAT(a, ...) a ## __VA_ARGS__ #define ENABLED defined
#define SWITCH_ENABLED_0 0 #define DISABLED !defined
#define SWITCH_ENABLED_1 1
#define SWITCH_ENABLED_ 1
#define ENABLED(b) _CAT(SWITCH_ENABLED_, b)
#define DISABLED(b) (!_CAT(SWITCH_ENABLED_, b))
#define EXIST defined
#define NOTEXIST !defined
#define PIN_EXISTS(PN) (defined(PN##_PIN) && PN##_PIN >= 0) #define PIN_EXISTS(PN) (defined(PN##_PIN) && PN##_PIN >= 0)
#define HAS(FE) (HAS_##FE) #define HAS(FE) (HAS_##FE)
#define HASNT(FE) (!(HAS_##FE)) #define HASNT(FE) (!(HAS_##FE))
......
...@@ -258,7 +258,7 @@ double r8mat_amax ( int m, int n, double a[] ) ...@@ -258,7 +258,7 @@ double r8mat_amax ( int m, int n, double a[] )
return value; return value;
} }
double *r8mat_copy_new ( int m, int n, double a1[] ) void r8mat_copy( double a2[], int m, int n, double a1[] )
/******************************************************************************/ /******************************************************************************/
/* /*
...@@ -292,12 +292,9 @@ double *r8mat_copy_new ( int m, int n, double a1[] ) ...@@ -292,12 +292,9 @@ double *r8mat_copy_new ( int m, int n, double a1[] )
Output, double R8MAT_COPY_NEW[M*N], the copy of A1. Output, double R8MAT_COPY_NEW[M*N], the copy of A1.
*/ */
{ {
double *a2;
int i; int i;
int j; int j;
a2 = ( double * ) malloc ( m * n * sizeof ( double ) );
for ( j = 0; j < n; j++ ) for ( j = 0; j < n; j++ )
{ {
for ( i = 0; i < m; i++ ) for ( i = 0; i < m; i++ )
...@@ -305,8 +302,6 @@ double *r8mat_copy_new ( int m, int n, double a1[] ) ...@@ -305,8 +302,6 @@ double *r8mat_copy_new ( int m, int n, double a1[] )
a2[i+j*m] = a1[i+j*m]; a2[i+j*m] = a1[i+j*m];
} }
} }
return a2;
} }
/******************************************************************************/ /******************************************************************************/
...@@ -724,14 +719,13 @@ void dqrank ( double a[], int lda, int m, int n, double tol, int *kr, ...@@ -724,14 +719,13 @@ void dqrank ( double a[], int lda, int m, int n, double tol, int *kr,
int j; int j;
int job; int job;
int k; int k;
double *work; double work[n];
for ( i = 0; i < n; i++ ) for ( i = 0; i < n; i++ )
{ {
jpvt[i] = 0; jpvt[i] = 0;
} }
work = ( double * ) malloc ( n * sizeof ( double ) );
job = 1; job = 1;
dqrdc ( a, lda, m, n, qraux, jpvt, work, job ); dqrdc ( a, lda, m, n, qraux, jpvt, work, job );
...@@ -748,8 +742,6 @@ void dqrank ( double a[], int lda, int m, int n, double tol, int *kr, ...@@ -748,8 +742,6 @@ void dqrank ( double a[], int lda, int m, int n, double tol, int *kr,
*kr = j + 1; *kr = j + 1;
} }
free ( work );
return; return;
} }
/******************************************************************************/ /******************************************************************************/
...@@ -1843,7 +1835,7 @@ void dswap ( int n, double x[], int incx, double y[], int incy ) ...@@ -1843,7 +1835,7 @@ void dswap ( int n, double x[], int incx, double y[], int incy )
/******************************************************************************/ /******************************************************************************/
double *qr_solve ( int m, int n, double a[], double b[] ) void qr_solve ( double x[], int m, int n, double a[], double b[] )
/******************************************************************************/ /******************************************************************************/
/* /*
...@@ -1893,34 +1885,22 @@ double *qr_solve ( int m, int n, double a[], double b[] ) ...@@ -1893,34 +1885,22 @@ double *qr_solve ( int m, int n, double a[], double b[] )
Output, double QR_SOLVE[N], the least squares solution. Output, double QR_SOLVE[N], the least squares solution.
*/ */
{ {
double *a_qr; double a_qr[n*m];
int ind; int ind;
int itask; int itask;
int *jpvt; int jpvt[n];
int kr; int kr;
int lda; int lda;
double *qraux; double qraux[n];
double *r; double r[m];
double tol; double tol;
double *x;
a_qr = r8mat_copy_new ( m, n, a ); r8mat_copy( a_qr, m, n, a );
lda = m; lda = m;
tol = r8_epsilon ( ) / r8mat_amax ( m, n, a_qr ); tol = r8_epsilon ( ) / r8mat_amax ( m, n, a_qr );
x = ( double * ) malloc ( n * sizeof ( double ) );
jpvt = ( int * ) malloc ( n * sizeof ( int ) );
qraux = ( double * ) malloc ( n * sizeof ( double ) );
r = ( double * ) malloc ( m * sizeof ( double ) );
itask = 1; itask = 1;
ind = dqrls ( a_qr, lda, m, n, tol, &kr, b, x, r, jpvt, qraux, itask ); ind = dqrls ( a_qr, lda, m, n, tol, &kr, b, x, r, jpvt, qraux, itask );
free ( a_qr );
free ( jpvt );
free ( qraux );
free ( r );
return x;
} }
/******************************************************************************/ /******************************************************************************/
......
#if ENABLED(AUTO_BED_LEVELING_GRID)
#ifndef QR_SOLVE_H #ifndef QR_SOLVE_H
#define QR_SOLVE_H #define QR_SOLVE_H
...@@ -16,6 +18,7 @@ int dqrsl ( double a[], int lda, int n, int k, double qraux[], double y[], ...@@ -16,6 +18,7 @@ int dqrsl ( double a[], int lda, int n, int k, double qraux[], double y[],
double qy[], double qty[], double b[], double rsd[], double ab[], int job ); double qy[], double qty[], double b[], double rsd[], double ab[], int job );
void dscal ( int n, double sa, double x[], int incx ); void dscal ( int n, double sa, double x[], int incx );
void dswap ( int n, double x[], int incx, double y[], int incy ); void dswap ( int n, double x[], int incx, double y[], int incy );
double *qr_solve ( int m, int n, double a[], double b[] ); void qr_solve ( double x[], int m, int n, double a[], double b[] );
#endif #endif
#endif
\ No newline at end of file
...@@ -7,49 +7,49 @@ ...@@ -7,49 +7,49 @@
#ifndef SANITYCHECK_H #ifndef SANITYCHECK_H
#define SANITYCHECK_H #define SANITYCHECK_H
#if NOTEXIST(SERIAL_PORT) #if DISABLED(SERIAL_PORT)
#error DEPENDENCY ERROR: Missing setting SERIAL_PORT #error DEPENDENCY ERROR: Missing setting SERIAL_PORT
#endif #endif
#if NOTEXIST(BAUDRATE) #if DISABLED(BAUDRATE)
#error DEPENDENCY ERROR: Missing setting BAUDRATE #error DEPENDENCY ERROR: Missing setting BAUDRATE
#endif #endif
#if NOTEXIST(MACHINE_UUID) #if DISABLED(MACHINE_UUID)
#error DEPENDENCY ERROR: Missing setting MACHINE_UUID #error DEPENDENCY ERROR: Missing setting MACHINE_UUID
#endif #endif
//board //board
#if NOTEXIST(MOTHERBOARD) #if DISABLED(MOTHERBOARD)
#error DEPENDENCY ERROR: Missing setting MOTHERBOARD #error DEPENDENCY ERROR: Missing setting MOTHERBOARD
#endif #endif
//Mechanism //Mechanism
#if NOTEXIST(MECHANISM) #if DISABLED(MECHANISM)
#error DEPENDENCY ERROR: Missing setting MECHANISM #error DEPENDENCY ERROR: Missing setting MECHANISM
#endif #endif
//Power supply //Power supply
#if NOTEXIST(POWER_SUPPLY) #if DISABLED(POWER_SUPPLY)
#error DEPENDENCY ERROR: Missing setting POWER_SUPPLY #error DEPENDENCY ERROR: Missing setting POWER_SUPPLY
#endif #endif
//Thermistor //Thermistor
#if NOTEXIST(TEMP_SENSOR_0) #if DISABLED(TEMP_SENSOR_0)
#error DEPENDENCY ERROR: Missing setting TEMP_SENSOR_0 #error DEPENDENCY ERROR: Missing setting TEMP_SENSOR_0
#endif #endif
#if NOTEXIST(TEMP_SENSOR_1) #if DISABLED(TEMP_SENSOR_1)
#error DEPENDENCY ERROR: Missing setting TEMP_SENSOR_1 #error DEPENDENCY ERROR: Missing setting TEMP_SENSOR_1
#endif #endif
#if NOTEXIST(TEMP_SENSOR_2) #if DISABLED(TEMP_SENSOR_2)
#error DEPENDENCY ERROR: Missing setting TEMP_SENSOR_2 #error DEPENDENCY ERROR: Missing setting TEMP_SENSOR_2
#endif #endif
#if NOTEXIST(TEMP_SENSOR_3) #if DISABLED(TEMP_SENSOR_3)
#error DEPENDENCY ERROR: Missing setting TEMP_SENSOR_3 #error DEPENDENCY ERROR: Missing setting TEMP_SENSOR_3
#endif #endif
#if NOTEXIST(TEMP_SENSOR_BED) #if DISABLED(TEMP_SENSOR_BED)
#error DEPENDENCY ERROR: Missing setting TEMP_SENSOR_BED #error DEPENDENCY ERROR: Missing setting TEMP_SENSOR_BED
#endif #endif
#if (THERMISTORHEATER_0 == 998) || (THERMISTORHEATER_1 == 998) || (THERMISTORHEATER_2 == 998) || (THERMISTORHEATER_3 == 998) || (THERMISTORBED == 998) //User EXIST table #if (THERMISTORHEATER_0 == 998) || (THERMISTORHEATER_1 == 998) || (THERMISTORHEATER_2 == 998) || (THERMISTORHEATER_3 == 998) || (THERMISTORBED == 998) //User EXIST table
#if NOTEXIST(DUMMY_THERMISTOR_998_VALUE) #if DISABLED(DUMMY_THERMISTOR_998_VALUE)
#error DEPENDENCY ERROR: Missing setting DUMMY_THERMISTOR_998_VALUE #error DEPENDENCY ERROR: Missing setting DUMMY_THERMISTOR_998_VALUE
#endif #endif
#endif #endif
...@@ -58,1231 +58,1231 @@ ...@@ -58,1231 +58,1231 @@
/** /**
* Temperature defines * Temperature defines
*/ */
#if EXIST(TEMP_RESIDENCY_TIME) #if ENABLED(TEMP_RESIDENCY_TIME)
#if NOTEXIST(TEMP_HYSTERESIS) #if DISABLED(TEMP_HYSTERESIS)
#error DEPENDENCY ERROR: Missing setting TEMP_HYSTERESIS #error DEPENDENCY ERROR: Missing setting TEMP_HYSTERESIS
#endif #endif
#if NOTEXIST(TEMP_WINDOW) #if DISABLED(TEMP_WINDOW)
#error DEPENDENCY ERROR: Missing setting TEMP_WINDOW #error DEPENDENCY ERROR: Missing setting TEMP_WINDOW
#endif #endif
#endif #endif
#if TEMP_SENSOR_0 != 0 #if TEMP_SENSOR_0 != 0
#if NOTEXIST(HEATER_0_MAXTEMP) #if DISABLED(HEATER_0_MAXTEMP)
#error DEPENDENCY ERROR: Missing setting HEATER_0_MAXTEMP #error DEPENDENCY ERROR: Missing setting HEATER_0_MAXTEMP
#endif #endif
#if NOTEXIST(HEATER_0_MINTEMP) #if DISABLED(HEATER_0_MINTEMP)
#error DEPENDENCY ERROR: Missing setting HEATER_0_MINTEMP #error DEPENDENCY ERROR: Missing setting HEATER_0_MINTEMP
#endif #endif
#endif #endif
#if TEMP_SENSOR_1 != 0 #if TEMP_SENSOR_1 != 0
#if NOTEXIST(HEATER_1_MAXTEMP) #if DISABLED(HEATER_1_MAXTEMP)
#error DEPENDENCY ERROR: Missing setting HEATER_1_MAXTEMP #error DEPENDENCY ERROR: Missing setting HEATER_1_MAXTEMP
#endif #endif
#if NOTEXIST(HEATER_0_MINTEMP) #if DISABLED(HEATER_0_MINTEMP)
#error DEPENDENCY ERROR: Missing setting HEATER_1_MINTEMP #error DEPENDENCY ERROR: Missing setting HEATER_1_MINTEMP
#endif #endif
#endif #endif
#if TEMP_SENSOR_2 != 0 #if TEMP_SENSOR_2 != 0
#if NOTEXIST(HEATER_2_MAXTEMP) #if DISABLED(HEATER_2_MAXTEMP)
#error DEPENDENCY ERROR: Missing setting HEATER_2_MAXTEMP #error DEPENDENCY ERROR: Missing setting HEATER_2_MAXTEMP
#endif #endif
#if NOTEXIST(HEATER_0_MINTEMP) #if DISABLED(HEATER_0_MINTEMP)
#error DEPENDENCY ERROR: Missing setting HEATER_2_MINTEMP #error DEPENDENCY ERROR: Missing setting HEATER_2_MINTEMP
#endif #endif
#endif #endif
#if TEMP_SENSOR_3 != 0 #if TEMP_SENSOR_3 != 0
#if NOTEXIST(HEATER_3_MAXTEMP) #if DISABLED(HEATER_3_MAXTEMP)
#error DEPENDENCY ERROR: Missing setting HEATER_3_MAXTEMP #error DEPENDENCY ERROR: Missing setting HEATER_3_MAXTEMP
#endif #endif
#if NOTEXIST(HEATER_0_MINTEMP) #if DISABLED(HEATER_0_MINTEMP)
#error DEPENDENCY ERROR: Missing setting HEATER_3_MINTEMP #error DEPENDENCY ERROR: Missing setting HEATER_3_MINTEMP
#endif #endif
#endif #endif
#if TEMP_SENSOR_BED != 0 #if TEMP_SENSOR_BED != 0
#if NOTEXIST(BED_MAXTEMP) #if DISABLED(BED_MAXTEMP)
#error DEPENDENCY ERROR: Missing setting BED_MAXTEMP #error DEPENDENCY ERROR: Missing setting BED_MAXTEMP
#endif #endif
#if NOTEXIST(HEATER_0_MINTEMP) #if DISABLED(HEATER_0_MINTEMP)
#error DEPENDENCY ERROR: Missing setting BED_MINTEMP #error DEPENDENCY ERROR: Missing setting BED_MINTEMP
#endif #endif
#endif #endif
#if NOTEXIST(PLA_PREHEAT_HOTEND_TEMP) #if DISABLED(PLA_PREHEAT_HOTEND_TEMP)
#error DEPENDENCY ERROR: Missing setting PLA_PREHEAT_HOTEND_TEMP #error DEPENDENCY ERROR: Missing setting PLA_PREHEAT_HOTEND_TEMP
#endif #endif
#if NOTEXIST(PLA_PREHEAT_HPB_TEMP) #if DISABLED(PLA_PREHEAT_HPB_TEMP)
#error DEPENDENCY ERROR: Missing setting PLA_PREHEAT_HPB_TEMP #error DEPENDENCY ERROR: Missing setting PLA_PREHEAT_HPB_TEMP
#endif #endif
#if NOTEXIST(PLA_PREHEAT_FAN_SPEED) #if DISABLED(PLA_PREHEAT_FAN_SPEED)
#error DEPENDENCY ERROR: Missing setting PLA_PREHEAT_FAN_SPEED #error DEPENDENCY ERROR: Missing setting PLA_PREHEAT_FAN_SPEED
#endif #endif
#if NOTEXIST(ABS_PREHEAT_HOTEND_TEMP) #if DISABLED(ABS_PREHEAT_HOTEND_TEMP)
#error DEPENDENCY ERROR: Missing setting ABS_PREHEAT_HOTEND_TEMP #error DEPENDENCY ERROR: Missing setting ABS_PREHEAT_HOTEND_TEMP
#endif #endif
#if NOTEXIST(ABS_PREHEAT_HPB_TEMP) #if DISABLED(ABS_PREHEAT_HPB_TEMP)
#error DEPENDENCY ERROR: Missing setting ABS_PREHEAT_HPB_TEMP #error DEPENDENCY ERROR: Missing setting ABS_PREHEAT_HPB_TEMP
#endif #endif
#if NOTEXIST(ABS_PREHEAT_FAN_SPEED) #if DISABLED(ABS_PREHEAT_FAN_SPEED)
#error DEPENDENCY ERROR: Missing setting ABS_PREHEAT_FAN_SPEED #error DEPENDENCY ERROR: Missing setting ABS_PREHEAT_FAN_SPEED
#endif #endif
#if NOTEXIST(GUM_PREHEAT_HOTEND_TEMP) #if DISABLED(GUM_PREHEAT_HOTEND_TEMP)
#error DEPENDENCY ERROR: Missing setting GUM_PREHEAT_HOTEND_TEMP #error DEPENDENCY ERROR: Missing setting GUM_PREHEAT_HOTEND_TEMP
#endif #endif
#if NOTEXIST(GUM_PREHEAT_HPB_TEMP) #if DISABLED(GUM_PREHEAT_HPB_TEMP)
#error DEPENDENCY ERROR: Missing setting GUM_PREHEAT_HPB_TEMP #error DEPENDENCY ERROR: Missing setting GUM_PREHEAT_HPB_TEMP
#endif #endif
#if NOTEXIST(GUM_PREHEAT_FAN_SPEED) #if DISABLED(GUM_PREHEAT_FAN_SPEED)
#error DEPENDENCY ERROR: Missing setting GUM_PREHEAT_FAN_SPEED #error DEPENDENCY ERROR: Missing setting GUM_PREHEAT_FAN_SPEED
#endif #endif
//extruders //extruders
#if NOTEXIST(EXTRUDERS) #if DISABLED(EXTRUDERS)
#error DEPENDENCY ERROR: Missing setting EXTRUDERS #error DEPENDENCY ERROR: Missing setting EXTRUDERS
#endif #endif
#if NOTEXIST(DRIVER_EXTRUDERS) #if DISABLED(DRIVER_EXTRUDERS)
#error DEPENDENCY ERROR: Missing setting DRIVER_EXTRUDERS #error DEPENDENCY ERROR: Missing setting DRIVER_EXTRUDERS
#endif #endif
//Language //Language
#if NOTEXIST(LANGUAGE_CHOICE) #if DISABLED(LANGUAGE_CHOICE)
#error DEPENDENCY ERROR: Missing setting LANGUAGE_CHOICE #error DEPENDENCY ERROR: Missing setting LANGUAGE_CHOICE
#endif #endif
///FEATURE ///FEATURE
//Temperature //Temperature
#if NOTEXIST(PID_MAX) #if DISABLED(PID_MAX)
#error DEPENDENCY ERROR: Missing setting PID_MAX #error DEPENDENCY ERROR: Missing setting PID_MAX
#endif #endif
#if NOTEXIST(MAX_BED_POWER) #if DISABLED(MAX_BED_POWER)
#error DEPENDENCY ERROR: Missing setting MAX_BED_POWER #error DEPENDENCY ERROR: Missing setting MAX_BED_POWER
#endif #endif
#if EXIST(PIDTEMP) || EXIST(PIDTEMPBED) #if ENABLED(PIDTEMP) || ENABLED(PIDTEMPBED)
#if NOTEXIST(MAX_OVERSHOOT_PID_AUTOTUNE) #if DISABLED(MAX_OVERSHOOT_PID_AUTOTUNE)
#error DEPENDENCY ERROR: Missing setting MAX_OVERSHOOT_PID_AUTOTUNE #error DEPENDENCY ERROR: Missing setting MAX_OVERSHOOT_PID_AUTOTUNE
#endif #endif
#endif #endif
#if EXIST(PIDTEMP) #if ENABLED(PIDTEMP)
#if NOTEXIST(PID_OPENLOOP) && NOTEXIST(PID_FUNCTIONAL_RANGE) #if DISABLED(PID_OPENLOOP) && DISABLED(PID_FUNCTIONAL_RANGE)
#error DEPENDENCY ERROR: Missing setting PID_FUNCTIONAL_RANGE #error DEPENDENCY ERROR: Missing setting PID_FUNCTIONAL_RANGE
#endif #endif
#if NOTEXIST(PID_INTEGRAL_DRIVE_MAX) #if DISABLED(PID_INTEGRAL_DRIVE_MAX)
#error DEPENDENCY ERROR: Missing setting PID_INTEGRAL_DRIVE_MAX #error DEPENDENCY ERROR: Missing setting PID_INTEGRAL_DRIVE_MAX
#endif #endif
#if NOTEXIST(DEFAULT_Kp) #if DISABLED(DEFAULT_Kp)
#error DEPENDENCY ERROR: Missing setting DEFAULT_Kp #error DEPENDENCY ERROR: Missing setting DEFAULT_Kp
#endif #endif
#if NOTEXIST(DEFAULT_Ki) #if DISABLED(DEFAULT_Ki)
#error DEPENDENCY ERROR: Missing setting DEFAULT_Ki #error DEPENDENCY ERROR: Missing setting DEFAULT_Ki
#endif #endif
#if NOTEXIST(DEFAULT_Kd) #if DISABLED(DEFAULT_Kd)
#error DEPENDENCY ERROR: Missing setting DEFAULT_Kd #error DEPENDENCY ERROR: Missing setting DEFAULT_Kd
#endif #endif
#endif #endif
#if EXIST(PIDTEMPBED) #if ENABLED(PIDTEMPBED)
#if NOTEXIST(PID_BED_INTEGRAL_DRIVE_MAX) #if DISABLED(PID_BED_INTEGRAL_DRIVE_MAX)
#error DEPENDENCY ERROR: Missing setting PID_BED_INTEGRAL_DRIVE_MAX #error DEPENDENCY ERROR: Missing setting PID_BED_INTEGRAL_DRIVE_MAX
#endif #endif
#if NOTEXIST(DEFAULT_bedKp) #if DISABLED(DEFAULT_bedKp)
#error DEPENDENCY ERROR: Missing setting DEFAULT_bedKp #error DEPENDENCY ERROR: Missing setting DEFAULT_bedKp
#endif #endif
#if NOTEXIST(DEFAULT_bedKi) #if DISABLED(DEFAULT_bedKi)
#error DEPENDENCY ERROR: Missing setting DEFAULT_bedKi #error DEPENDENCY ERROR: Missing setting DEFAULT_bedKi
#endif #endif
#if NOTEXIST(DEFAULT_bedKd) #if DISABLED(DEFAULT_bedKd)
#error DEPENDENCY ERROR: Missing setting DEFAULT_bedKd #error DEPENDENCY ERROR: Missing setting DEFAULT_bedKd
#endif #endif
#endif #endif
#if EXIST(BED_LIMIT_SWITCHING) #if ENABLED(BED_LIMIT_SWITCHING)
#if NOTEXIST(BED_HYSTERESIS) #if DISABLED(BED_HYSTERESIS)
#error DEPENDENCY ERROR: Missing setting BED_HYSTERESIS #error DEPENDENCY ERROR: Missing setting BED_HYSTERESIS
#endif #endif
#if NOTEXIST(BED_CHECK_INTERVAL) #if DISABLED(BED_CHECK_INTERVAL)
#error DEPENDENCY ERROR: Missing setting BED_CHECK_INTERVAL #error DEPENDENCY ERROR: Missing setting BED_CHECK_INTERVAL
#endif #endif
#endif #endif
#if EXIST(THERMAL_PROTECTION_HOTENDS) #if ENABLED(THERMAL_PROTECTION_HOTENDS)
#if NOTEXIST(THERMAL_PROTECTION_PERIOD) #if DISABLED(THERMAL_PROTECTION_PERIOD)
#error DEPENDENCY ERROR: Missing setting THERMAL_PROTECTION_PERIOD #error DEPENDENCY ERROR: Missing setting THERMAL_PROTECTION_PERIOD
#endif #endif
#if NOTEXIST(THERMAL_PROTECTION_HYSTERESIS) #if DISABLED(THERMAL_PROTECTION_HYSTERESIS)
#error DEPENDENCY ERROR: Missing setting THERMAL_PROTECTION_HYSTERESIS #error DEPENDENCY ERROR: Missing setting THERMAL_PROTECTION_HYSTERESIS
#endif #endif
#if NOTEXIST(WATCH_TEMP_PERIOD) #if DISABLED(WATCH_TEMP_PERIOD)
#error DEPENDENCY ERROR: Missing setting WATCH_TEMP_PERIOD #error DEPENDENCY ERROR: Missing setting WATCH_TEMP_PERIOD
#endif #endif
#if NOTEXIST(WATCH_TEMP_INCREASE) #if DISABLED(WATCH_TEMP_INCREASE)
#error DEPENDENCY ERROR: Missing setting WATCH_TEMP_INCREASE #error DEPENDENCY ERROR: Missing setting WATCH_TEMP_INCREASE
#endif #endif
#endif #endif
#if EXIST(THERMAL_PROTECTION_BED) #if ENABLED(THERMAL_PROTECTION_BED)
#if NOTEXIST(THERMAL_PROTECTION_BED_PERIOD) #if DISABLED(THERMAL_PROTECTION_BED_PERIOD)
#error DEPENDENCY ERROR: Missing setting THERMAL_PROTECTION_BED_PERIOD #error DEPENDENCY ERROR: Missing setting THERMAL_PROTECTION_BED_PERIOD
#endif #endif
#if NOTEXIST(THERMAL_PROTECTION_BED_HYSTERESIS) #if DISABLED(THERMAL_PROTECTION_BED_HYSTERESIS)
#error DEPENDENCY ERROR: Missing setting THERMAL_PROTECTION_BED_HYSTERESIS #error DEPENDENCY ERROR: Missing setting THERMAL_PROTECTION_BED_HYSTERESIS
#endif #endif
#endif #endif
//fan //fan
#if NOTEXIST(SOFT_PWM_SCALE) #if DISABLED(SOFT_PWM_SCALE)
#error DEPENDENCY ERROR: Missing setting SOFT_PWM_SCALE #error DEPENDENCY ERROR: Missing setting SOFT_PWM_SCALE
#endif #endif
#if EXIST(CONTROLLERFAN) #if ENABLED(CONTROLLERFAN)
#if NOTEXIST(CONTROLLERFAN_SECS) #if DISABLED(CONTROLLERFAN_SECS)
#error DEPENDENCY ERROR: Missing setting CONTROLLERFAN_SECS #error DEPENDENCY ERROR: Missing setting CONTROLLERFAN_SECS
#endif #endif
#if NOTEXIST(CONTROLLERFAN_SPEED) #if DISABLED(CONTROLLERFAN_SPEED)
#error DEPENDENCY ERROR: Missing setting CONTROLLERFAN_SPEED #error DEPENDENCY ERROR: Missing setting CONTROLLERFAN_SPEED
#endif #endif
#if NOTEXIST(CONTROLLERFAN_MIN_SPEED) #if DISABLED(CONTROLLERFAN_MIN_SPEED)
#error DEPENDENCY ERROR: Missing setting CONTROLLERFAN_MIN_SPEED #error DEPENDENCY ERROR: Missing setting CONTROLLERFAN_MIN_SPEED
#endif #endif
#endif #endif
#if EXIST(EXTRUDER_AUTO_FAN) #if ENABLED(EXTRUDER_AUTO_FAN)
#if NOTEXIST(EXTRUDER_AUTO_FAN_TEMPERATURE) #if DISABLED(EXTRUDER_AUTO_FAN_TEMPERATURE)
#error DEPENDENCY ERROR: Missing setting EXTRUDER_AUTO_FAN_TEMPERATURE #error DEPENDENCY ERROR: Missing setting EXTRUDER_AUTO_FAN_TEMPERATURE
#endif #endif
#if NOTEXIST(EXTRUDER_AUTO_FAN_SPEED) #if DISABLED(EXTRUDER_AUTO_FAN_SPEED)
#error DEPENDENCY ERROR: Missing setting EXTRUDER_AUTO_FAN_SPEED #error DEPENDENCY ERROR: Missing setting EXTRUDER_AUTO_FAN_SPEED
#endif #endif
#if NOTEXIST(EXTRUDER_AUTO_FAN_MIN_SPEED) #if DISABLED(EXTRUDER_AUTO_FAN_MIN_SPEED)
#error DEPENDENCY ERROR: Missing setting EXTRUDER_AUTO_FAN_MIN_SPEED #error DEPENDENCY ERROR: Missing setting EXTRUDER_AUTO_FAN_MIN_SPEED
#endif #endif
#endif #endif
//extruder //extruder
#if EXIST(PREVENT_DANGEROUS_EXTRUDE) #if ENABLED(PREVENT_DANGEROUS_EXTRUDE)
#if NOTEXIST(EXTRUDE_MINTEMP) #if DISABLED(EXTRUDE_MINTEMP)
#error DEPENDENCY ERROR: Missing setting EXTRUDE_MINTEMP #error DEPENDENCY ERROR: Missing setting EXTRUDE_MINTEMP
#endif #endif
#if EXIST(PREVENT_LENGTHY_EXTRUDE) #if ENABLED(PREVENT_LENGTHY_EXTRUDE)
#if NOTEXIST(EXTRUDE_MAXLENGTH) #if DISABLED(EXTRUDE_MAXLENGTH)
#error DEPENDENCY ERROR: Missing setting EXTRUDE_MAXLENGTH #error DEPENDENCY ERROR: Missing setting EXTRUDE_MAXLENGTH
#endif #endif
#endif #endif
#endif #endif
#if EXIST(NPR2) #if ENABLED(NPR2)
#if NOTEXIST(COLOR_STEP) #if DISABLED(COLOR_STEP)
#error DEPENDENCY ERROR: Missing setting COLOR_STEP #error DEPENDENCY ERROR: Missing setting COLOR_STEP
#endif #endif
#if NOTEXIST(COLOR_SLOWRATE) #if DISABLED(COLOR_SLOWRATE)
#error DEPENDENCY ERROR: Missing setting COLOR_SLOWRATE #error DEPENDENCY ERROR: Missing setting COLOR_SLOWRATE
#endif #endif
#if NOTEXIST(COLOR_HOMERATE) #if DISABLED(COLOR_HOMERATE)
#error DEPENDENCY ERROR: Missing setting COLOR_HOMERATE #error DEPENDENCY ERROR: Missing setting COLOR_HOMERATE
#endif #endif
#if NOTEXIST(MOTOR_ANGLE) #if DISABLED(MOTOR_ANGLE)
#error DEPENDENCY ERROR: Missing setting MOTOR_ANGLE #error DEPENDENCY ERROR: Missing setting MOTOR_ANGLE
#endif #endif
#if NOTEXIST(DRIVER_MICROSTEP) #if DISABLED(DRIVER_MICROSTEP)
#error DEPENDENCY ERROR: Missing setting DRIVER_MICROSTEP #error DEPENDENCY ERROR: Missing setting DRIVER_MICROSTEP
#endif #endif
#if NOTEXIST(CARTER_MOLTIPLICATOR) #if DISABLED(CARTER_MOLTIPLICATOR)
#error DEPENDENCY ERROR: Missing setting CARTER_MOLTIPLICATOR #error DEPENDENCY ERROR: Missing setting CARTER_MOLTIPLICATOR
#endif #endif
#endif #endif
#if EXIST(IDLE_OOZING_PREVENT) #if ENABLED(IDLE_OOZING_PREVENT)
#if NOTEXIST(IDLE_OOZING_MINTEMP) #if DISABLED(IDLE_OOZING_MINTEMP)
#error DEPENDENCY ERROR: Missing setting IDLE_OOZING_MINTEMP #error DEPENDENCY ERROR: Missing setting IDLE_OOZING_MINTEMP
#endif #endif
#if NOTEXIST(IDLE_OOZING_FEEDRATE) #if DISABLED(IDLE_OOZING_FEEDRATE)
#error DEPENDENCY ERROR: Missing setting IDLE_OOZING_FEEDRATE #error DEPENDENCY ERROR: Missing setting IDLE_OOZING_FEEDRATE
#endif #endif
#if NOTEXIST(IDLE_OOZING_SECONDS) #if DISABLED(IDLE_OOZING_SECONDS)
#error DEPENDENCY ERROR: Missing setting IDLE_OOZING_SECONDS #error DEPENDENCY ERROR: Missing setting IDLE_OOZING_SECONDS
#endif #endif
#if NOTEXIST(IDLE_OOZING_LENGTH) #if DISABLED(IDLE_OOZING_LENGTH)
#error DEPENDENCY ERROR: Missing setting IDLE_OOZING_LENGTH #error DEPENDENCY ERROR: Missing setting IDLE_OOZING_LENGTH
#endif #endif
#if NOTEXIST(IDLE_OOZING_RECOVER_LENGTH) #if DISABLED(IDLE_OOZING_RECOVER_LENGTH)
#error DEPENDENCY ERROR: Missing setting IDLE_OOZING_RECOVER_LENGTH #error DEPENDENCY ERROR: Missing setting IDLE_OOZING_RECOVER_LENGTH
#endif #endif
#if NOTEXIST(IDLE_OOZING_RECOVER_FEEDRATE) #if DISABLED(IDLE_OOZING_RECOVER_FEEDRATE)
#error DEPENDENCY ERROR: Missing setting IDLE_OOZING_RECOVER_FEEDRATE #error DEPENDENCY ERROR: Missing setting IDLE_OOZING_RECOVER_FEEDRATE
#endif #endif
#endif #endif
#if EXIST(EXTRUDER_RUNOUT_PREVENT) #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
#if NOTEXIST(EXTRUDER_RUNOUT_MINTEMP) #if DISABLED(EXTRUDER_RUNOUT_MINTEMP)
#error DEPENDENCY ERROR: Missing setting EXTRUDER_RUNOUT_MINTEMP #error DEPENDENCY ERROR: Missing setting EXTRUDER_RUNOUT_MINTEMP
#endif #endif
#if NOTEXIST(EXTRUDER_RUNOUT_SECONDS) #if DISABLED(EXTRUDER_RUNOUT_SECONDS)
#error DEPENDENCY ERROR: Missing setting EXTRUDER_RUNOUT_SECONDS #error DEPENDENCY ERROR: Missing setting EXTRUDER_RUNOUT_SECONDS
#endif #endif
#if NOTEXIST(EXTRUDER_RUNOUT_ESTEPS) #if DISABLED(EXTRUDER_RUNOUT_ESTEPS)
#error DEPENDENCY ERROR: Missing setting EXTRUDER_RUNOUT_ESTEPS #error DEPENDENCY ERROR: Missing setting EXTRUDER_RUNOUT_ESTEPS
#endif #endif
#if NOTEXIST(EXTRUDER_RUNOUT_SPEED) #if DISABLED(EXTRUDER_RUNOUT_SPEED)
#error DEPENDENCY ERROR: Missing setting EXTRUDER_RUNOUT_SPEED #error DEPENDENCY ERROR: Missing setting EXTRUDER_RUNOUT_SPEED
#endif #endif
#if NOTEXIST(EXTRUDER_RUNOUT_EXTRUDE) #if DISABLED(EXTRUDER_RUNOUT_EXTRUDE)
#error DEPENDENCY ERROR: Missing setting EXTRUDER_RUNOUT_EXTRUDE #error DEPENDENCY ERROR: Missing setting EXTRUDER_RUNOUT_EXTRUDE
#endif #endif
#endif #endif
#if EXIST(EASY_LOAD) #if ENABLED(EASY_LOAD)
#if NOTEXIST(BOWDEN_LENGTH) #if DISABLED(BOWDEN_LENGTH)
#error DEPENDENCY ERROR: Missing setting BOWDEN_LENGTH #error DEPENDENCY ERROR: Missing setting BOWDEN_LENGTH
#endif #endif
#if NOTEXIST(LCD_PURGE_LENGTH) #if DISABLED(LCD_PURGE_LENGTH)
#error DEPENDENCY ERROR: Missing setting LCD_PURGE_LENGTH #error DEPENDENCY ERROR: Missing setting LCD_PURGE_LENGTH
#endif #endif
#if NOTEXIST(LCD_RETRACT_LENGTH) #if DISABLED(LCD_RETRACT_LENGTH)
#error DEPENDENCY ERROR: Missing setting LCD_RETRACT_LENGTH #error DEPENDENCY ERROR: Missing setting LCD_RETRACT_LENGTH
#endif #endif
#if NOTEXIST(LCD_PURGE_FEEDRATE) #if DISABLED(LCD_PURGE_FEEDRATE)
#error DEPENDENCY ERROR: Missing setting LCD_PURGE_FEEDRATE #error DEPENDENCY ERROR: Missing setting LCD_PURGE_FEEDRATE
#endif #endif
#if NOTEXIST(LCD_RETRACT_FEEDRATE) #if DISABLED(LCD_RETRACT_FEEDRATE)
#error DEPENDENCY ERROR: Missing setting LCD_RETRACT_FEEDRATE #error DEPENDENCY ERROR: Missing setting LCD_RETRACT_FEEDRATE
#endif #endif
#if NOTEXIST(LCD_LOAD_FEEDRATE) #if DISABLED(LCD_LOAD_FEEDRATE)
#error DEPENDENCY ERROR: Missing setting LCD_LOAD_FEEDRATE #error DEPENDENCY ERROR: Missing setting LCD_LOAD_FEEDRATE
#endif #endif
#if NOTEXIST(LCD_UNLOAD_FEEDRATE) #if DISABLED(LCD_UNLOAD_FEEDRATE)
#error DEPENDENCY ERROR: Missing setting LCD_UNLOAD_FEEDRATE #error DEPENDENCY ERROR: Missing setting LCD_UNLOAD_FEEDRATE
#endif #endif
#endif #endif
#if EXIST(ADVANCE) #if ENABLED(ADVANCE)
#if NOTEXIST(EXTRUDER_ADVANCE_K) #if DISABLED(EXTRUDER_ADVANCE_K)
#error DEPENDENCY ERROR: Missing setting EXTRUDER_ADVANCE_K #error DEPENDENCY ERROR: Missing setting EXTRUDER_ADVANCE_K
#endif #endif
#if NOTEXIST(D_FILAMENT) #if DISABLED(D_FILAMENT)
#error DEPENDENCY ERROR: Missing setting D_FILAMENT #error DEPENDENCY ERROR: Missing setting D_FILAMENT
#endif #endif
#if NOTEXIST(STEPS_MM_E) #if DISABLED(STEPS_MM_E)
#error DEPENDENCY ERROR: Missing setting STEPS_MM_E #error DEPENDENCY ERROR: Missing setting STEPS_MM_E
#endif #endif
#endif #endif
#if EXIST(FILAMENTCHANGEENABLE) #if ENABLED(FILAMENTCHANGEENABLE)
#if NOTEXIST(FILAMENTCHANGE_XPOS) #if DISABLED(FILAMENTCHANGE_XPOS)
#error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_XPOS #error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_XPOS
#endif #endif
#if NOTEXIST(FILAMENTCHANGE_YPOS) #if DISABLED(FILAMENTCHANGE_YPOS)
#error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_YPOS #error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_YPOS
#endif #endif
#if NOTEXIST(FILAMENTCHANGE_ZADD) #if DISABLED(FILAMENTCHANGE_ZADD)
#error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_ZADD #error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_ZADD
#endif #endif
#if NOTEXIST(FILAMENTCHANGE_FIRSTRETRACT) #if DISABLED(FILAMENTCHANGE_FIRSTRETRACT)
#error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_FIRSTRETRACT #error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_FIRSTRETRACT
#endif #endif
#if NOTEXIST(FILAMENTCHANGE_FINALRETRACT) #if DISABLED(FILAMENTCHANGE_FINALRETRACT)
#error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_FINALRETRACT #error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_FINALRETRACT
#endif #endif
#if NOTEXIST(FILAMENTCHANGE_PRINTEROFF) #if DISABLED(FILAMENTCHANGE_PRINTEROFF)
#error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_PRINTEROFF #error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_PRINTEROFF
#endif #endif
#endif #endif
//Motion //Motion
#if NOTEXIST(SOFTWARE_MIN_ENDSTOPS) #if DISABLED(SOFTWARE_MIN_ENDSTOPS)
#error DEPENDENCY ERROR: Missing setting SOFTWARE_MIN_ENDSTOPS #error DEPENDENCY ERROR: Missing setting SOFTWARE_MIN_ENDSTOPS
#endif #endif
#if NOTEXIST(SOFTWARE_MAX_ENDSTOPS) #if DISABLED(SOFTWARE_MAX_ENDSTOPS)
#error DEPENDENCY ERROR: Missing setting SOFTWARE_MAX_ENDSTOPS #error DEPENDENCY ERROR: Missing setting SOFTWARE_MAX_ENDSTOPS
#endif #endif
#if EXIST(AUTO_BED_LEVELING_FEATURE) #if ENABLED(AUTO_BED_LEVELING_FEATURE)
#if EXIST(AUTO_BED_LEVELING_GRID) #if ENABLED(AUTO_BED_LEVELING_GRID)
#if NOTEXIST(MIN_PROBE_EDGE) #if DISABLED(MIN_PROBE_EDGE)
#error DEPENDENCY ERROR: Missing setting MIN_PROBE_EDGE #error DEPENDENCY ERROR: Missing setting MIN_PROBE_EDGE
#endif #endif
#if NOTEXIST(AUTO_BED_LEVELING_GRID_POINTS) #if DISABLED(AUTO_BED_LEVELING_GRID_POINTS)
#error DEPENDENCY ERROR: Missing setting AUTO_BED_LEVELING_GRID_POINTS #error DEPENDENCY ERROR: Missing setting AUTO_BED_LEVELING_GRID_POINTS
#endif #endif
#else #else
#if NOTEXIST(ABL_PROBE_PT_1_X) #if DISABLED(ABL_PROBE_PT_1_X)
#error DEPENDENCY ERROR: Missing setting ABL_PROBE_PT_1_X #error DEPENDENCY ERROR: Missing setting ABL_PROBE_PT_1_X
#endif #endif
#if NOTEXIST(ABL_PROBE_PT_1_Y) #if DISABLED(ABL_PROBE_PT_1_Y)
#error DEPENDENCY ERROR: Missing setting ABL_PROBE_PT_1_Y #error DEPENDENCY ERROR: Missing setting ABL_PROBE_PT_1_Y
#endif #endif
#if NOTEXIST(ABL_PROBE_PT_2_X) #if DISABLED(ABL_PROBE_PT_2_X)
#error DEPENDENCY ERROR: Missing setting ABL_PROBE_PT_2_X #error DEPENDENCY ERROR: Missing setting ABL_PROBE_PT_2_X
#endif #endif
#if NOTEXIST(ABL_PROBE_PT_2_Y) #if DISABLED(ABL_PROBE_PT_2_Y)
#error DEPENDENCY ERROR: Missing setting ABL_PROBE_PT_2_Y #error DEPENDENCY ERROR: Missing setting ABL_PROBE_PT_2_Y
#endif #endif
#if NOTEXIST(ABL_PROBE_PT_3_X) #if DISABLED(ABL_PROBE_PT_3_X)
#error DEPENDENCY ERROR: Missing setting ABL_PROBE_PT_3_X #error DEPENDENCY ERROR: Missing setting ABL_PROBE_PT_3_X
#endif #endif
#if NOTEXIST(ABL_PROBE_PT_3_Y) #if DISABLED(ABL_PROBE_PT_3_Y)
#error DEPENDENCY ERROR: Missing setting ABL_PROBE_PT_3_Y #error DEPENDENCY ERROR: Missing setting ABL_PROBE_PT_3_Y
#endif #endif
#endif #endif
#if NOTEXIST(X_PROBE_OFFSET_FROM_EXTRUDER) #if DISABLED(X_PROBE_OFFSET_FROM_EXTRUDER)
#error DEPENDENCY ERROR: Missing setting X_PROBE_OFFSET_FROM_EXTRUDER #error DEPENDENCY ERROR: Missing setting X_PROBE_OFFSET_FROM_EXTRUDER
#endif #endif
#if NOTEXIST(Y_PROBE_OFFSET_FROM_EXTRUDER) #if DISABLED(Y_PROBE_OFFSET_FROM_EXTRUDER)
#error DEPENDENCY ERROR: Missing setting Y_PROBE_OFFSET_FROM_EXTRUDER #error DEPENDENCY ERROR: Missing setting Y_PROBE_OFFSET_FROM_EXTRUDER
#endif #endif
#if NOTEXIST(Z_PROBE_OFFSET_FROM_EXTRUDER) #if DISABLED(Z_PROBE_OFFSET_FROM_EXTRUDER)
#error DEPENDENCY ERROR: Missing setting Z_PROBE_OFFSET_FROM_EXTRUDER #error DEPENDENCY ERROR: Missing setting Z_PROBE_OFFSET_FROM_EXTRUDER
#endif #endif
#if NOTEXIST(Z_RAISE_BEFORE_HOMING) #if DISABLED(Z_RAISE_BEFORE_HOMING)
#error DEPENDENCY ERROR: Missing setting Z_RAISE_BEFORE_HOMING #error DEPENDENCY ERROR: Missing setting Z_RAISE_BEFORE_HOMING
#endif #endif
#if NOTEXIST(Z_RAISE_BEFORE_PROBING) #if DISABLED(Z_RAISE_BEFORE_PROBING)
#error DEPENDENCY ERROR: Missing setting Z_RAISE_BEFORE_PROBING #error DEPENDENCY ERROR: Missing setting Z_RAISE_BEFORE_PROBING
#endif #endif
#if NOTEXIST(Z_RAISE_BETWEEN_PROBINGS) #if DISABLED(Z_RAISE_BETWEEN_PROBINGS)
#error DEPENDENCY ERROR: Missing setting Z_RAISE_BETWEEN_PROBINGS #error DEPENDENCY ERROR: Missing setting Z_RAISE_BETWEEN_PROBINGS
#endif #endif
#if NOTEXIST(Z_RAISE_AFTER_PROBING) #if DISABLED(Z_RAISE_AFTER_PROBING)
#error DEPENDENCY ERROR: Missing setting Z_RAISE_AFTER_PROBING #error DEPENDENCY ERROR: Missing setting Z_RAISE_AFTER_PROBING
#endif #endif
#if EXIST(Z_PROBE_SLED) #if ENABLED(Z_PROBE_SLED)
#if NOTEXIST(SLED_DOCKING_OFFSET) #if DISABLED(SLED_DOCKING_OFFSET)
#error DEPENDENCY ERROR: Missing setting SLED_DOCKING_OFFSET #error DEPENDENCY ERROR: Missing setting SLED_DOCKING_OFFSET
#endif #endif
#endif #endif
#if EXIST(Z_SAFE_HOMING) #if ENABLED(Z_SAFE_HOMING)
#if NOTEXIST(Z_SAFE_HOMING_X_POINT) #if DISABLED(Z_SAFE_HOMING_X_POINT)
#error DEPENDENCY ERROR: Missing setting Z_SAFE_HOMING_X_POINT #error DEPENDENCY ERROR: Missing setting Z_SAFE_HOMING_X_POINT
#endif #endif
#if NOTEXIST(Z_SAFE_HOMING_Y_POINT) #if DISABLED(Z_SAFE_HOMING_Y_POINT)
#error DEPENDENCY ERROR: Missing setting Z_SAFE_HOMING_Y_POINT #error DEPENDENCY ERROR: Missing setting Z_SAFE_HOMING_Y_POINT
#endif #endif
#endif #endif
#endif #endif
#if ENABLED(ENABLE_SERVOS) #if ENABLED(ENABLE_SERVOS)
#if NOTEXIST(NUM_SERVOS) #if DISABLED(NUM_SERVOS)
#error DEPENDENCY ERROR: Missing setting NUM_SERVOS #error DEPENDENCY ERROR: Missing setting NUM_SERVOS
#endif #endif
#if NUM_SERVOS > 0 #if NUM_SERVOS > 0
#if NOTEXIST(X_ENDSTOP_SERVO_NR) #if DISABLED(X_ENDSTOP_SERVO_NR)
#error DEPENDENCY ERROR: Missing setting X_ENDSTOP_SERVO_NR #error DEPENDENCY ERROR: Missing setting X_ENDSTOP_SERVO_NR
#endif #endif
#if NOTEXIST(Y_ENDSTOP_SERVO_NR) #if DISABLED(Y_ENDSTOP_SERVO_NR)
#error DEPENDENCY ERROR: Missing setting Y_ENDSTOP_SERVO_NR #error DEPENDENCY ERROR: Missing setting Y_ENDSTOP_SERVO_NR
#endif #endif
#if NOTEXIST(Z_ENDSTOP_SERVO_NR) #if DISABLED(Z_ENDSTOP_SERVO_NR)
#error DEPENDENCY ERROR: Missing setting Z_ENDSTOP_SERVO_NR #error DEPENDENCY ERROR: Missing setting Z_ENDSTOP_SERVO_NR
#endif #endif
#if NOTEXIST(X_ENDSTOP_SERVO_ANGLES) #if DISABLED(X_ENDSTOP_SERVO_ANGLES)
#error DEPENDENCY ERROR: Missing setting X_ENDSTOP_SERVO_ANGLES #error DEPENDENCY ERROR: Missing setting X_ENDSTOP_SERVO_ANGLES
#endif #endif
#if NOTEXIST(Y_ENDSTOP_SERVO_ANGLES) #if DISABLED(Y_ENDSTOP_SERVO_ANGLES)
#error DEPENDENCY ERROR: Missing setting Y_ENDSTOP_SERVO_ANGLES #error DEPENDENCY ERROR: Missing setting Y_ENDSTOP_SERVO_ANGLES
#endif #endif
#if NOTEXIST(Z_ENDSTOP_SERVO_ANGLES) #if DISABLED(Z_ENDSTOP_SERVO_ANGLES)
#error DEPENDENCY ERROR: Missing setting Z_ENDSTOP_SERVO_ANGLES #error DEPENDENCY ERROR: Missing setting Z_ENDSTOP_SERVO_ANGLES
#endif #endif
#if NOTEXIST(SERVO_DEACTIVATION_DELAY) #if DISABLED(SERVO_DEACTIVATION_DELAY)
#error DEPENDENCY ERROR: Missing setting SERVO_DEACTIVATION_DELAY #error DEPENDENCY ERROR: Missing setting SERVO_DEACTIVATION_DELAY
#endif #endif
#endif #endif
#endif #endif
#if EXIST(BABYSTEPPING) #if ENABLED(BABYSTEPPING)
#if NOTEXIST(BABYSTEP_INVERT_Z) #if DISABLED(BABYSTEP_INVERT_Z)
#error DEPENDENCY ERROR: Missing setting BABYSTEP_INVERT_Z #error DEPENDENCY ERROR: Missing setting BABYSTEP_INVERT_Z
#endif #endif
#if NOTEXIST(BABYSTEP_Z_MULTIPLICATOR) #if DISABLED(BABYSTEP_Z_MULTIPLICATOR)
#error DEPENDENCY ERROR: Missing setting BABYSTEP_Z_MULTIPLICATOR #error DEPENDENCY ERROR: Missing setting BABYSTEP_Z_MULTIPLICATOR
#endif #endif
#endif #endif
#if EXIST(FWRETRACT) #if ENABLED(FWRETRACT)
#if NOTEXIST(MIN_RETRACT) #if DISABLED(MIN_RETRACT)
#error DEPENDENCY ERROR: Missing setting MIN_RETRACT #error DEPENDENCY ERROR: Missing setting MIN_RETRACT
#endif #endif
#if NOTEXIST(RETRACT_LENGTH) #if DISABLED(RETRACT_LENGTH)
#error DEPENDENCY ERROR: Missing setting RETRACT_LENGTH #error DEPENDENCY ERROR: Missing setting RETRACT_LENGTH
#endif #endif
#if NOTEXIST(RETRACT_LENGTH_SWAP) #if DISABLED(RETRACT_LENGTH_SWAP)
#error DEPENDENCY ERROR: Missing setting RETRACT_LENGTH_SWAP #error DEPENDENCY ERROR: Missing setting RETRACT_LENGTH_SWAP
#endif #endif
#if NOTEXIST(RETRACT_FEEDRATE) #if DISABLED(RETRACT_FEEDRATE)
#error DEPENDENCY ERROR: Missing setting RETRACT_FEEDRATE #error DEPENDENCY ERROR: Missing setting RETRACT_FEEDRATE
#endif #endif
#if NOTEXIST(RETRACT_ZLIFT) #if DISABLED(RETRACT_ZLIFT)
#error DEPENDENCY ERROR: Missing setting RETRACT_ZLIFT #error DEPENDENCY ERROR: Missing setting RETRACT_ZLIFT
#endif #endif
#if NOTEXIST(RETRACT_RECOVER_LENGTH) #if DISABLED(RETRACT_RECOVER_LENGTH)
#error DEPENDENCY ERROR: Missing setting RETRACT_RECOVER_LENGTH #error DEPENDENCY ERROR: Missing setting RETRACT_RECOVER_LENGTH
#endif #endif
#if NOTEXIST(RETRACT_RECOVER_LENGTH_SWAP) #if DISABLED(RETRACT_RECOVER_LENGTH_SWAP)
#error DEPENDENCY ERROR: Missing setting RETRACT_RECOVER_LENGTH_SWAP #error DEPENDENCY ERROR: Missing setting RETRACT_RECOVER_LENGTH_SWAP
#endif #endif
#if NOTEXIST(RETRACT_RECOVER_FEEDRATE) #if DISABLED(RETRACT_RECOVER_FEEDRATE)
#error DEPENDENCY ERROR: Missing setting RETRACT_RECOVER_FEEDRATE #error DEPENDENCY ERROR: Missing setting RETRACT_RECOVER_FEEDRATE
#endif #endif
#endif #endif
#if EXIST(DUAL_X_CARRIAGE) #if ENABLED(DUAL_X_CARRIAGE)
#if NOTEXIST(X2_MIN_POS) #if DISABLED(X2_MIN_POS)
#error DEPENDENCY ERROR: Missing setting X2_MIN_POS #error DEPENDENCY ERROR: Missing setting X2_MIN_POS
#endif #endif
#if NOTEXIST(X2_MAX_POS) #if DISABLED(X2_MAX_POS)
#error DEPENDENCY ERROR: Missing setting X2_MAX_POS #error DEPENDENCY ERROR: Missing setting X2_MAX_POS
#endif #endif
#if NOTEXIST(X2_HOME_DIR) #if DISABLED(X2_HOME_DIR)
#error DEPENDENCY ERROR: Missing setting X2_HOME_DIR #error DEPENDENCY ERROR: Missing setting X2_HOME_DIR
#endif #endif
#if NOTEXIST(X2_HOME_POS) #if DISABLED(X2_HOME_POS)
#error DEPENDENCY ERROR: Missing setting X2_HOME_POS #error DEPENDENCY ERROR: Missing setting X2_HOME_POS
#endif #endif
#if NOTEXIST(DEFAULT_DUAL_X_CARRIAGE_MODE) #if DISABLED(DEFAULT_DUAL_X_CARRIAGE_MODE)
#error DEPENDENCY ERROR: Missing setting DEFAULT_DUAL_X_CARRIAGE_MODE #error DEPENDENCY ERROR: Missing setting DEFAULT_DUAL_X_CARRIAGE_MODE
#endif #endif
#if NOTEXIST(TOOLCHANGE_PARK_ZLIFT) #if DISABLED(TOOLCHANGE_PARK_ZLIFT)
#error DEPENDENCY ERROR: Missing setting TOOLCHANGE_PARK_ZLIFT #error DEPENDENCY ERROR: Missing setting TOOLCHANGE_PARK_ZLIFT
#endif #endif
#if NOTEXIST(TOOLCHANGE_UNPARK_ZLIFT) #if DISABLED(TOOLCHANGE_UNPARK_ZLIFT)
#error DEPENDENCY ERROR: Missing setting TOOLCHANGE_UNPARK_ZLIFT #error DEPENDENCY ERROR: Missing setting TOOLCHANGE_UNPARK_ZLIFT
#endif #endif
#if NOTEXIST(DEFAULT_DUPLICATION_X_OFFSET) #if DISABLED(DEFAULT_DUPLICATION_X_OFFSET)
#error DEPENDENCY ERROR: Missing setting DEFAULT_DUPLICATION_X_OFFSET #error DEPENDENCY ERROR: Missing setting DEFAULT_DUPLICATION_X_OFFSET
#endif #endif
#endif #endif
#if EXIST(Y_DUAL_STEPPER_DRIVERS) #if ENABLED(Y_DUAL_STEPPER_DRIVERS)
#if NOTEXIST(INVERT_Y2_VS_Y_DIR) #if DISABLED(INVERT_Y2_VS_Y_DIR)
#error DEPENDENCY ERROR: Missing setting INVERT_Y2_VS_Y_DIR #error DEPENDENCY ERROR: Missing setting INVERT_Y2_VS_Y_DIR
#endif #endif
#endif #endif
//sensors //sensors
#if EXIST(FILAMENT_SENSOR) #if ENABLED(FILAMENT_SENSOR)
#if NOTEXIST(FILAMENT_SENSOR_EXTRUDER_NUM) #if DISABLED(FILAMENT_SENSOR_EXTRUDER_NUM)
#error DEPENDENCY ERROR: Missing setting FILAMENT_SENSOR_EXTRUDER_NUM #error DEPENDENCY ERROR: Missing setting FILAMENT_SENSOR_EXTRUDER_NUM
#endif #endif
#if NOTEXIST(MEASUREMENT_DELAY_CM) #if DISABLED(MEASUREMENT_DELAY_CM)
#error DEPENDENCY ERROR: Missing setting MEASUREMENT_DELAY_CM #error DEPENDENCY ERROR: Missing setting MEASUREMENT_DELAY_CM
#endif #endif
#if NOTEXIST(DEFAULT_NOMINAL_FILAMENT_DIA) #if DISABLED(DEFAULT_NOMINAL_FILAMENT_DIA)
#error DEPENDENCY ERROR: Missing setting DEFAULT_NOMINAL_FILAMENT_DIA #error DEPENDENCY ERROR: Missing setting DEFAULT_NOMINAL_FILAMENT_DIA
#endif #endif
#if NOTEXIST(MEASURED_UPPER_LIMIT) #if DISABLED(MEASURED_UPPER_LIMIT)
#error DEPENDENCY ERROR: Missing setting MEASURED_UPPER_LIMIT #error DEPENDENCY ERROR: Missing setting MEASURED_UPPER_LIMIT
#endif #endif
#if NOTEXIST(MEASURED_LOWER_LIMIT) #if DISABLED(MEASURED_LOWER_LIMIT)
#error DEPENDENCY ERROR: Missing setting MEASURED_LOWER_LIMIT #error DEPENDENCY ERROR: Missing setting MEASURED_LOWER_LIMIT
#endif #endif
#if NOTEXIST(MAX_MEASUREMENT_DELAY) #if DISABLED(MAX_MEASUREMENT_DELAY)
#error DEPENDENCY ERROR: Missing setting MAX_MEASUREMENT_DELAY #error DEPENDENCY ERROR: Missing setting MAX_MEASUREMENT_DELAY
#endif #endif
#if NOTEXIST(DEFAULT_MEASURED_FILAMENT_DIA) #if DISABLED(DEFAULT_MEASURED_FILAMENT_DIA)
#error DEPENDENCY ERROR: Missing setting DEFAULT_MEASURED_FILAMENT_DIA #error DEPENDENCY ERROR: Missing setting DEFAULT_MEASURED_FILAMENT_DIA
#endif #endif
#endif #endif
#if EXIST(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
#if NOTEXIST(FILRUNOUT_PIN_INVERTING) #if DISABLED(FILRUNOUT_PIN_INVERTING)
#error DEPENDENCY ERROR: Missing setting FILRUNOUT_PIN_INVERTING #error DEPENDENCY ERROR: Missing setting FILRUNOUT_PIN_INVERTING
#endif #endif
#if NOTEXIST(ENDSTOPPULLUP_FIL_RUNOUT) #if DISABLED(ENDSTOPPULLUP_FIL_RUNOUT)
#error DEPENDENCY ERROR: Missing setting ENDSTOPPULLUP_FIL_RUNOUT #error DEPENDENCY ERROR: Missing setting ENDSTOPPULLUP_FIL_RUNOUT
#endif #endif
#if NOTEXIST(FILAMENT_RUNOUT_SCRIPT) #if DISABLED(FILAMENT_RUNOUT_SCRIPT)
#error DEPENDENCY ERROR: Missing setting FILAMENT_RUNOUT_SCRIPT #error DEPENDENCY ERROR: Missing setting FILAMENT_RUNOUT_SCRIPT
#endif #endif
#endif #endif
#if EXIST(POWER_CONSUMPTION) #if ENABLED(POWER_CONSUMPTION)
#if NOTEXIST(POWER_VOLTAGE) #if DISABLED(POWER_VOLTAGE)
#error DEPENDENCY ERROR: Missing setting POWER_VOLTAGE #error DEPENDENCY ERROR: Missing setting POWER_VOLTAGE
#endif #endif
#if NOTEXIST(POWER_SENSITIVITY) #if DISABLED(POWER_SENSITIVITY)
#error DEPENDENCY ERROR: Missing setting POWER_SENSITIVITY #error DEPENDENCY ERROR: Missing setting POWER_SENSITIVITY
#endif #endif
#if NOTEXIST(POWER_OFFSET) #if DISABLED(POWER_OFFSET)
#error DEPENDENCY ERROR: Missing setting POWER_OFFSET #error DEPENDENCY ERROR: Missing setting POWER_OFFSET
#endif #endif
#if NOTEXIST(POWER_ZERO) #if DISABLED(POWER_ZERO)
#error DEPENDENCY ERROR: Missing setting POWER_ZERO #error DEPENDENCY ERROR: Missing setting POWER_ZERO
#endif #endif
#if NOTEXIST(POWER_ERROR) #if DISABLED(POWER_ERROR)
#error DEPENDENCY ERROR: Missing setting POWER_ERROR #error DEPENDENCY ERROR: Missing setting POWER_ERROR
#endif #endif
#if NOTEXIST(POWER_EFFICIENCY) #if DISABLED(POWER_EFFICIENCY)
#error DEPENDENCY ERROR: Missing setting POWER_EFFICIENCY #error DEPENDENCY ERROR: Missing setting POWER_EFFICIENCY
#endif #endif
#endif #endif
//addon //addon
#if EXIST(SDSUPPORT) #if ENABLED(SDSUPPORT)
#if NOTEXIST(SD_FINISHED_STEPPERRELEASE) #if DISABLED(SD_FINISHED_STEPPERRELEASE)
#error DEPENDENCY ERROR: Missing setting SD_FINISHED_STEPPERRELEASE #error DEPENDENCY ERROR: Missing setting SD_FINISHED_STEPPERRELEASE
#endif #endif
#if NOTEXIST(SD_FINISHED_RELEASECOMMAND) #if DISABLED(SD_FINISHED_RELEASECOMMAND)
#error DEPENDENCY ERROR: Missing setting SD_FINISHED_RELEASECOMMAND #error DEPENDENCY ERROR: Missing setting SD_FINISHED_RELEASECOMMAND
#endif #endif
#if EXIST(SD_SETTINGS) #if ENABLED(SD_SETTINGS)
#if NOTEXIST(SD_CFG_SECONDS) #if DISABLED(SD_CFG_SECONDS)
#error DEPENDENCY ERROR: Missing setting SD_CFG_SECONDS #error DEPENDENCY ERROR: Missing setting SD_CFG_SECONDS
#endif #endif
#if NOTEXIST(CFG_SD_FILE) #if DISABLED(CFG_SD_FILE)
#error DEPENDENCY ERROR: Missing setting CFG_SD_FILE #error DEPENDENCY ERROR: Missing setting CFG_SD_FILE
#endif #endif
#if NOTEXIST(CFG_SD_MAX_KEY_LEN) #if DISABLED(CFG_SD_MAX_KEY_LEN)
#error DEPENDENCY ERROR: Missing setting CFG_SD_MAX_KEY_LEN #error DEPENDENCY ERROR: Missing setting CFG_SD_MAX_KEY_LEN
#endif #endif
#if NOTEXIST(CFG_SD_MAX_VALUE_LEN) #if DISABLED(CFG_SD_MAX_VALUE_LEN)
#error DEPENDENCY ERROR: Missing setting CFG_SD_MAX_VALUE_LEN #error DEPENDENCY ERROR: Missing setting CFG_SD_MAX_VALUE_LEN
#endif #endif
#endif #endif
#endif #endif
#if NOTEXIST(DISPLAY_CHARSET_HD44780_JAPAN) && NOTEXIST(DISPLAY_CHARSET_HD44780_WESTERN) && NOTEXIST(DISPLAY_CHARSET_HD44780_CYRILLIC) #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 #error DEPENDENCY ERROR: Missing setting DISPLAY_CHARSET_HD44780_JAPAN or DISPLAY_CHARSET_HD44780_WESTERN or DISPLAY_CHARSET_HD44780_CYRILLIC
#endif #endif
#if EXIST(SHOW_BOOTSCREEN) #if ENABLED(SHOW_BOOTSCREEN)
#if NOTEXIST(STRING_SPLASH_LINE1) #if DISABLED(STRING_SPLASH_LINE1)
#error DEPENDENCY ERROR: Missing setting STRING_SPLASH_LINE1 #error DEPENDENCY ERROR: Missing setting STRING_SPLASH_LINE1
#endif #endif
#if NOTEXIST(SPLASH_SCREEN_DURATION) #if DISABLED(SPLASH_SCREEN_DURATION)
#error DEPENDENCY ERROR: Missing setting SPLASH_SCREEN_DURATION #error DEPENDENCY ERROR: Missing setting SPLASH_SCREEN_DURATION
#endif #endif
#endif #endif
#if ENABLED(ULTIPANEL) #if ENABLED(ULTIPANEL)
#if EXIST(ENCODER_RATE_MULTIPLIER) #if ENABLED(ENCODER_RATE_MULTIPLIER)
#if NOTEXIST(ENCODER_10X_STEPS_PER_SEC) #if DISABLED(ENCODER_10X_STEPS_PER_SEC)
#error DEPENDENCY ERROR: Missing setting ENCODER_10X_STEPS_PER_SEC #error DEPENDENCY ERROR: Missing setting ENCODER_10X_STEPS_PER_SEC
#endif #endif
#if NOTEXIST(ENCODER_100X_STEPS_PER_SEC) #if DISABLED(ENCODER_100X_STEPS_PER_SEC)
#error DEPENDENCY ERROR: Missing setting ENCODER_100X_STEPS_PER_SEC #error DEPENDENCY ERROR: Missing setting ENCODER_100X_STEPS_PER_SEC
#endif #endif
#endif #endif
#endif #endif
#if MB(ALLIGATOR) #if MB(ALLIGATOR)
#if NOTEXIST(UI_VOLTAGE_LEVEL) #if DISABLED(UI_VOLTAGE_LEVEL)
#error DEPENDENCY ERROR: Missing setting UI_VOLTAGE_LEVEL #error DEPENDENCY ERROR: Missing setting UI_VOLTAGE_LEVEL
#endif #endif
#endif #endif
#if EXIST(REPRAPWORLD_KEYPAD) #if ENABLED(REPRAPWORLD_KEYPAD)
#if NOTEXIST(REPRAPWORLD_KEYPAD_MOVE_STEP) #if DISABLED(REPRAPWORLD_KEYPAD_MOVE_STEP)
#error DEPENDENCY ERROR: Missing setting REPRAPWORLD_KEYPAD_MOVE_STEP #error DEPENDENCY ERROR: Missing setting REPRAPWORLD_KEYPAD_MOVE_STEP
#endif #endif
#endif #endif
#if ENABLED(ULTIPANEL) #if ENABLED(ULTIPANEL)
#if EXIST(LCD_PROGRESS_BAR) #if ENABLED(LCD_PROGRESS_BAR)
#if NOTEXIST(PROGRESS_BAR_BAR_TIME) #if DISABLED(PROGRESS_BAR_BAR_TIME)
#error DEPENDENCY ERROR: Missing setting PROGRESS_BAR_BAR_TIME #error DEPENDENCY ERROR: Missing setting PROGRESS_BAR_BAR_TIME
#endif #endif
#if NOTEXIST(PROGRESS_BAR_MSG_TIME) #if DISABLED(PROGRESS_BAR_MSG_TIME)
#error DEPENDENCY ERROR: Missing setting PROGRESS_BAR_MSG_TIME #error DEPENDENCY ERROR: Missing setting PROGRESS_BAR_MSG_TIME
#endif #endif
#if NOTEXIST(PROGRESS_MSG_EXPIRE) #if DISABLED(PROGRESS_MSG_EXPIRE)
#error DEPENDENCY ERROR: Missing setting PROGRESS_MSG_EXPIRE #error DEPENDENCY ERROR: Missing setting PROGRESS_MSG_EXPIRE
#endif #endif
#endif #endif
#endif #endif
#if EXIST(CHDK) #if ENABLED(CHDK)
#if NOTEXIST(CHDK_DELAY) #if DISABLED(CHDK_DELAY)
#error DEPENDENCY ERROR: Missing setting CHDK_DELAY #error DEPENDENCY ERROR: Missing setting CHDK_DELAY
#endif #endif
#endif #endif
//adv motion //adv motion
#if EXIST(USE_MICROSTEPS) #if ENABLED(USE_MICROSTEPS)
#if NOTEXIST(MICROSTEP_MODES) #if DISABLED(MICROSTEP_MODES)
#error DEPENDENCY ERROR: Missing setting MICROSTEP_MODES #error DEPENDENCY ERROR: Missing setting MICROSTEP_MODES
#endif #endif
#endif #endif
#if NOTEXIST(DEFAULT_STEPPER_DEACTIVE_TIME) #if DISABLED(DEFAULT_STEPPER_DEACTIVE_TIME)
#error DEPENDENCY ERROR: Missing setting DEFAULT_STEPPER_DEACTIVE_TIME #error DEPENDENCY ERROR: Missing setting DEFAULT_STEPPER_DEACTIVE_TIME
#endif #endif
#if ENABLED(STEPPER_HIGH_LOW) #if ENABLED(STEPPER_HIGH_LOW)
#if NOTEXIST(STEPPER_HIGH_LOW_DELAY) #if DISABLED(STEPPER_HIGH_LOW_DELAY)
#error DEPENDENCY ERROR: Missing setting STEPPER_HIGH_LOW_DELAY #error DEPENDENCY ERROR: Missing setting STEPPER_HIGH_LOW_DELAY
#endif #endif
#endif #endif
#if EXIST(DIGIPOT_I2C) #if ENABLED(DIGIPOT_I2C)
#if NOTEXIST(DIGIPOT_I2C_NUM_CHANNELS) #if DISABLED(DIGIPOT_I2C_NUM_CHANNELS)
#error DEPENDENCY ERROR: Missing setting DIGIPOT_I2C_NUM_CHANNELS #error DEPENDENCY ERROR: Missing setting DIGIPOT_I2C_NUM_CHANNELS
#endif #endif
#if NOTEXIST(DIGIPOT_I2C_MOTOR_CURRENTS) #if DISABLED(DIGIPOT_I2C_MOTOR_CURRENTS)
#error DEPENDENCY ERROR: Missing setting DIGIPOT_I2C_MOTOR_CURRENTS #error DEPENDENCY ERROR: Missing setting DIGIPOT_I2C_MOTOR_CURRENTS
#endif #endif
#endif #endif
#if EXIST(HAVE_TMCDRIVER) #if ENABLED(HAVE_TMCDRIVER)
#if EXIST(X_IS_TMC) #if ENABLED(X_IS_TMC)
#if NOTEXIST(X_MAX_CURRENT) #if DISABLED(X_MAX_CURRENT)
#error DEPENDENCY ERROR: Missing setting X_MAX_CURRENT #error DEPENDENCY ERROR: Missing setting X_MAX_CURRENT
#endif #endif
#if NOTEXIST(X_SENSE_RESISTOR) #if DISABLED(X_SENSE_RESISTOR)
#error DEPENDENCY ERROR: Missing setting X_SENSE_RESISTOR #error DEPENDENCY ERROR: Missing setting X_SENSE_RESISTOR
#endif #endif
#if NOTEXIST(X_MICROSTEPS) #if DISABLED(X_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting X_MICROSTEPS #error DEPENDENCY ERROR: Missing setting X_MICROSTEPS
#endif #endif
#endif #endif
#if EXIST(X2_IS_TMC) #if ENABLED(X2_IS_TMC)
#if NOTEXIST(X2_MAX_CURRENT) #if DISABLED(X2_MAX_CURRENT)
#error DEPENDENCY ERROR: Missing setting X2_MAX_CURRENT #error DEPENDENCY ERROR: Missing setting X2_MAX_CURRENT
#endif #endif
#if NOTEXIST(X2_SENSE_RESISTOR) #if DISABLED(X2_SENSE_RESISTOR)
#error DEPENDENCY ERROR: Missing setting X2_SENSE_RESISTOR #error DEPENDENCY ERROR: Missing setting X2_SENSE_RESISTOR
#endif #endif
#if NOTEXIST(X2_MICROSTEPS) #if DISABLED(X2_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting X2_MICROSTEPS #error DEPENDENCY ERROR: Missing setting X2_MICROSTEPS
#endif #endif
#endif #endif
#if EXIST(Y_IS_TMC) #if ENABLED(Y_IS_TMC)
#if NOTEXIST(Y_MAX_CURRENT) #if DISABLED(Y_MAX_CURRENT)
#error DEPENDENCY ERROR: Missing setting Y_MAX_CURRENT #error DEPENDENCY ERROR: Missing setting Y_MAX_CURRENT
#endif #endif
#if NOTEXIST(Y_SENSE_RESISTOR) #if DISABLED(Y_SENSE_RESISTOR)
#error DEPENDENCY ERROR: Missing setting Y_SENSE_RESISTOR #error DEPENDENCY ERROR: Missing setting Y_SENSE_RESISTOR
#endif #endif
#if NOTEXIST(Y_MICROSTEPS) #if DISABLED(Y_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting Y_MICROSTEPS #error DEPENDENCY ERROR: Missing setting Y_MICROSTEPS
#endif #endif
#endif #endif
#if EXIST(Y2_IS_TMC) #if ENABLED(Y2_IS_TMC)
#if NOTEXIST(Y2_MAX_CURRENT) #if DISABLED(Y2_MAX_CURRENT)
#error DEPENDENCY ERROR: Missing setting Y2_MAX_CURRENT #error DEPENDENCY ERROR: Missing setting Y2_MAX_CURRENT
#endif #endif
#if NOTEXIST(Y2_SENSE_RESISTOR) #if DISABLED(Y2_SENSE_RESISTOR)
#error DEPENDENCY ERROR: Missing setting Y2_SENSE_RESISTOR #error DEPENDENCY ERROR: Missing setting Y2_SENSE_RESISTOR
#endif #endif
#if NOTEXIST(Y2_MICROSTEPS) #if DISABLED(Y2_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting Y2_MICROSTEPS #error DEPENDENCY ERROR: Missing setting Y2_MICROSTEPS
#endif #endif
#endif #endif
#if EXIST(Z_IS_TMC) #if ENABLED(Z_IS_TMC)
#if NOTEXIST(Z_MAX_CURRENT) #if DISABLED(Z_MAX_CURRENT)
#error DEPENDENCY ERROR: Missing setting Z_MAX_CURRENT #error DEPENDENCY ERROR: Missing setting Z_MAX_CURRENT
#endif #endif
#if NOTEXIST(Z_SENSE_RESISTOR) #if DISABLED(Z_SENSE_RESISTOR)
#error DEPENDENCY ERROR: Missing setting Z_SENSE_RESISTOR #error DEPENDENCY ERROR: Missing setting Z_SENSE_RESISTOR
#endif #endif
#if NOTEXIST(Z_MICROSTEPS) #if DISABLED(Z_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting Z_MICROSTEPS #error DEPENDENCY ERROR: Missing setting Z_MICROSTEPS
#endif #endif
#endif #endif
#if EXIST(Z2_IS_TMC) #if ENABLED(Z2_IS_TMC)
#if NOTEXIST(Z2_MAX_CURRENT) #if DISABLED(Z2_MAX_CURRENT)
#error DEPENDENCY ERROR: Missing setting Z2_MAX_CURRENT #error DEPENDENCY ERROR: Missing setting Z2_MAX_CURRENT
#endif #endif
#if NOTEXIST(Z2_SENSE_RESISTOR) #if DISABLED(Z2_SENSE_RESISTOR)
#error DEPENDENCY ERROR: Missing setting Z2_SENSE_RESISTOR #error DEPENDENCY ERROR: Missing setting Z2_SENSE_RESISTOR
#endif #endif
#if NOTEXIST(Z2_MICROSTEPS) #if DISABLED(Z2_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting Z2_MICROSTEPS #error DEPENDENCY ERROR: Missing setting Z2_MICROSTEPS
#endif #endif
#endif #endif
#if EXIST(E0_IS_TMC) #if ENABLED(E0_IS_TMC)
#if NOTEXIST(E0_MAX_CURRENT) #if DISABLED(E0_MAX_CURRENT)
#error DEPENDENCY ERROR: Missing setting E0_MAX_CURRENT #error DEPENDENCY ERROR: Missing setting E0_MAX_CURRENT
#endif #endif
#if NOTEXIST(E0_SENSE_RESISTOR) #if DISABLED(E0_SENSE_RESISTOR)
#error DEPENDENCY ERROR: Missing setting E0_SENSE_RESISTOR #error DEPENDENCY ERROR: Missing setting E0_SENSE_RESISTOR
#endif #endif
#if NOTEXIST(E0_MICROSTEPS) #if DISABLED(E0_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting E0_MICROSTEPS #error DEPENDENCY ERROR: Missing setting E0_MICROSTEPS
#endif #endif
#endif #endif
#if EXIST(E1_IS_TMC) #if ENABLED(E1_IS_TMC)
#if NOTEXIST(E1_MAX_CURRENT) #if DISABLED(E1_MAX_CURRENT)
#error DEPENDENCY ERROR: Missing setting E1_MAX_CURRENT #error DEPENDENCY ERROR: Missing setting E1_MAX_CURRENT
#endif #endif
#if NOTEXIST(E1_SENSE_RESISTOR) #if DISABLED(E1_SENSE_RESISTOR)
#error DEPENDENCY ERROR: Missing setting E1_SENSE_RESISTOR #error DEPENDENCY ERROR: Missing setting E1_SENSE_RESISTOR
#endif #endif
#if NOTEXIST(E1_MICROSTEPS) #if DISABLED(E1_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting E1_MICROSTEPS #error DEPENDENCY ERROR: Missing setting E1_MICROSTEPS
#endif #endif
#endif #endif
#if EXIST(E2_IS_TMC) #if ENABLED(E2_IS_TMC)
#if NOTEXIST(E2_MAX_CURRENT) #if DISABLED(E2_MAX_CURRENT)
#error DEPENDENCY ERROR: Missing setting E2_MAX_CURRENT #error DEPENDENCY ERROR: Missing setting E2_MAX_CURRENT
#endif #endif
#if NOTEXIST(E2_SENSE_RESISTOR) #if DISABLED(E2_SENSE_RESISTOR)
#error DEPENDENCY ERROR: Missing setting E2_SENSE_RESISTOR #error DEPENDENCY ERROR: Missing setting E2_SENSE_RESISTOR
#endif #endif
#if NOTEXIST(E2_MICROSTEPS) #if DISABLED(E2_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting E2_MICROSTEPS #error DEPENDENCY ERROR: Missing setting E2_MICROSTEPS
#endif #endif
#endif #endif
#if EXIST(E3_IS_TMC) #if ENABLED(E3_IS_TMC)
#if NOTEXIST(E3_MAX_CURRENT) #if DISABLED(E3_MAX_CURRENT)
#error DEPENDENCY ERROR: Missing setting E3_MAX_CURRENT #error DEPENDENCY ERROR: Missing setting E3_MAX_CURRENT
#endif #endif
#if NOTEXIST(E3_SENSE_RESISTOR) #if DISABLED(E3_SENSE_RESISTOR)
#error DEPENDENCY ERROR: Missing setting E3_SENSE_RESISTOR #error DEPENDENCY ERROR: Missing setting E3_SENSE_RESISTOR
#endif #endif
#if NOTEXIST(E3_MICROSTEPS) #if DISABLED(E3_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting E3_MICROSTEPS #error DEPENDENCY ERROR: Missing setting E3_MICROSTEPS
#endif #endif
#endif #endif
#endif #endif
#if EXIST(HAVE_L6470DRIVER) #if ENABLED(HAVE_L6470DRIVER)
#if EXIST(X_IS_L6470) #if ENABLED(X_IS_L6470)
#if NOTEXIST(X_MICROSTEPS) #if DISABLED(X_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting X_MICROSTEPS #error DEPENDENCY ERROR: Missing setting X_MICROSTEPS
#endif #endif
#if NOTEXIST(X_K_VAL) #if DISABLED(X_K_VAL)
#error DEPENDENCY ERROR: Missing setting X_K_VAL #error DEPENDENCY ERROR: Missing setting X_K_VAL
#endif #endif
#if NOTEXIST(X_OVERCURRENT) #if DISABLED(X_OVERCURRENT)
#error DEPENDENCY ERROR: Missing setting X_OVERCURRENT #error DEPENDENCY ERROR: Missing setting X_OVERCURRENT
#endif #endif
#if NOTEXIST(X_STALLCURRENT) #if DISABLED(X_STALLCURRENT)
#error DEPENDENCY ERROR: Missing setting X_STALLCURRENT #error DEPENDENCY ERROR: Missing setting X_STALLCURRENT
#endif #endif
#endif #endif
#if EXIST(X2_IS_L6470) #if ENABLED(X2_IS_L6470)
#if NOTEXIST(X2_MICROSTEPS) #if DISABLED(X2_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting X2_MICROSTEPS #error DEPENDENCY ERROR: Missing setting X2_MICROSTEPS
#endif #endif
#if NOTEXIST(X2_K_VAL) #if DISABLED(X2_K_VAL)
#error DEPENDENCY ERROR: Missing setting X2_K_VAL #error DEPENDENCY ERROR: Missing setting X2_K_VAL
#endif #endif
#if NOTEXIST(X2_OVERCURRENT) #if DISABLED(X2_OVERCURRENT)
#error DEPENDENCY ERROR: Missing setting X2_OVERCURRENT #error DEPENDENCY ERROR: Missing setting X2_OVERCURRENT
#endif #endif
#if NOTEXIST(X2_STALLCURRENT) #if DISABLED(X2_STALLCURRENT)
#error DEPENDENCY ERROR: Missing setting X2_STALLCURRENT #error DEPENDENCY ERROR: Missing setting X2_STALLCURRENT
#endif #endif
#endif #endif
#if EXIST(Y_IS_L6470) #if ENABLED(Y_IS_L6470)
#if NOTEXIST(Y_MICROSTEPS) #if DISABLED(Y_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting Y_MICROSTEPS #error DEPENDENCY ERROR: Missing setting Y_MICROSTEPS
#endif #endif
#if NOTEXIST(Y_K_VAL) #if DISABLED(Y_K_VAL)
#error DEPENDENCY ERROR: Missing setting Y_K_VAL #error DEPENDENCY ERROR: Missing setting Y_K_VAL
#endif #endif
#if NOTEXIST(Y_OVERCURRENT) #if DISABLED(Y_OVERCURRENT)
#error DEPENDENCY ERROR: Missing setting Y_OVERCURRENT #error DEPENDENCY ERROR: Missing setting Y_OVERCURRENT
#endif #endif
#if NOTEXIST(Y_STALLCURRENT) #if DISABLED(Y_STALLCURRENT)
#error DEPENDENCY ERROR: Missing setting Y_STALLCURRENT #error DEPENDENCY ERROR: Missing setting Y_STALLCURRENT
#endif #endif
#endif #endif
#if EXIST(Y2_IS_L6470) #if ENABLED(Y2_IS_L6470)
#if NOTEXIST(Y2_MICROSTEPS) #if DISABLED(Y2_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting Y2_MICROSTEPS #error DEPENDENCY ERROR: Missing setting Y2_MICROSTEPS
#endif #endif
#if NOTEXIST(Y2_K_VAL) #if DISABLED(Y2_K_VAL)
#error DEPENDENCY ERROR: Missing setting Y2_K_VAL #error DEPENDENCY ERROR: Missing setting Y2_K_VAL
#endif #endif
#if NOTEXIST(Y2_OVERCURRENT) #if DISABLED(Y2_OVERCURRENT)
#error DEPENDENCY ERROR: Missing setting Y2_OVERCURRENT #error DEPENDENCY ERROR: Missing setting Y2_OVERCURRENT
#endif #endif
#if NOTEXIST(Y2_STALLCURRENT) #if DISABLED(Y2_STALLCURRENT)
#error DEPENDENCY ERROR: Missing setting Y2_STALLCURRENT #error DEPENDENCY ERROR: Missing setting Y2_STALLCURRENT
#endif #endif
#endif #endif
#if EXIST(Z_IS_L6470) #if ENABLED(Z_IS_L6470)
#if NOTEXIST(Z_MICROSTEPS) #if DISABLED(Z_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting Z_MICROSTEPS #error DEPENDENCY ERROR: Missing setting Z_MICROSTEPS
#endif #endif
#if NOTEXIST(Z_K_VAL) #if DISABLED(Z_K_VAL)
#error DEPENDENCY ERROR: Missing setting Z_K_VAL #error DEPENDENCY ERROR: Missing setting Z_K_VAL
#endif #endif
#if NOTEXIST(Z_OVERCURRENT) #if DISABLED(Z_OVERCURRENT)
#error DEPENDENCY ERROR: Missing setting Z_OVERCURRENT #error DEPENDENCY ERROR: Missing setting Z_OVERCURRENT
#endif #endif
#if NOTEXIST(Z_STALLCURRENT) #if DISABLED(Z_STALLCURRENT)
#error DEPENDENCY ERROR: Missing setting Z_STALLCURRENT #error DEPENDENCY ERROR: Missing setting Z_STALLCURRENT
#endif #endif
#endif #endif
#if EXIST(Z2_IS_L6470) #if ENABLED(Z2_IS_L6470)
#if NOTEXIST(Z2_MICROSTEPS) #if DISABLED(Z2_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting Z2_MICROSTEPS #error DEPENDENCY ERROR: Missing setting Z2_MICROSTEPS
#endif #endif
#if NOTEXIST(Z2_K_VAL) #if DISABLED(Z2_K_VAL)
#error DEPENDENCY ERROR: Missing setting Z2_K_VAL #error DEPENDENCY ERROR: Missing setting Z2_K_VAL
#endif #endif
#if NOTEXIST(Z2_OVERCURRENT) #if DISABLED(Z2_OVERCURRENT)
#error DEPENDENCY ERROR: Missing setting Z2_OVERCURRENT #error DEPENDENCY ERROR: Missing setting Z2_OVERCURRENT
#endif #endif
#if NOTEXIST(Z2_STALLCURRENT) #if DISABLED(Z2_STALLCURRENT)
#error DEPENDENCY ERROR: Missing setting Z2_STALLCURRENT #error DEPENDENCY ERROR: Missing setting Z2_STALLCURRENT
#endif #endif
#endif #endif
#if EXIST(E0_IS_L6470) #if ENABLED(E0_IS_L6470)
#if NOTEXIST(E0_MICROSTEPS) #if DISABLED(E0_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting E0_MICROSTEPS #error DEPENDENCY ERROR: Missing setting E0_MICROSTEPS
#endif #endif
#if NOTEXIST(E0_K_VAL) #if DISABLED(E0_K_VAL)
#error DEPENDENCY ERROR: Missing setting E0_K_VAL #error DEPENDENCY ERROR: Missing setting E0_K_VAL
#endif #endif
#if NOTEXIST(E0_OVERCURRENT) #if DISABLED(E0_OVERCURRENT)
#error DEPENDENCY ERROR: Missing setting E0_OVERCURRENT #error DEPENDENCY ERROR: Missing setting E0_OVERCURRENT
#endif #endif
#if NOTEXIST(E0_STALLCURRENT) #if DISABLED(E0_STALLCURRENT)
#error DEPENDENCY ERROR: Missing setting E0_STALLCURRENT #error DEPENDENCY ERROR: Missing setting E0_STALLCURRENT
#endif #endif
#endif #endif
#if EXIST(E1_IS_L6470) #if ENABLED(E1_IS_L6470)
#if NOTEXIST(E1_MICROSTEPS) #if DISABLED(E1_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting E1_MICROSTEPS #error DEPENDENCY ERROR: Missing setting E1_MICROSTEPS
#endif #endif
#if NOTEXIST(E1_K_VAL) #if DISABLED(E1_K_VAL)
#error DEPENDENCY ERROR: Missing setting E1_K_VAL #error DEPENDENCY ERROR: Missing setting E1_K_VAL
#endif #endif
#if NOTEXIST(E1_OVERCURRENT) #if DISABLED(E1_OVERCURRENT)
#error DEPENDENCY ERROR: Missing setting E1_OVERCURRENT #error DEPENDENCY ERROR: Missing setting E1_OVERCURRENT
#endif #endif
#if NOTEXIST(E1_STALLCURRENT) #if DISABLED(E1_STALLCURRENT)
#error DEPENDENCY ERROR: Missing setting E1_STALLCURRENT #error DEPENDENCY ERROR: Missing setting E1_STALLCURRENT
#endif #endif
#endif #endif
#if EXIST(E2_IS_L6470) #if ENABLED(E2_IS_L6470)
#if NOTEXIST(E2_MICROSTEPS) #if DISABLED(E2_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting E2_MICROSTEPS #error DEPENDENCY ERROR: Missing setting E2_MICROSTEPS
#endif #endif
#if NOTEXIST(E2_K_VAL) #if DISABLED(E2_K_VAL)
#error DEPENDENCY ERROR: Missing setting E2_K_VAL #error DEPENDENCY ERROR: Missing setting E2_K_VAL
#endif #endif
#if NOTEXIST(E2_OVERCURRENT) #if DISABLED(E2_OVERCURRENT)
#error DEPENDENCY ERROR: Missing setting E2_OVERCURRENT #error DEPENDENCY ERROR: Missing setting E2_OVERCURRENT
#endif #endif
#if NOTEXIST(E2_STALLCURRENT) #if DISABLED(E2_STALLCURRENT)
#error DEPENDENCY ERROR: Missing setting E2_STALLCURRENT #error DEPENDENCY ERROR: Missing setting E2_STALLCURRENT
#endif #endif
#endif #endif
#if EXIST(E3_IS_L6470) #if ENABLED(E3_IS_L6470)
#if NOTEXIST(E3_MICROSTEPS) #if DISABLED(E3_MICROSTEPS)
#error DEPENDENCY ERROR: Missing setting E3_MICROSTEPS #error DEPENDENCY ERROR: Missing setting E3_MICROSTEPS
#endif #endif
#if NOTEXIST(E3_K_VAL) #if DISABLED(E3_K_VAL)
#error DEPENDENCY ERROR: Missing setting E3_K_VAL #error DEPENDENCY ERROR: Missing setting E3_K_VAL
#endif #endif
#if NOTEXIST(E3_OVERCURRENT) #if DISABLED(E3_OVERCURRENT)
#error DEPENDENCY ERROR: Missing setting E3_OVERCURRENT #error DEPENDENCY ERROR: Missing setting E3_OVERCURRENT
#endif #endif
#if NOTEXIST(E3_STALLCURRENT) #if DISABLED(E3_STALLCURRENT)
#error DEPENDENCY ERROR: Missing setting E3_STALLCURRENT #error DEPENDENCY ERROR: Missing setting E3_STALLCURRENT
#endif #endif
#endif #endif
#endif #endif
//buffer //buffer
#if NOTEXIST(BLOCK_BUFFER_SIZE) #if DISABLED(BLOCK_BUFFER_SIZE)
#error DEPENDENCY ERROR: Missing setting BLOCK_BUFFER_SIZE #error DEPENDENCY ERROR: Missing setting BLOCK_BUFFER_SIZE
#endif #endif
#if NOTEXIST(MAX_CMD_SIZE) #if DISABLED(MAX_CMD_SIZE)
#error DEPENDENCY ERROR: Missing setting MAX_CMD_SIZE #error DEPENDENCY ERROR: Missing setting MAX_CMD_SIZE
#endif #endif
#if NOTEXIST(BUFSIZE) #if DISABLED(BUFSIZE)
#error DEPENDENCY ERROR: Missing setting BUFSIZE #error DEPENDENCY ERROR: Missing setting BUFSIZE
#endif #endif
#if NOTEXIST(NUM_POSITON_SLOTS) #if DISABLED(NUM_POSITON_SLOTS)
#error DEPENDENCY ERROR: Missing setting NUM_POSITON_SLOTS #error DEPENDENCY ERROR: Missing setting NUM_POSITON_SLOTS
#endif #endif
#if NOTEXIST(DROP_SEGMENTS) #if DISABLED(DROP_SEGMENTS)
#error DEPENDENCY ERROR: Missing setting DROP_SEGMENTS #error DEPENDENCY ERROR: Missing setting DROP_SEGMENTS
#endif #endif
#if NOTEXIST(DROP_SEGMENTS) #if DISABLED(DROP_SEGMENTS)
#error DEPENDENCY ERROR: Missing setting DROP_SEGMENTS #error DEPENDENCY ERROR: Missing setting DROP_SEGMENTS
#endif #endif
#if NOTEXIST(DEFAULT_MINSEGMENTTIME) #if DISABLED(DEFAULT_MINSEGMENTTIME)
#error DEPENDENCY ERROR: Missing setting DEFAULT_MINSEGMENTTIME #error DEPENDENCY ERROR: Missing setting DEFAULT_MINSEGMENTTIME
#endif #endif
#if NOTEXIST(MM_PER_ARC_SEGMENT) #if DISABLED(MM_PER_ARC_SEGMENT)
#error DEPENDENCY ERROR: Missing setting MM_PER_ARC_SEGMENT #error DEPENDENCY ERROR: Missing setting MM_PER_ARC_SEGMENT
#endif #endif
#if NOTEXIST(N_ARC_CORRECTION) #if DISABLED(N_ARC_CORRECTION)
#error DEPENDENCY ERROR: Missing setting N_ARC_CORRECTION #error DEPENDENCY ERROR: Missing setting N_ARC_CORRECTION
#endif #endif
//Machines //Machines
#if NOTEXIST(X_MIN_ENDSTOP_LOGIC) #if DISABLED(X_MIN_ENDSTOP_LOGIC)
#error DEPENDENCY ERROR: Missing setting X_MIN_ENDSTOP_LOGIC #error DEPENDENCY ERROR: Missing setting X_MIN_ENDSTOP_LOGIC
#endif #endif
#if NOTEXIST(Y_MIN_ENDSTOP_LOGIC) #if DISABLED(Y_MIN_ENDSTOP_LOGIC)
#error DEPENDENCY ERROR: Missing setting Y_MIN_ENDSTOP_LOGIC #error DEPENDENCY ERROR: Missing setting Y_MIN_ENDSTOP_LOGIC
#endif #endif
#if NOTEXIST(Z_MIN_ENDSTOP_LOGIC) #if DISABLED(Z_MIN_ENDSTOP_LOGIC)
#error DEPENDENCY ERROR: Missing setting Z_MIN_ENDSTOP_LOGIC #error DEPENDENCY ERROR: Missing setting Z_MIN_ENDSTOP_LOGIC
#endif #endif
#if NOTEXIST(Z2_MIN_ENDSTOP_LOGIC) #if DISABLED(Z2_MIN_ENDSTOP_LOGIC)
#error DEPENDENCY ERROR: Missing setting Z2_MIN_ENDSTOP_LOGIC #error DEPENDENCY ERROR: Missing setting Z2_MIN_ENDSTOP_LOGIC
#endif #endif
#if NOTEXIST(X_MAX_ENDSTOP_LOGIC) #if DISABLED(X_MAX_ENDSTOP_LOGIC)
#error DEPENDENCY ERROR: Missing setting X_MAX_ENDSTOP_LOGIC #error DEPENDENCY ERROR: Missing setting X_MAX_ENDSTOP_LOGIC
#endif #endif
#if NOTEXIST(Y_MAX_ENDSTOP_LOGIC) #if DISABLED(Y_MAX_ENDSTOP_LOGIC)
#error DEPENDENCY ERROR: Missing setting Y_MAX_ENDSTOP_LOGIC #error DEPENDENCY ERROR: Missing setting Y_MAX_ENDSTOP_LOGIC
#endif #endif
#if NOTEXIST(Z_MAX_ENDSTOP_LOGIC) #if DISABLED(Z_MAX_ENDSTOP_LOGIC)
#error DEPENDENCY ERROR: Missing setting Z_MAX_ENDSTOP_LOGIC #error DEPENDENCY ERROR: Missing setting Z_MAX_ENDSTOP_LOGIC
#endif #endif
#if NOTEXIST(Z2_MAX_ENDSTOP_LOGIC) #if DISABLED(Z2_MAX_ENDSTOP_LOGIC)
#error DEPENDENCY ERROR: Missing setting Z2_MAX_ENDSTOP_LOGIC #error DEPENDENCY ERROR: Missing setting Z2_MAX_ENDSTOP_LOGIC
#endif #endif
#if NOTEXIST(Z_PROBE_ENDSTOP_LOGIC) #if DISABLED(Z_PROBE_ENDSTOP_LOGIC)
#error DEPENDENCY ERROR: Missing setting Z_PROBE_ENDSTOP_LOGIC #error DEPENDENCY ERROR: Missing setting Z_PROBE_ENDSTOP_LOGIC
#endif #endif
#if NOTEXIST(E_MIN_ENDSTOP_LOGIC) #if DISABLED(E_MIN_ENDSTOP_LOGIC)
#error DEPENDENCY ERROR: Missing setting E_MIN_ENDSTOP_LOGIC #error DEPENDENCY ERROR: Missing setting E_MIN_ENDSTOP_LOGIC
#endif #endif
#if NOTEXIST(X_HOME_DIR) #if DISABLED(X_HOME_DIR)
#error DEPENDENCY ERROR: Missing setting X_HOME_DIR #error DEPENDENCY ERROR: Missing setting X_HOME_DIR
#endif #endif
#if NOTEXIST(Y_HOME_DIR) #if DISABLED(Y_HOME_DIR)
#error DEPENDENCY ERROR: Missing setting Y_HOME_DIR #error DEPENDENCY ERROR: Missing setting Y_HOME_DIR
#endif #endif
#if NOTEXIST(Z_HOME_DIR) #if DISABLED(Z_HOME_DIR)
#error DEPENDENCY ERROR: Missing setting Z_HOME_DIR #error DEPENDENCY ERROR: Missing setting Z_HOME_DIR
#endif #endif
#if NOTEXIST(E_HOME_DIR) #if DISABLED(E_HOME_DIR)
#error DEPENDENCY ERROR: Missing setting E_HOME_DIR #error DEPENDENCY ERROR: Missing setting E_HOME_DIR
#endif #endif
#if NOTEXIST(X_ENABLE_ON) #if DISABLED(X_ENABLE_ON)
#error DEPENDENCY ERROR: Missing setting X_ENABLE_ON #error DEPENDENCY ERROR: Missing setting X_ENABLE_ON
#endif #endif
#if NOTEXIST(Y_ENABLE_ON) #if DISABLED(Y_ENABLE_ON)
#error DEPENDENCY ERROR: Missing setting Y_ENABLE_ON #error DEPENDENCY ERROR: Missing setting Y_ENABLE_ON
#endif #endif
#if NOTEXIST(Z_ENABLE_ON) #if DISABLED(Z_ENABLE_ON)
#error DEPENDENCY ERROR: Missing setting Z_ENABLE_ON #error DEPENDENCY ERROR: Missing setting Z_ENABLE_ON
#endif #endif
#if NOTEXIST(E_ENABLE_ON) #if DISABLED(E_ENABLE_ON)
#error DEPENDENCY ERROR: Missing setting E_ENABLE_ON #error DEPENDENCY ERROR: Missing setting E_ENABLE_ON
#endif #endif
#if NOTEXIST(INVERT_X_STEP_PIN) #if DISABLED(INVERT_X_STEP_PIN)
#error DEPENDENCY ERROR: Missing setting INVERT_X_STEP_PIN #error DEPENDENCY ERROR: Missing setting INVERT_X_STEP_PIN
#endif #endif
#if NOTEXIST(INVERT_Y_STEP_PIN) #if DISABLED(INVERT_Y_STEP_PIN)
#error DEPENDENCY ERROR: Missing setting INVERT_Y_STEP_PIN #error DEPENDENCY ERROR: Missing setting INVERT_Y_STEP_PIN
#endif #endif
#if NOTEXIST(INVERT_Z_STEP_PIN) #if DISABLED(INVERT_Z_STEP_PIN)
#error DEPENDENCY ERROR: Missing setting INVERT_Z_STEP_PIN #error DEPENDENCY ERROR: Missing setting INVERT_Z_STEP_PIN
#endif #endif
#if NOTEXIST(INVERT_E_STEP_PIN) #if DISABLED(INVERT_E_STEP_PIN)
#error DEPENDENCY ERROR: Missing setting INVERT_E_STEP_PIN #error DEPENDENCY ERROR: Missing setting INVERT_E_STEP_PIN
#endif #endif
#if NOTEXIST(INVERT_X_DIR) #if DISABLED(INVERT_X_DIR)
#error DEPENDENCY ERROR: Missing setting INVERT_X_DIR #error DEPENDENCY ERROR: Missing setting INVERT_X_DIR
#endif #endif
#if NOTEXIST(INVERT_Y_DIR) #if DISABLED(INVERT_Y_DIR)
#error DEPENDENCY ERROR: Missing setting INVERT_Y_DIR #error DEPENDENCY ERROR: Missing setting INVERT_Y_DIR
#endif #endif
#if NOTEXIST(INVERT_Z_DIR) #if DISABLED(INVERT_Z_DIR)
#error DEPENDENCY ERROR: Missing setting INVERT_Z_DIR #error DEPENDENCY ERROR: Missing setting INVERT_Z_DIR
#endif #endif
#if NOTEXIST(INVERT_E0_DIR) #if DISABLED(INVERT_E0_DIR)
#error DEPENDENCY ERROR: Missing setting INVERT_E0_DIR #error DEPENDENCY ERROR: Missing setting INVERT_E0_DIR
#endif #endif
#if NOTEXIST(INVERT_E1_DIR) #if DISABLED(INVERT_E1_DIR)
#error DEPENDENCY ERROR: Missing setting INVERT_E1_DIR #error DEPENDENCY ERROR: Missing setting INVERT_E1_DIR
#endif #endif
#if NOTEXIST(INVERT_E2_DIR) #if DISABLED(INVERT_E2_DIR)
#error DEPENDENCY ERROR: Missing setting INVERT_E2_DIR #error DEPENDENCY ERROR: Missing setting INVERT_E2_DIR
#endif #endif
#if NOTEXIST(INVERT_E3_DIR) #if DISABLED(INVERT_E3_DIR)
#error DEPENDENCY ERROR: Missing setting INVERT_E3_DIR #error DEPENDENCY ERROR: Missing setting INVERT_E3_DIR
#endif #endif
#if NOTEXIST(DISABLE_X) #if DISABLED(DISABLE_X)
#error DEPENDENCY ERROR: Missing setting DISABLE_X #error DEPENDENCY ERROR: Missing setting DISABLE_X
#endif #endif
#if NOTEXIST(DISABLE_Y) #if DISABLED(DISABLE_Y)
#error DEPENDENCY ERROR: Missing setting DISABLE_Y #error DEPENDENCY ERROR: Missing setting DISABLE_Y
#endif #endif
#if NOTEXIST(DISABLE_Z) #if DISABLED(DISABLE_Z)
#error DEPENDENCY ERROR: Missing setting DISABLE_Z #error DEPENDENCY ERROR: Missing setting DISABLE_Z
#endif #endif
#if NOTEXIST(DISABLE_E) #if DISABLED(DISABLE_E)
#error DEPENDENCY ERROR: Missing setting DISABLE_E #error DEPENDENCY ERROR: Missing setting DISABLE_E
#endif #endif
#if NOTEXIST(DISABLE_INACTIVE_EXTRUDER) #if DISABLED(DISABLE_INACTIVE_EXTRUDER)
#error DEPENDENCY ERROR: Missing setting DISABLE_INACTIVE_EXTRUDER #error DEPENDENCY ERROR: Missing setting DISABLE_INACTIVE_EXTRUDER
#endif #endif
#if NOTEXIST(X_MAX_POS) #if DISABLED(X_MAX_POS)
#error DEPENDENCY ERROR: Missing setting X_MAX_POS #error DEPENDENCY ERROR: Missing setting X_MAX_POS
#endif #endif
#if NOTEXIST(X_MIN_POS) #if DISABLED(X_MIN_POS)
#error DEPENDENCY ERROR: Missing setting X_MIN_POS #error DEPENDENCY ERROR: Missing setting X_MIN_POS
#endif #endif
#if NOTEXIST(Y_MAX_POS) #if DISABLED(Y_MAX_POS)
#error DEPENDENCY ERROR: Missing setting Y_MAX_POS #error DEPENDENCY ERROR: Missing setting Y_MAX_POS
#endif #endif
#if NOTEXIST(Y_MIN_POS) #if DISABLED(Y_MIN_POS)
#error DEPENDENCY ERROR: Missing setting Y_MIN_POS #error DEPENDENCY ERROR: Missing setting Y_MIN_POS
#endif #endif
#if NOTEXIST(Z_MAX_POS) #if DISABLED(Z_MAX_POS)
#error DEPENDENCY ERROR: Missing setting Z_MAX_POS #error DEPENDENCY ERROR: Missing setting Z_MAX_POS
#endif #endif
#if NOTEXIST(Z_MIN_POS) #if DISABLED(Z_MIN_POS)
#error DEPENDENCY ERROR: Missing setting Z_MIN_POS #error DEPENDENCY ERROR: Missing setting Z_MIN_POS
#endif #endif
#if NOTEXIST(E_MIN_POS) #if DISABLED(E_MIN_POS)
#error DEPENDENCY ERROR: Missing setting E_MIN_POS #error DEPENDENCY ERROR: Missing setting E_MIN_POS
#endif #endif
#if NOTEXIST(AXIS_RELATIVE_MODES) #if DISABLED(AXIS_RELATIVE_MODES)
#error DEPENDENCY ERROR: Missing setting AXIS_RELATIVE_MODES #error DEPENDENCY ERROR: Missing setting AXIS_RELATIVE_MODES
#endif #endif
#if NOTEXIST(DEFAULT_AXIS_STEPS_PER_UNIT) #if DISABLED(DEFAULT_AXIS_STEPS_PER_UNIT)
#error DEPENDENCY ERROR: Missing setting DEFAULT_AXIS_STEPS_PER_UNIT #error DEPENDENCY ERROR: Missing setting DEFAULT_AXIS_STEPS_PER_UNIT
#endif #endif
#if ENABLED(ULTIPANEL) && NOTEXIST(MANUAL_FEEDRATE) #if ENABLED(ULTIPANEL) && DISABLED(MANUAL_FEEDRATE)
#error DEPENDENCY ERROR: Missing setting MANUAL_FEEDRATE #error DEPENDENCY ERROR: Missing setting MANUAL_FEEDRATE
#endif #endif
#if NOTEXIST(DEFAULT_MINTRAVELFEEDRATE) #if DISABLED(DEFAULT_MINTRAVELFEEDRATE)
#error DEPENDENCY ERROR: Missing setting DEFAULT_MINTRAVELFEEDRATE #error DEPENDENCY ERROR: Missing setting DEFAULT_MINTRAVELFEEDRATE
#endif #endif
#if NOTEXIST(MINIMUM_PLANNER_SPEED) #if DISABLED(MINIMUM_PLANNER_SPEED)
#error DEPENDENCY ERROR: Missing setting MINIMUM_PLANNER_SPEED #error DEPENDENCY ERROR: Missing setting MINIMUM_PLANNER_SPEED
#endif #endif
#if NOTEXIST(DEFAULT_MAX_ACCELERATION) #if DISABLED(DEFAULT_MAX_ACCELERATION)
#error DEPENDENCY ERROR: Missing setting DEFAULT_MAX_ACCELERATION #error DEPENDENCY ERROR: Missing setting DEFAULT_MAX_ACCELERATION
#endif #endif
#if NOTEXIST(DEFAULT_RETRACT_ACCELERATION) #if DISABLED(DEFAULT_RETRACT_ACCELERATION)
#error DEPENDENCY ERROR: Missing setting DEFAULT_RETRACT_ACCELERATION #error DEPENDENCY ERROR: Missing setting DEFAULT_RETRACT_ACCELERATION
#endif #endif
#if NOTEXIST(DEFAULT_ACCELERATION) #if DISABLED(DEFAULT_ACCELERATION)
#error DEPENDENCY ERROR: Missing setting DEFAULT_ACCELERATION #error DEPENDENCY ERROR: Missing setting DEFAULT_ACCELERATION
#endif #endif
#if NOTEXIST(DEFAULT_TRAVEL_ACCELERATION) #if DISABLED(DEFAULT_TRAVEL_ACCELERATION)
#error DEPENDENCY ERROR: Missing setting DEFAULT_TRAVEL_ACCELERATION #error DEPENDENCY ERROR: Missing setting DEFAULT_TRAVEL_ACCELERATION
#endif #endif
#if NOTEXIST(DEFAULT_XYJERK) #if DISABLED(DEFAULT_XYJERK)
#error DEPENDENCY ERROR: Missing setting DEFAULT_XYJERK #error DEPENDENCY ERROR: Missing setting DEFAULT_XYJERK
#endif #endif
#if NOTEXIST(DEFAULT_ZJERK) #if DISABLED(DEFAULT_ZJERK)
#error DEPENDENCY ERROR: Missing setting DEFAULT_ZJERK #error DEPENDENCY ERROR: Missing setting DEFAULT_ZJERK
#endif #endif
#if NOTEXIST(HOMING_FEEDRATE) #if DISABLED(HOMING_FEEDRATE)
#error DEPENDENCY ERROR: Missing setting HOMING_FEEDRATE #error DEPENDENCY ERROR: Missing setting HOMING_FEEDRATE
#endif #endif
#if NOTEXIST(X_HOME_BUMP_MM) #if DISABLED(X_HOME_BUMP_MM)
#error DEPENDENCY ERROR: Missing setting X_HOME_BUMP_MM #error DEPENDENCY ERROR: Missing setting X_HOME_BUMP_MM
#endif #endif
#if NOTEXIST(Y_HOME_BUMP_MM) #if DISABLED(Y_HOME_BUMP_MM)
#error DEPENDENCY ERROR: Missing setting Y_HOME_BUMP_MM #error DEPENDENCY ERROR: Missing setting Y_HOME_BUMP_MM
#endif #endif
#if NOTEXIST(Z_HOME_BUMP_MM) #if DISABLED(Z_HOME_BUMP_MM)
#error DEPENDENCY ERROR: Missing setting Z_HOME_BUMP_MM #error DEPENDENCY ERROR: Missing setting Z_HOME_BUMP_MM
#endif #endif
#if NOTEXIST(HOMING_BUMP_DIVISOR) #if DISABLED(HOMING_BUMP_DIVISOR)
#error DEPENDENCY ERROR: Missing setting HOMING_BUMP_DIVISOR #error DEPENDENCY ERROR: Missing setting HOMING_BUMP_DIVISOR
#endif #endif
#if NOTEXIST(LEFT_PROBE_BED_POSITION) #if DISABLED(LEFT_PROBE_BED_POSITION)
#error DEPENDENCY ERROR: Missing setting LEFT_PROBE_BED_POSITION #error DEPENDENCY ERROR: Missing setting LEFT_PROBE_BED_POSITION
#endif #endif
#if NOTEXIST(RIGHT_PROBE_BED_POSITION) #if DISABLED(RIGHT_PROBE_BED_POSITION)
#error DEPENDENCY ERROR: Missing setting RIGHT_PROBE_BED_POSITION #error DEPENDENCY ERROR: Missing setting RIGHT_PROBE_BED_POSITION
#endif #endif
#if NOTEXIST(FRONT_PROBE_BED_POSITION) #if DISABLED(FRONT_PROBE_BED_POSITION)
#error DEPENDENCY ERROR: Missing setting FRONT_PROBE_BED_POSITION #error DEPENDENCY ERROR: Missing setting FRONT_PROBE_BED_POSITION
#endif #endif
#if !MECH(DELTA) #if !MECH(DELTA)
#if NOTEXIST(XY_TRAVEL_SPEED) #if DISABLED(XY_TRAVEL_SPEED)
#error DEPENDENCY ERROR: Missing setting XY_TRAVEL_SPEED #error DEPENDENCY ERROR: Missing setting XY_TRAVEL_SPEED
#endif #endif
#endif #endif
#if ENABLED(MANUAL_HOME_POSITIONS) #if ENABLED(MANUAL_HOME_POSITIONS)
#if NOTEXIST(MANUAL_X_HOME_POS) #if DISABLED(MANUAL_X_HOME_POS)
#error DEPENDENCY ERROR: Missing setting MANUAL_X_HOME_POS #error DEPENDENCY ERROR: Missing setting MANUAL_X_HOME_POS
#endif #endif
#if NOTEXIST(MANUAL_Y_HOME_POS) #if DISABLED(MANUAL_Y_HOME_POS)
#error DEPENDENCY ERROR: Missing setting MANUAL_Y_HOME_POS #error DEPENDENCY ERROR: Missing setting MANUAL_Y_HOME_POS
#endif #endif
#if NOTEXIST(MANUAL_Z_HOME_POS) #if DISABLED(MANUAL_Z_HOME_POS)
#error DEPENDENCY ERROR: Missing setting MANUAL_Z_HOME_POS #error DEPENDENCY ERROR: Missing setting MANUAL_Z_HOME_POS
#endif #endif
#endif #endif
#if MECH(COREXY) || MECH(COREXZ) #if MECH(COREXY) || MECH(COREXZ)
#if NOTEXIST(COREX_YZ_FACTOR) #if DISABLED(COREX_YZ_FACTOR)
#error DEPENDENCY ERROR: Missing setting COREX_YZ_FACTOR #error DEPENDENCY ERROR: Missing setting COREX_YZ_FACTOR
#endif #endif
#endif #endif
#if MECH(SCARA) #if MECH(SCARA)
#if NOTEXIST(LINKAGE_1) #if DISABLED(LINKAGE_1)
#error DEPENDENCY ERROR: Missing setting LINKAGE_1 #error DEPENDENCY ERROR: Missing setting LINKAGE_1
#endif #endif
#if NOTEXIST(LINKAGE_2) #if DISABLED(LINKAGE_2)
#error DEPENDENCY ERROR: Missing setting LINKAGE_2 #error DEPENDENCY ERROR: Missing setting LINKAGE_2
#endif #endif
#if NOTEXIST(SCARA_OFFSET_X) #if DISABLED(SCARA_OFFSET_X)
#error DEPENDENCY ERROR: Missing setting SCARA_OFFSET_X #error DEPENDENCY ERROR: Missing setting SCARA_OFFSET_X
#endif #endif
#if NOTEXIST(SCARA_OFFSET_Y) #if DISABLED(SCARA_OFFSET_Y)
#error DEPENDENCY ERROR: Missing setting SCARA_OFFSET_Y #error DEPENDENCY ERROR: Missing setting SCARA_OFFSET_Y
#endif #endif
#if NOTEXIST(SCARA_RAD2DEG) #if DISABLED(SCARA_RAD2DEG)
#error DEPENDENCY ERROR: Missing setting SCARA_RAD2DEG #error DEPENDENCY ERROR: Missing setting SCARA_RAD2DEG
#endif #endif
#if NOTEXIST(THETA_HOMING_OFFSET) #if DISABLED(THETA_HOMING_OFFSET)
#error DEPENDENCY ERROR: Missing setting THETA_HOMING_OFFSET #error DEPENDENCY ERROR: Missing setting THETA_HOMING_OFFSET
#endif #endif
#if NOTEXIST(PSI_HOMING_OFFSET) #if DISABLED(PSI_HOMING_OFFSET)
#error DEPENDENCY ERROR: Missing setting PSI_HOMING_OFFSET #error DEPENDENCY ERROR: Missing setting PSI_HOMING_OFFSET
#endif #endif
#endif #endif
#if MECH(DELTA) #if MECH(DELTA)
#if NOTEXIST(DEFAULT_DELTA_DIAGONAL_ROD) #if DISABLED(DEFAULT_DELTA_DIAGONAL_ROD)
#error DEPENDENCY ERROR: Missing setting DEFAULT_DELTA_DIAGONAL_ROD #error DEPENDENCY ERROR: Missing setting DEFAULT_DELTA_DIAGONAL_ROD
#endif #endif
#if NOTEXIST(DELTA_SMOOTH_ROD_OFFSET) #if DISABLED(DELTA_SMOOTH_ROD_OFFSET)
#error DEPENDENCY ERROR: Missing setting DELTA_SMOOTH_ROD_OFFSET #error DEPENDENCY ERROR: Missing setting DELTA_SMOOTH_ROD_OFFSET
#endif #endif
#if NOTEXIST(DELTA_CARRIAGE_OFFSET) #if DISABLED(DELTA_CARRIAGE_OFFSET)
#error DEPENDENCY ERROR: Missing setting DELTA_CARRIAGE_OFFSET #error DEPENDENCY ERROR: Missing setting DELTA_CARRIAGE_OFFSET
#endif #endif
#if NOTEXIST(PRINTER_RADIUS) #if DISABLED(PRINTER_RADIUS)
#error DEPENDENCY ERROR: Missing setting PRINTER_RADIUS #error DEPENDENCY ERROR: Missing setting PRINTER_RADIUS
#endif #endif
#if NOTEXIST(DEFAULT_DELTA_RADIUS) #if DISABLED(DEFAULT_DELTA_RADIUS)
#error DEPENDENCY ERROR: Missing setting DEFAULT_DELTA_RADIUS #error DEPENDENCY ERROR: Missing setting DEFAULT_DELTA_RADIUS
#endif #endif
#if NOTEXIST(AUTOCAL_TRAVELRATE) #if DISABLED(AUTOCAL_TRAVELRATE)
#error DEPENDENCY ERROR: Missing setting AUTOCAL_TRAVELRATE #error DEPENDENCY ERROR: Missing setting AUTOCAL_TRAVELRATE
#endif #endif
#if NOTEXIST(AUTOCAL_PROBERATE) #if DISABLED(AUTOCAL_PROBERATE)
#error DEPENDENCY ERROR: Missing setting AUTOCAL_PROBERATE #error DEPENDENCY ERROR: Missing setting AUTOCAL_PROBERATE
#endif #endif
#if NOTEXIST(AUTOCALIBRATION_PRECISION) #if DISABLED(AUTOCALIBRATION_PRECISION)
#error DEPENDENCY ERROR: Missing setting AUTOCALIBRATION_PRECISION #error DEPENDENCY ERROR: Missing setting AUTOCALIBRATION_PRECISION
#endif #endif
#if NOTEXIST(TOWER_A_ENDSTOP_ADJ) #if DISABLED(TOWER_A_ENDSTOP_ADJ)
#error DEPENDENCY ERROR: Missing setting TOWER_A_ENDSTOP_ADJ #error DEPENDENCY ERROR: Missing setting TOWER_A_ENDSTOP_ADJ
#endif #endif
#if NOTEXIST(TOWER_B_ENDSTOP_ADJ) #if DISABLED(TOWER_B_ENDSTOP_ADJ)
#error DEPENDENCY ERROR: Missing setting TOWER_B_ENDSTOP_ADJ #error DEPENDENCY ERROR: Missing setting TOWER_B_ENDSTOP_ADJ
#endif #endif
#if NOTEXIST(TOWER_C_ENDSTOP_ADJ) #if DISABLED(TOWER_C_ENDSTOP_ADJ)
#error DEPENDENCY ERROR: Missing setting TOWER_C_ENDSTOP_ADJ #error DEPENDENCY ERROR: Missing setting TOWER_C_ENDSTOP_ADJ
#endif #endif
#if NOTEXIST(TOWER_A_POSITION_ADJ) #if DISABLED(TOWER_A_POSITION_ADJ)
#error DEPENDENCY ERROR: Missing setting TOWER_A_POSITION_ADJ #error DEPENDENCY ERROR: Missing setting TOWER_A_POSITION_ADJ
#endif #endif
#if NOTEXIST(TOWER_B_POSITION_ADJ) #if DISABLED(TOWER_B_POSITION_ADJ)
#error DEPENDENCY ERROR: Missing setting TOWER_B_POSITION_ADJ #error DEPENDENCY ERROR: Missing setting TOWER_B_POSITION_ADJ
#endif #endif
#if NOTEXIST(TOWER_C_POSITION_ADJ) #if DISABLED(TOWER_C_POSITION_ADJ)
#error DEPENDENCY ERROR: Missing setting TOWER_C_POSITION_ADJ #error DEPENDENCY ERROR: Missing setting TOWER_C_POSITION_ADJ
#endif #endif
#if NOTEXIST(TOWER_A_RADIUS_ADJ) #if DISABLED(TOWER_A_RADIUS_ADJ)
#error DEPENDENCY ERROR: Missing setting TOWER_A_RADIUS_ADJ #error DEPENDENCY ERROR: Missing setting TOWER_A_RADIUS_ADJ
#endif #endif
#if NOTEXIST(TOWER_B_RADIUS_ADJ) #if DISABLED(TOWER_B_RADIUS_ADJ)
#error DEPENDENCY ERROR: Missing setting TOWER_B_RADIUS_ADJ #error DEPENDENCY ERROR: Missing setting TOWER_B_RADIUS_ADJ
#endif #endif
#if NOTEXIST(TOWER_C_RADIUS_ADJ) #if DISABLED(TOWER_C_RADIUS_ADJ)
#error DEPENDENCY ERROR: Missing setting TOWER_C_RADIUS_ADJ #error DEPENDENCY ERROR: Missing setting TOWER_C_RADIUS_ADJ
#endif #endif
#if NOTEXIST(TOWER_A_DIAGROD_ADJ) #if DISABLED(TOWER_A_DIAGROD_ADJ)
#error DEPENDENCY ERROR: Missing setting TOWER_A_DIAGROD_ADJ #error DEPENDENCY ERROR: Missing setting TOWER_A_DIAGROD_ADJ
#endif #endif
#if NOTEXIST(TOWER_B_DIAGROD_ADJ) #if DISABLED(TOWER_B_DIAGROD_ADJ)
#error DEPENDENCY ERROR: Missing setting TOWER_B_DIAGROD_ADJ #error DEPENDENCY ERROR: Missing setting TOWER_B_DIAGROD_ADJ
#endif #endif
#if NOTEXIST(TOWER_C_DIAGROD_ADJ) #if DISABLED(TOWER_C_DIAGROD_ADJ)
#error DEPENDENCY ERROR: Missing setting TOWER_C_DIAGROD_ADJ #error DEPENDENCY ERROR: Missing setting TOWER_C_DIAGROD_ADJ
#endif #endif
#if NOTEXIST(Z_PROBE_OFFSET) #if DISABLED(Z_PROBE_OFFSET)
#error DEPENDENCY ERROR: Missing setting Z_PROBE_OFFSET #error DEPENDENCY ERROR: Missing setting Z_PROBE_OFFSET
#endif #endif
#if NOTEXIST(Z_PROBE_DEPLOY_START_LOCATION) #if DISABLED(Z_PROBE_DEPLOY_START_LOCATION)
#error DEPENDENCY ERROR: Missing setting Z_PROBE_DEPLOY_START_LOCATION #error DEPENDENCY ERROR: Missing setting Z_PROBE_DEPLOY_START_LOCATION
#endif #endif
#if NOTEXIST(Z_PROBE_DEPLOY_END_LOCATION) #if DISABLED(Z_PROBE_DEPLOY_END_LOCATION)
#error DEPENDENCY ERROR: Missing setting Z_PROBE_DEPLOY_END_LOCATION #error DEPENDENCY ERROR: Missing setting Z_PROBE_DEPLOY_END_LOCATION
#endif #endif
#if NOTEXIST(Z_PROBE_RETRACT_START_LOCATION) #if DISABLED(Z_PROBE_RETRACT_START_LOCATION)
#error DEPENDENCY ERROR: Missing setting Z_PROBE_RETRACT_START_LOCATION #error DEPENDENCY ERROR: Missing setting Z_PROBE_RETRACT_START_LOCATION
#endif #endif
#if NOTEXIST(Z_PROBE_RETRACT_END_LOCATION) #if DISABLED(Z_PROBE_RETRACT_END_LOCATION)
#error DEPENDENCY ERROR: Missing setting Z_PROBE_RETRACT_END_LOCATION #error DEPENDENCY ERROR: Missing setting Z_PROBE_RETRACT_END_LOCATION
#endif #endif
#if NOTEXIST(Z_RAISE_BETWEEN_PROBINGS) #if DISABLED(Z_RAISE_BETWEEN_PROBINGS)
#error DEPENDENCY ERROR: Missing setting Z_RAISE_BETWEEN_PROBINGS #error DEPENDENCY ERROR: Missing setting Z_RAISE_BETWEEN_PROBINGS
#endif #endif
#if NOTEXIST(AUTO_BED_LEVELING_GRID_POINTS) #if DISABLED(AUTO_BED_LEVELING_GRID_POINTS)
#error DEPENDENCY ERROR: Missing setting AUTO_BED_LEVELING_GRID_POINTS #error DEPENDENCY ERROR: Missing setting AUTO_BED_LEVELING_GRID_POINTS
#endif #endif
#endif #endif
...@@ -1290,14 +1290,14 @@ ...@@ -1290,14 +1290,14 @@
/** /**
* Board * Board
*/ */
#if NOTEXIST(KNOWN_BOARD) #if DISABLED(KNOWN_BOARD)
#error DEPENDENCY ERROR: You have to set a valid MOTHERBOARD. #error DEPENDENCY ERROR: You have to set a valid MOTHERBOARD.
#endif #endif
/** /**
* Mechanics * Mechanics
*/ */
#if NOTEXIST(KNOWN_MECH) #if DISABLED(KNOWN_MECH)
#error DEPENDENCY ERROR: You have to set a valid MECHANICS. #error DEPENDENCY ERROR: You have to set a valid MECHANICS.
#endif #endif
...@@ -1459,7 +1459,7 @@ ...@@ -1459,7 +1459,7 @@
#if Z_ENDSTOP_SERVO_NR < 0 #if Z_ENDSTOP_SERVO_NR < 0
#error DEPENDENCY ERROR: You must have Z_ENDSTOP_SERVO_NR set to at least 0 or above to use Z_PROBE_ENDSTOP. #error DEPENDENCY ERROR: You must have Z_ENDSTOP_SERVO_NR set to at least 0 or above to use Z_PROBE_ENDSTOP.
#endif #endif
#if NOTEXIST(SERVO_ENDSTOP_ANGLES) #if DISABLED(SERVO_ENDSTOP_ANGLES)
#error DEPENDENCY ERROR: You must have SERVO_ENDSTOP_ANGLES EXIST for Z Extend and Retract to use Z_PROBE_ENDSTOP. #error DEPENDENCY ERROR: You must have SERVO_ENDSTOP_ANGLES EXIST for Z Extend and Retract to use Z_PROBE_ENDSTOP.
#endif #endif
#endif #endif
...@@ -1516,7 +1516,7 @@ ...@@ -1516,7 +1516,7 @@
* Delta & Z_PROBE_ENDSTOP * Delta & Z_PROBE_ENDSTOP
*/ */
#if MECH(DELTA) && ENABLED(Z_PROBE_ENDSTOP) #if MECH(DELTA) && ENABLED(Z_PROBE_ENDSTOP)
#if PIN_EXISTS(Z_PROBE) #if !PIN_EXISTS(Z_PROBE)
#error DEPENDENCY ERROR: You must set Z_PROBE_PIN to a valid pin if you enable Z_PROBE_ENDSTOP #error DEPENDENCY ERROR: You must set Z_PROBE_PIN to a valid pin if you enable Z_PROBE_ENDSTOP
#endif #endif
#endif #endif
...@@ -1527,7 +1527,7 @@ ...@@ -1527,7 +1527,7 @@
#if ENABLED(DUAL_X_CARRIAGE) #if ENABLED(DUAL_X_CARRIAGE)
#if EXTRUDERS == 1 || MECH(COREXY) \ #if EXTRUDERS == 1 || MECH(COREXY) \
|| HASNT(X2_ENABLE) || HASNT(X2_STEP) || HASNT(X2_DIR) \ || HASNT(X2_ENABLE) || HASNT(X2_STEP) || HASNT(X2_DIR) \
|| NOTEXIST(X2_HOME_POS) || NOTEXIST(X2_MIN_POS) || NOTEXIST(X2_MAX_POS) \ || DISABLED(X2_HOME_POS) || DISABLED(X2_MIN_POS) || DISABLED(X2_MAX_POS) \
|| HASNT(X_MAX) || HASNT(X_MAX)
#error DEPENDENCY ERROR: Missing or invalid definitions for DUAL_X_CARRIAGE mode. #error DEPENDENCY ERROR: Missing or invalid definitions for DUAL_X_CARRIAGE mode.
#endif #endif
......
...@@ -613,7 +613,7 @@ ISR(TIMER1_COMPA_vect) { ...@@ -613,7 +613,7 @@ ISR(TIMER1_COMPA_vect) {
if (cleaning_buffer_counter) { if (cleaning_buffer_counter) {
current_block = NULL; current_block = NULL;
plan_discard_current_block(); plan_discard_current_block();
#if EXIST(SD_FINISHED_RELEASECOMMAND) #if ENABLED(SD_FINISHED_RELEASECOMMAND)
if ((cleaning_buffer_counter == 1) && (SD_FINISHED_STEPPERRELEASE)) enqueuecommands_P(PSTR(SD_FINISHED_RELEASECOMMAND)); if ((cleaning_buffer_counter == 1) && (SD_FINISHED_STEPPERRELEASE)) enqueuecommands_P(PSTR(SD_FINISHED_RELEASECOMMAND));
#endif #endif
cleaning_buffer_counter--; cleaning_buffer_counter--;
...@@ -1017,7 +1017,7 @@ void st_init() { ...@@ -1017,7 +1017,7 @@ void st_init() {
#endif #endif
#endif #endif
#if HAS(Z_PROBE) && ENABLED(Z_PROBE_ENDSTOP) // Check for Z_PROBE_ENDSTOP so we don't pull a pin high unless it's to be used. #if HAS(Z_PROBE) // Check for Z_PROBE_ENDSTOP so we don't pull a pin high unless it's to be used.
SET_INPUT(Z_PROBE_PIN); SET_INPUT(Z_PROBE_PIN);
#if ENABLED(ENDSTOPPULLUP_ZPROBE) #if ENABLED(ENDSTOPPULLUP_ZPROBE)
WRITE(Z_PROBE_PIN,HIGH); WRITE(Z_PROBE_PIN,HIGH);
...@@ -1282,7 +1282,7 @@ void digipot_init() { ...@@ -1282,7 +1282,7 @@ void digipot_init() {
digipot_current(i,digipot_motor_current[i]); digipot_current(i,digipot_motor_current[i]);
} }
#endif #endif
#if ENABLED(MOTOR_CURRENT_PWM_XY_PIN) #if HAS(MOTOR_CURRENT_PWM_XY)
pinMode(MOTOR_CURRENT_PWM_XY_PIN, OUTPUT); pinMode(MOTOR_CURRENT_PWM_XY_PIN, OUTPUT);
pinMode(MOTOR_CURRENT_PWM_Z_PIN, OUTPUT); pinMode(MOTOR_CURRENT_PWM_Z_PIN, OUTPUT);
pinMode(MOTOR_CURRENT_PWM_E_PIN, OUTPUT); pinMode(MOTOR_CURRENT_PWM_E_PIN, OUTPUT);
...@@ -1308,7 +1308,7 @@ void digipot_current(uint8_t driver, int current) { ...@@ -1308,7 +1308,7 @@ void digipot_current(uint8_t driver, int current) {
const uint8_t digipot_ch[] = DIGIPOT_CHANNELS; const uint8_t digipot_ch[] = DIGIPOT_CHANNELS;
digitalPotWrite(digipot_ch[driver], current); digitalPotWrite(digipot_ch[driver], current);
#endif #endif
#if ENABLED(MOTOR_CURRENT_PWM_XY_PIN) #if HAS(MOTOR_CURRENT_PWM_XY)
switch(driver) { switch(driver) {
case 0: analogWrite(MOTOR_CURRENT_PWM_XY_PIN, 255L * current / MOTOR_CURRENT_PWM_RANGE); break; case 0: analogWrite(MOTOR_CURRENT_PWM_XY_PIN, 255L * current / MOTOR_CURRENT_PWM_RANGE); break;
case 1: analogWrite(MOTOR_CURRENT_PWM_Z_PIN, 255L * current / MOTOR_CURRENT_PWM_RANGE); break; case 1: analogWrite(MOTOR_CURRENT_PWM_Z_PIN, 255L * current / MOTOR_CURRENT_PWM_RANGE); break;
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
//================================== macros ================================= //================================== macros =================================
//=========================================================================== //===========================================================================
#if EXIST(K1) // Defined in Configuration.h in the PID settings #if ENABLED(K1) // Defined in Configuration.h in the PID settings
#define K2 (1.0 - K1) #define K2 (1.0 - K1)
#endif #endif
...@@ -168,10 +168,10 @@ static int minttemp_raw[HOTENDS] = ARRAY_BY_HOTENDS( HEATER_0_RAW_LO_TEMP , HEAT ...@@ -168,10 +168,10 @@ static int minttemp_raw[HOTENDS] = ARRAY_BY_HOTENDS( HEATER_0_RAW_LO_TEMP , HEAT
static int maxttemp_raw[HOTENDS] = ARRAY_BY_HOTENDS( HEATER_0_RAW_HI_TEMP , HEATER_1_RAW_HI_TEMP , HEATER_2_RAW_HI_TEMP, HEATER_3_RAW_HI_TEMP); static int maxttemp_raw[HOTENDS] = ARRAY_BY_HOTENDS( HEATER_0_RAW_HI_TEMP , HEATER_1_RAW_HI_TEMP , HEATER_2_RAW_HI_TEMP, HEATER_3_RAW_HI_TEMP);
static int minttemp[HOTENDS] = { 0 }; static int minttemp[HOTENDS] = { 0 };
static int maxttemp[HOTENDS] = ARRAY_BY_HOTENDS1( 16383 ); static int maxttemp[HOTENDS] = ARRAY_BY_HOTENDS1( 16383 );
#if EXIST(BED_MINTEMP) #if ENABLED(BED_MINTEMP)
static int bed_minttemp_raw = HEATER_BED_RAW_LO_TEMP; static int bed_minttemp_raw = HEATER_BED_RAW_LO_TEMP;
#endif #endif
#if EXIST(BED_MAXTEMP) #if ENABLED(BED_MAXTEMP)
static int bed_maxttemp_raw = HEATER_BED_RAW_HI_TEMP; static int bed_maxttemp_raw = HEATER_BED_RAW_HI_TEMP;
#endif #endif
...@@ -893,7 +893,7 @@ static void updateTemperaturesFromRawValues() { ...@@ -893,7 +893,7 @@ static void updateTemperaturesFromRawValues() {
float raw_analog2voltage() { float raw_analog2voltage() {
return (5.0 * current_raw_powconsumption) / (1023 * OVERSAMPLENR); return (5.0 * current_raw_powconsumption) / (1023 * OVERSAMPLENR);
} }
float analog2voltage() { float analog2voltage() {
float power_zero_raw = (POWER_ZERO * 1023 * OVERSAMPLENR) / 5.0; float power_zero_raw = (POWER_ZERO * 1023 * OVERSAMPLENR) / 5.0;
float rel_raw_power = (current_raw_powconsumption < power_zero_raw) ? (2 * power_zero_raw - current_raw_powconsumption) : (current_raw_powconsumption); float rel_raw_power = (current_raw_powconsumption < power_zero_raw) ? (2 * power_zero_raw - current_raw_powconsumption) : (current_raw_powconsumption);
...@@ -907,7 +907,7 @@ static void updateTemperaturesFromRawValues() { ...@@ -907,7 +907,7 @@ static void updateTemperaturesFromRawValues() {
float analog2power() { float analog2power() {
return (analog2current() * POWER_VOLTAGE * 100) / POWER_EFFICIENCY; return (analog2current() * POWER_VOLTAGE * 100) / POWER_EFFICIENCY;
} }
float analog2error(float current) { float analog2error(float current) {
float temp1 = (analog2voltage() / POWER_SENSITIVITY - POWER_OFFSET) * POWER_VOLTAGE; float temp1 = (analog2voltage() / POWER_SENSITIVITY - POWER_OFFSET) * POWER_VOLTAGE;
if(temp1 <= 0) return 0.0; if(temp1 <= 0) return 0.0;
...@@ -1156,6 +1156,7 @@ void tp_init() { ...@@ -1156,6 +1156,7 @@ void tp_init() {
#if ENABLED(THERMAL_PROTECTION_HOTENDS) || ENABLED(THERMAL_PROTECTION_BED) #if ENABLED(THERMAL_PROTECTION_HOTENDS) || ENABLED(THERMAL_PROTECTION_BED)
void thermal_runaway_protection(TRState *state, millis_t *timer, float temperature, float target_temperature, int heater_id, int period_seconds, int hysteresis_degc) { void thermal_runaway_protection(TRState *state, millis_t *timer, float temperature, float target_temperature, int heater_id, int period_seconds, int hysteresis_degc) {
static float tr_last_temperature = 0.0;
static float tr_target_temperature[HOTENDS + 1] = { 0.0 }; static float tr_target_temperature[HOTENDS + 1] = { 0.0 };
/* /*
ECHO_SM(DB, "Thermal Thermal Runaway Running. Heater ID: "); ECHO_SM(DB, "Thermal Thermal Runaway Running. Heater ID: ");
...@@ -1180,6 +1181,7 @@ void tp_init() { ...@@ -1180,6 +1181,7 @@ void tp_init() {
// Inactive state waits for a target temperature to be set // Inactive state waits for a target temperature to be set
case TRInactive: { case TRInactive: {
if (target_temperature > 0) { if (target_temperature > 0) {
tr_last_temperature = temperature;
tr_target_temperature[heater_index] = target_temperature; tr_target_temperature[heater_index] = target_temperature;
*timer = millis(); *timer = millis();
*state = TRFirstHeating; *state = TRFirstHeating;
...@@ -1190,6 +1192,11 @@ void tp_init() { ...@@ -1190,6 +1192,11 @@ void tp_init() {
// If the heater takes too long to reach the target temperature the sistem will be halt. // If the heater takes too long to reach the target temperature the sistem will be halt.
case TRFirstHeating: { case TRFirstHeating: {
if (temperature >= tr_target_temperature[heater_index]) *state = TRStable; if (temperature >= tr_target_temperature[heater_index]) *state = TRStable;
else if (temperature == tr_last_temperature) {
if (millis() > *timer + period_seconds * 1000UL) {
*state = TRRunaway;
}
}
else { else {
*timer = millis(); *timer = millis();
} }
......
...@@ -1080,7 +1080,7 @@ const short temptable_1047[][2] PROGMEM = { ...@@ -1080,7 +1080,7 @@ const short temptable_1047[][2] PROGMEM = {
#define _TT_NAME(_N) temptable_ ## _N #define _TT_NAME(_N) temptable_ ## _N
#define TT_NAME(_N) _TT_NAME(_N) #define TT_NAME(_N) _TT_NAME(_N)
#if EXIST(THERMISTORHEATER_0) #if ENABLED(THERMISTORHEATER_0)
#define HEATER_0_TEMPTABLE TT_NAME(THERMISTORHEATER_0) #define HEATER_0_TEMPTABLE TT_NAME(THERMISTORHEATER_0)
#define HEATER_0_TEMPTABLE_LEN COUNT(HEATER_0_TEMPTABLE) #define HEATER_0_TEMPTABLE_LEN COUNT(HEATER_0_TEMPTABLE)
#else #else
...@@ -1093,7 +1093,7 @@ const short temptable_1047[][2] PROGMEM = { ...@@ -1093,7 +1093,7 @@ const short temptable_1047[][2] PROGMEM = {
#endif #endif
//Set the high and low raw values for the heater,this indicates which raw value is a high or low temperature //Set the high and low raw values for the heater,this indicates which raw value is a high or low temperature
#if NOTEXIST(HEATER_0_RAW_HI_TEMP) #if DISABLED(HEATER_0_RAW_HI_TEMP)
#if ENABLED(HEATER_0_USES_THERMISTOR) //In case of a thermistor the highest temperature results in the lowest ADC value #if ENABLED(HEATER_0_USES_THERMISTOR) //In case of a thermistor the highest temperature results in the lowest ADC value
#define HEATER_0_RAW_HI_TEMP 0 #define HEATER_0_RAW_HI_TEMP 0
#define HEATER_0_RAW_LO_TEMP 16383 #define HEATER_0_RAW_LO_TEMP 16383
...@@ -1103,7 +1103,7 @@ const short temptable_1047[][2] PROGMEM = { ...@@ -1103,7 +1103,7 @@ const short temptable_1047[][2] PROGMEM = {
#endif #endif
#endif #endif
#if EXIST(THERMISTORHEATER_1) #if ENABLED(THERMISTORHEATER_1)
#define HEATER_1_TEMPTABLE TT_NAME(THERMISTORHEATER_1) #define HEATER_1_TEMPTABLE TT_NAME(THERMISTORHEATER_1)
#define HEATER_1_TEMPTABLE_LEN COUNT(HEATER_1_TEMPTABLE) #define HEATER_1_TEMPTABLE_LEN COUNT(HEATER_1_TEMPTABLE)
#else #else
...@@ -1116,7 +1116,7 @@ const short temptable_1047[][2] PROGMEM = { ...@@ -1116,7 +1116,7 @@ const short temptable_1047[][2] PROGMEM = {
#endif #endif
//Set the high and low raw values for the heater,this indicates which raw value is a high or low temperature //Set the high and low raw values for the heater,this indicates which raw value is a high or low temperature
#if NOTEXIST(HEATER_1_RAW_HI_TEMP) #if DISABLED(HEATER_1_RAW_HI_TEMP)
#if ENABLED(HEATER_1_USES_THERMISTOR) //In case of a thermistor the highest temperature results in the lowest ADC value #if ENABLED(HEATER_1_USES_THERMISTOR) //In case of a thermistor the highest temperature results in the lowest ADC value
#define HEATER_1_RAW_HI_TEMP 0 #define HEATER_1_RAW_HI_TEMP 0
#define HEATER_1_RAW_LO_TEMP 16383 #define HEATER_1_RAW_LO_TEMP 16383
...@@ -1126,7 +1126,7 @@ const short temptable_1047[][2] PROGMEM = { ...@@ -1126,7 +1126,7 @@ const short temptable_1047[][2] PROGMEM = {
#endif #endif
#endif #endif
#if EXIST(THERMISTORHEATER_2) #if ENABLED(THERMISTORHEATER_2)
#define HEATER_2_TEMPTABLE TT_NAME(THERMISTORHEATER_2) #define HEATER_2_TEMPTABLE TT_NAME(THERMISTORHEATER_2)
#define HEATER_2_TEMPTABLE_LEN COUNT(HEATER_2_TEMPTABLE) #define HEATER_2_TEMPTABLE_LEN COUNT(HEATER_2_TEMPTABLE)
#else #else
...@@ -1139,7 +1139,7 @@ const short temptable_1047[][2] PROGMEM = { ...@@ -1139,7 +1139,7 @@ const short temptable_1047[][2] PROGMEM = {
#endif #endif
//Set the high and low raw values for the heater,this indicates which raw value is a high or low temperature //Set the high and low raw values for the heater,this indicates which raw value is a high or low temperature
#if NOTEXIST(HEATER_2_RAW_HI_TEMP) #if DISABLED(HEATER_2_RAW_HI_TEMP)
#if ENABLED(HEATER_2_USES_THERMISTOR) //In case of a thermistor the highest temperature results in the lowest ADC value #if ENABLED(HEATER_2_USES_THERMISTOR) //In case of a thermistor the highest temperature results in the lowest ADC value
#define HEATER_2_RAW_HI_TEMP 0 #define HEATER_2_RAW_HI_TEMP 0
#define HEATER_2_RAW_LO_TEMP 16383 #define HEATER_2_RAW_LO_TEMP 16383
...@@ -1149,7 +1149,7 @@ const short temptable_1047[][2] PROGMEM = { ...@@ -1149,7 +1149,7 @@ const short temptable_1047[][2] PROGMEM = {
#endif #endif
#endif #endif
#if EXIST(THERMISTORHEATER_3) #if ENABLED(THERMISTORHEATER_3)
#define HEATER_3_TEMPTABLE TT_NAME(THERMISTORHEATER_3) #define HEATER_3_TEMPTABLE TT_NAME(THERMISTORHEATER_3)
#define HEATER_3_TEMPTABLE_LEN COUNT(HEATER_3_TEMPTABLE) #define HEATER_3_TEMPTABLE_LEN COUNT(HEATER_3_TEMPTABLE)
#else #else
...@@ -1162,7 +1162,7 @@ const short temptable_1047[][2] PROGMEM = { ...@@ -1162,7 +1162,7 @@ const short temptable_1047[][2] PROGMEM = {
#endif #endif
//Set the high and low raw values for the heater,this indicates which raw value is a high or low temperature //Set the high and low raw values for the heater,this indicates which raw value is a high or low temperature
#if NOTEXIST(HEATER_3_RAW_HI_TEMP) #if DISABLED(HEATER_3_RAW_HI_TEMP)
#if ENABLED(HEATER_3_USES_THERMISTOR) //In case of a thermistor the highest temperature results in the lowest ADC value #if ENABLED(HEATER_3_USES_THERMISTOR) //In case of a thermistor the highest temperature results in the lowest ADC value
#define HEATER_3_RAW_HI_TEMP 0 #define HEATER_3_RAW_HI_TEMP 0
#define HEATER_3_RAW_LO_TEMP 16383 #define HEATER_3_RAW_LO_TEMP 16383
...@@ -1172,7 +1172,7 @@ const short temptable_1047[][2] PROGMEM = { ...@@ -1172,7 +1172,7 @@ const short temptable_1047[][2] PROGMEM = {
#endif #endif
#endif #endif
#if EXIST(THERMISTORBED) #if ENABLED(THERMISTORBED)
#define BEDTEMPTABLE TT_NAME(THERMISTORBED) #define BEDTEMPTABLE TT_NAME(THERMISTORBED)
#define BEDTEMPTABLE_LEN COUNT(BEDTEMPTABLE) #define BEDTEMPTABLE_LEN COUNT(BEDTEMPTABLE)
#else #else
...@@ -1182,7 +1182,7 @@ const short temptable_1047[][2] PROGMEM = { ...@@ -1182,7 +1182,7 @@ const short temptable_1047[][2] PROGMEM = {
#endif #endif
//Set the high and low raw values for the heater,this indicates which raw value is a high or low temperature //Set the high and low raw values for the heater,this indicates which raw value is a high or low temperature
#if NOTEXIST(HEATER_BED_RAW_HI_TEMP) #if DISABLED(HEATER_BED_RAW_HI_TEMP)
#if ENABLED(BED_USES_THERMISTOR) //In case of a thermistor the highest temperature results in the lowest ADC value #if ENABLED(BED_USES_THERMISTOR) //In case of a thermistor the highest temperature results in the lowest ADC value
#define HEATER_BED_RAW_HI_TEMP 0 #define HEATER_BED_RAW_HI_TEMP 0
#define HEATER_BED_RAW_LO_TEMP 16383 #define HEATER_BED_RAW_LO_TEMP 16383
......
...@@ -2,19 +2,25 @@ ...@@ -2,19 +2,25 @@
#include "base.h" #include "base.h"
#if ENABLED(ULTRA_LCD) #if ENABLED(ULTRA_LCD)
#include "Marlin_main.h" #include "Marlin_main.h"
#if ENABLED(SDSUPPORT) #if ENABLED(SDSUPPORT)
#include "cardreader.h" #include "cardreader.h"
#endif #endif
#include "temperature.h" #include "temperature.h"
#if ENABLED(AUTO_BED_LEVELING_FEATURE) #if ENABLED(AUTO_BED_LEVELING_FEATURE)
#include "vector_3.h" #include "vector_3.h"
#endif #endif
#include "planner.h" #include "planner.h"
#include "stepper_indirection.h" #include "stepper_indirection.h"
#include "stepper.h" #include "stepper.h"
#include "configuration_store.h" #include "configuration_store.h"
#include "ultralcd.h" #include "ultralcd.h"
#if HAS(BUZZER) #if HAS(BUZZER)
#include "buzzer.h" #include "buzzer.h"
#endif #endif
...@@ -130,17 +136,17 @@ static void lcd_status_screen(); ...@@ -130,17 +136,17 @@ static void lcd_status_screen();
#define ENCODER_FEEDRATE_DEADZONE 10 #define ENCODER_FEEDRATE_DEADZONE 10
#if DISABLED(LCD_I2C_VIKI) #if DISABLED(LCD_I2C_VIKI)
#if NOTEXIST(ENCODER_STEPS_PER_MENU_ITEM) #if DISABLED(ENCODER_STEPS_PER_MENU_ITEM)
#define ENCODER_STEPS_PER_MENU_ITEM 5 #define ENCODER_STEPS_PER_MENU_ITEM 5
#endif #endif
#if NOTEXIST(ENCODER_PULSES_PER_STEP) #if DISABLED(ENCODER_PULSES_PER_STEP)
#define ENCODER_PULSES_PER_STEP 1 #define ENCODER_PULSES_PER_STEP 1
#endif #endif
#else #else
#if NOTEXIST(ENCODER_STEPS_PER_MENU_ITEM) #if DISABLED(ENCODER_STEPS_PER_MENU_ITEM)
#define ENCODER_STEPS_PER_MENU_ITEM 2 // VIKI LCD rotary encoder uses a different number of steps per rotation #define ENCODER_STEPS_PER_MENU_ITEM 2 // VIKI LCD rotary encoder uses a different number of steps per rotation
#endif #endif
#if NOTEXIST(ENCODER_PULSES_PER_STEP) #if DISABLED(ENCODER_PULSES_PER_STEP)
#define ENCODER_PULSES_PER_STEP 1 #define ENCODER_PULSES_PER_STEP 1
#endif #endif
#endif #endif
...@@ -151,7 +157,7 @@ static void lcd_status_screen(); ...@@ -151,7 +157,7 @@ static void lcd_status_screen();
/** /**
* START_MENU generates the init code for a menu function * START_MENU generates the init code for a menu function
*/ */
#if EXIST(BTN_BACK) && BTN_BACK > 0 #if ENABLED(BTN_BACK) && BTN_BACK > 0
#define START_MENU(last_menu) do { \ #define START_MENU(last_menu) do { \
encoderRateMultiplierEnabled = false; \ encoderRateMultiplierEnabled = false; \
if (encoderPosition > 0x8000) encoderPosition = 0; \ if (encoderPosition > 0x8000) encoderPosition = 0; \
...@@ -1945,7 +1951,7 @@ void lcd_reset_alert_level() { lcd_status_message_level = 0; } ...@@ -1945,7 +1951,7 @@ void lcd_reset_alert_level() { lcd_status_message_level = 0; }
* These values are independent of which pins are used for EN_A and EN_B indications * These values are independent of which pins are used for EN_A and EN_B indications
* The rotary encoder part is also independent to the chipset used for the LCD * The rotary encoder part is also independent to the chipset used for the LCD
*/ */
#if EXIST(EN_A) && EXIST(EN_B) #if ENABLED(EN_A) && ENABLED(EN_B)
#define encrot0 0 #define encrot0 0
#define encrot1 2 #define encrot1 2
#define encrot2 3 #define encrot2 3
...@@ -1969,7 +1975,7 @@ void lcd_reset_alert_level() { lcd_status_message_level = 0; } ...@@ -1969,7 +1975,7 @@ void lcd_reset_alert_level() { lcd_status_message_level = 0; }
#if BTN_ENC > 0 #if BTN_ENC > 0
millis_t ms = millis(); millis_t ms = millis();
if (ms > next_button_update_ms && READ(BTN_ENC) == 0) newbutton |= EN_C; if (ms > next_button_update_ms && READ(BTN_ENC) == 0) newbutton |= EN_C;
#if EXIST(BTN_BACK) && BTN_BACK > 0 #if ENABLED(BTN_BACK) && BTN_BACK > 0
if (ms > next_button_update_ms && READ(BTN_BACK) == 0) newbutton |= EN_D; if (ms > next_button_update_ms && READ(BTN_BACK) == 0) newbutton |= EN_D;
#endif #endif
#endif #endif
......
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
#else #else
FORCE_INLINE void lcd_buttons_update() {} FORCE_INLINE void lcd_buttons_update() {}
#endif #endif
#if ENABLED(SDSUPPORT) && ENABLED(SD_SETTINGS) #if ENABLED(SDSUPPORT) && ENABLED(SD_SETTINGS)
extern void set_sd_dot(); extern void set_sd_dot();
extern void unset_sd_dot(); extern void unset_sd_dot();
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
extern int gumPreheatFanSpeed; extern int gumPreheatFanSpeed;
extern bool cancel_heatup; extern bool cancel_heatup;
#if HAS(LCD_FILAMENT_SENSOR) || HAS(LCD_POWER_SENSOR) #if HAS(LCD_FILAMENT_SENSOR) || HAS(LCD_POWER_SENSOR)
extern millis_t previous_lcd_status_ms; extern millis_t previous_lcd_status_ms;
#endif #endif
...@@ -77,7 +77,7 @@ ...@@ -77,7 +77,7 @@
#define EN_A BIT(BLEN_A) #define EN_A BIT(BLEN_A)
#define LCD_CLICKED (buttons&EN_C) #define LCD_CLICKED (buttons&EN_C)
#if EXIST(BTN_BACK) && BTN_BACK > 0 #if ENABLED(BTN_BACK) && BTN_BACK > 0
#define EN_D BIT(BLEN_D) #define EN_D BIT(BLEN_D)
#define LCD_BACK_CLICKED (buttons&EN_D) #define LCD_BACK_CLICKED (buttons&EN_D)
#endif #endif
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
#define EN_B BIT(BLEN_B) // The two encoder pins are connected through BTN_EN1 and BTN_EN2 #define EN_B BIT(BLEN_B) // The two encoder pins are connected through BTN_EN1 and BTN_EN2
#define EN_A BIT(BLEN_A) #define EN_A BIT(BLEN_A)
#if EXIST(BTN_ENC) && BTN_ENC > -1 #if ENABLED(BTN_ENC) && BTN_ENC > -1
// encoder click is directly connected // encoder click is directly connected
#define BLEN_C 2 #define BLEN_C 2
#define EN_C BIT(BLEN_C) #define EN_C BIT(BLEN_C)
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
#define B_DW (BUTTON_DOWN<<B_I2C_BTN_OFFSET) #define B_DW (BUTTON_DOWN<<B_I2C_BTN_OFFSET)
#define B_RI (BUTTON_RIGHT<<B_I2C_BTN_OFFSET) #define B_RI (BUTTON_RIGHT<<B_I2C_BTN_OFFSET)
#if EXIST(BTN_ENC) && BTN_ENC > -1 #if ENABLED(BTN_ENC) && BTN_ENC > -1
// the pause/stop/restart button is connected to BTN_ENC when used // the pause/stop/restart button is connected to BTN_ENC when used
#define B_ST (EN_C) // Map the pause/stop/resume button into its normalized functional name #define B_ST (EN_C) // Map the pause/stop/resume button into its normalized functional name
#define LCD_CLICKED (buttons&(B_MI|B_RI|B_ST)) // pause/stop button also acts as click until we implement proper pause/stop. #define LCD_CLICKED (buttons&(B_MI|B_RI|B_ST)) // pause/stop button also acts as click until we implement proper pause/stop.
......
...@@ -130,4 +130,5 @@ void matrix_3x3::debug(const char title[]) { ...@@ -130,4 +130,5 @@ void matrix_3x3::debug(const char title[]) {
ECHO_E; ECHO_E;
} }
} }
#endif
\ No newline at end of file #endif // AUTO_BED_LEVELING_FEATURE
...@@ -56,4 +56,5 @@ struct matrix_3x3 ...@@ -56,4 +56,5 @@ struct matrix_3x3
void apply_rotation_xyz(matrix_3x3 rotationMatrix, float &x, float& y, float& z); void apply_rotation_xyz(matrix_3x3 rotationMatrix, float &x, float& y, float& z);
#endif // AUTO_BED_LEVELING_FEATURE
\ No newline at end of file #endif // AUTO_BED_LEVELING_FEATURE
#include "base.h" #include "base.h"
#if ENABLED(USE_WATCHDOG) #if ENABLED(USE_WATCHDOG)
#include <avr/wdt.h> #include <avr/wdt.h>
#include "whatchdog.h" #include "whatchdog.h"
...@@ -45,4 +46,4 @@ ISR(WDT_vect) { ...@@ -45,4 +46,4 @@ ISR(WDT_vect) {
} }
#endif // RESET_MANUAL #endif // RESET_MANUAL
#endif #endif // USE_WATCHDOG
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