|
|
@ -1286,9 +1286,7 @@ void Temperature::disable_all_heaters() {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#if HAS_TEMP_HOTEND
|
|
|
|
#if HAS_TEMP_HOTEND
|
|
|
|
setTargetHotend(0, 0);
|
|
|
|
DISABLE_HEATER(0);
|
|
|
|
soft_pwm[0] = 0;
|
|
|
|
|
|
|
|
WRITE_HEATER_0P(LOW); // Should HEATERS_PARALLEL apply here? Then change to DISABLE_HEATER(0)
|
|
|
|
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#if HOTENDS > 1 && HAS_TEMP_1
|
|
|
|
#if HOTENDS > 1 && HAS_TEMP_1
|
|
|
@ -1431,7 +1429,7 @@ void Temperature::isr() {
|
|
|
|
|
|
|
|
|
|
|
|
// Statics per heater
|
|
|
|
// Statics per heater
|
|
|
|
ISR_STATICS(0);
|
|
|
|
ISR_STATICS(0);
|
|
|
|
#if (HOTENDS > 1) || ENABLED(HEATERS_PARALLEL)
|
|
|
|
#if HOTENDS > 1
|
|
|
|
ISR_STATICS(1);
|
|
|
|
ISR_STATICS(1);
|
|
|
|
#if HOTENDS > 2
|
|
|
|
#if HOTENDS > 2
|
|
|
|
ISR_STATICS(2);
|
|
|
|
ISR_STATICS(2);
|
|
|
@ -1450,15 +1448,11 @@ void Temperature::isr() {
|
|
|
|
|
|
|
|
|
|
|
|
#if DISABLED(SLOW_PWM_HEATERS)
|
|
|
|
#if DISABLED(SLOW_PWM_HEATERS)
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* standard PWM modulation
|
|
|
|
* Standard PWM modulation
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
if (pwm_count == 0) {
|
|
|
|
if (pwm_count == 0) {
|
|
|
|
soft_pwm_0 = soft_pwm[0];
|
|
|
|
soft_pwm_0 = soft_pwm[0];
|
|
|
|
if (soft_pwm_0 > 0) {
|
|
|
|
WRITE_HEATER_0(soft_pwm_0 > 0 ? 1 : 0);
|
|
|
|
WRITE_HEATER_0(1);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else WRITE_HEATER_0P(0); // If HEATERS_PARALLEL should apply, change to WRITE_HEATER_0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if HOTENDS > 1
|
|
|
|
#if HOTENDS > 1
|
|
|
|
soft_pwm_1 = soft_pwm[1];
|
|
|
|
soft_pwm_1 = soft_pwm[1];
|
|
|
|
WRITE_HEATER_1(soft_pwm_1 > 0 ? 1 : 0);
|
|
|
|
WRITE_HEATER_1(soft_pwm_1 > 0 ? 1 : 0);
|
|
|
@ -1535,7 +1529,7 @@ void Temperature::isr() {
|
|
|
|
#define MIN_STATE_TIME 16 // MIN_STATE_TIME * 65.5 = time in milliseconds
|
|
|
|
#define MIN_STATE_TIME 16 // MIN_STATE_TIME * 65.5 = time in milliseconds
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
// Macros for Slow PWM timer logic - HEATERS_PARALLEL applies
|
|
|
|
// Macros for Slow PWM timer logic
|
|
|
|
#define _SLOW_PWM_ROUTINE(NR, src) \
|
|
|
|
#define _SLOW_PWM_ROUTINE(NR, src) \
|
|
|
|
soft_pwm_ ## NR = src; \
|
|
|
|
soft_pwm_ ## NR = src; \
|
|
|
|
if (soft_pwm_ ## NR > 0) { \
|
|
|
|
if (soft_pwm_ ## NR > 0) { \
|
|
|
|