Browse Source

Fix Fan 0 responding to all fan speeds (#13444)

pull/1/head
Sam Lane 5 years ago
committed by Scott Lahteine
parent
commit
a8fa275dc6
  1. 4
      Marlin/src/gcode/temperature/M106_M107.cpp
  2. 2
      Marlin/src/module/temperature.cpp

4
Marlin/src/gcode/temperature/M106_M107.cpp

@ -58,8 +58,8 @@ void GcodeSuite::M106() {
const uint16_t t = parser.intval('T');
if (t > 0) return thermalManager.set_temp_fan_speed(p, t);
#endif
uint16_t s = parser.ushortval('S', 255);
uint16_t d = parser.seen('A') ? thermalManager.fan_speed[active_extruder] : 255;
uint16_t s = parser.ushortval('S', d);
NOMORE(s, 255U);
thermalManager.set_fan_speed(p, s);

2
Marlin/src/module/temperature.cpp

@ -2379,7 +2379,7 @@ void Temperature::isr() {
#if ENABLED(FAN_SOFT_PWM)
#define _FAN_PWM(N) do{ \
soft_pwm_count_fan[N] = (soft_pwm_count_fan[N] & pwm_mask) + (soft_pwm_amount_fan[N] >> 1); \
WRITE_FAN(soft_pwm_count_fan[N] > pwm_mask ? HIGH : LOW); \
WRITE_FAN_N(N, soft_pwm_count_fan[N] > pwm_mask ? HIGH : LOW); \
}while(0)
#if HAS_FAN0
_FAN_PWM(0);

Loading…
Cancel
Save