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