diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h index f644b3a7d0..ef5ed50c68 100644 --- a/Marlin/src/inc/Conditionals_post.h +++ b/Marlin/src/inc/Conditionals_post.h @@ -1169,6 +1169,10 @@ /** * Up to 3 PWM fans */ +#ifndef FAN_INVERTING + #define FAN_INVERTING false +#endif + #if HAS_FAN2 #define FAN_COUNT 3 #elif HAS_FAN1 @@ -1180,14 +1184,14 @@ #endif #if HAS_FAN0 - #define WRITE_FAN(v) WRITE(FAN_PIN, v) + #define WRITE_FAN(v) WRITE(FAN_PIN, (v) ^ FAN_INVERTING) #define WRITE_FAN0(v) WRITE_FAN(v) #endif #if HAS_FAN1 - #define WRITE_FAN1(v) WRITE(FAN1_PIN, v) + #define WRITE_FAN1(v) WRITE(FAN1_PIN, (v) ^ FAN_INVERTING) #endif #if HAS_FAN2 - #define WRITE_FAN2(v) WRITE(FAN2_PIN, v) + #define WRITE_FAN2(v) WRITE(FAN2_PIN, (v) ^ FAN_INVERTING) #endif #define WRITE_FAN_N(n, v) WRITE_FAN##n(v)