From ba4eebad2f0f4eefba1594c5e1d2da2efa52ccf6 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Sat, 19 Mar 2016 10:41:43 +0100 Subject: [PATCH] Fix Fan KICKSTART Sorting ot what else belongs to what if was not so hard. But the static `ms = ms = millis();` was a bit surpising. --- Marlin/planner.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Marlin/planner.cpp b/Marlin/planner.cpp index f4a3dc3b49..fd8269ddf3 100644 --- a/Marlin/planner.cpp +++ b/Marlin/planner.cpp @@ -464,18 +464,21 @@ void check_axes_activity() { #ifdef FAN_KICKSTART_TIME - static millis_t fan_kick_end[FAN_COUNT] = { 0 }, ms = millis(); + static millis_t fan_kick_end[FAN_COUNT] = { 0 }; #define KICKSTART_FAN(f) \ if (tail_fan_speed[f]) { \ + millis_t ms = millis(); \ if (fan_kick_end[f] == 0) { \ fan_kick_end[f] = ms + FAN_KICKSTART_TIME; \ tail_fan_speed[f] = 255; \ + } else { \ + if (fan_kick_end[f] > ms) { \ + tail_fan_speed[f] = 255; \ + } \ } \ - else if (fan_kick_end[f] > ms) \ - tail_fan_speed[f] = 255; \ - else \ - fan_kick_end[f] = 0; \ + } else { \ + fan_kick_end[f] = 0; \ } #if HAS_FAN0