From 4df9509eadc88b062181e3626ab72380df2dd288 Mon Sep 17 00:00:00 2001 From: pinchies Date: Mon, 11 Mar 2019 12:51:21 +1100 Subject: [PATCH] Add support for printers with inverted fan pins (#13362) Add support for printers with inverted fan pins by adding `#define FAN_INVERTING 1` to `Configuration_adv.h` and modifying the fan write macros. --- Marlin/src/inc/Conditionals_post.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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)