From d557c84a711b0c783e4524fc8fbaf8b58879bdba Mon Sep 17 00:00:00 2001 From: Bob Kuhn Date: Sun, 20 May 2018 11:37:55 -0500 Subject: [PATCH] [2.0.x] Error for FAST_PWM_FAN with 32 bit CPU (#10798) --- Marlin/src/inc/SanityCheck.h | 4 ++++ Marlin/src/module/temperature.cpp | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 15a8d6c36..aaefdfe2d 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -1730,4 +1730,8 @@ static_assert(COUNT(sanity_arr_3) <= XYZE_N, "DEFAULT_MAX_ACCELERATION has too m #error "POWER_LOSS_RECOVERY currently requires an LCD Controller." #endif +#if ENABLED(FAST_PWM_FAN) && !(defined(ARDUINO) && !defined(ARDUINO_ARCH_SAM)) + #error "FAST_PWM_FAN only supported by 8 bit CPUs." +#endif + #endif // _SANITYCHECK_H_ diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index a32ed9129..1abcfb0dc 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -1385,7 +1385,7 @@ void Temperature::init() { #if ENABLED(FAST_PWM_FAN) void Temperature::setPwmFrequency(const pin_t pin, int val) { - #ifdef ARDUINO + #if defined(ARDUINO) && !defined(ARDUINO_ARCH_SAM) val &= 0x07; switch (digitalPinToTimer(pin)) { #ifdef TCCR0A