diff --git a/Marlin/SanityCheck.h b/Marlin/SanityCheck.h index 16df8fbbfb..728320c31a 100644 --- a/Marlin/SanityCheck.h +++ b/Marlin/SanityCheck.h @@ -132,9 +132,15 @@ #endif /** - * Mesh Bed Leveling + * Bed Heating Options - PID vs Limit Switching */ +#if ENABLED(PIDTEMPBED) && ENABLED(BED_LIMIT_SWITCHING) + #error To use BED_LIMIT_SWITCHING you must disable PIDTEMPBED. +#endif +/** + * Mesh Bed Leveling + */ #if ENABLED(MESH_BED_LEVELING) #if ENABLED(DELTA) #error MESH_BED_LEVELING does not yet support DELTA printers. diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h index d3826099f9..617297b7a3 100644 --- a/Marlin/example_configurations/SCARA/Configuration.h +++ b/Marlin/example_configurations/SCARA/Configuration.h @@ -286,7 +286,7 @@ // If this is enabled, find your own PID constants below. #define PIDTEMPBED -#define BED_LIMIT_SWITCHING +//#define BED_LIMIT_SWITCHING // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option. // all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis) diff --git a/Marlin/temperature.cpp b/Marlin/temperature.cpp index 99909204db..05e523882d 100644 --- a/Marlin/temperature.cpp +++ b/Marlin/temperature.cpp @@ -745,7 +745,7 @@ void manage_heater() { soft_pwm_bed = 0; WRITE_HEATER_BED(LOW); } - #else // BED_LIMIT_SWITCHING + #else // !PIDTEMPBED && !BED_LIMIT_SWITCHING // Check if temperature is within the correct range if (current_temperature_bed > BED_MINTEMP && current_temperature_bed < BED_MAXTEMP) { soft_pwm_bed = current_temperature_bed < target_temperature_bed ? MAX_BED_POWER >> 1 : 0;