From f4639fa9647601f5632dc52500e6b87851f1a157 Mon Sep 17 00:00:00 2001
From: Scott Lahteine <github@thinkyhead.com>
Date: Fri, 2 Feb 2018 00:40:22 -0600
Subject: [PATCH] Move SET_BIT macro to endstops.cpp and simplify

---
 Marlin/endstops.cpp | 1 +
 Marlin/macros.h     | 1 -
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/Marlin/endstops.cpp b/Marlin/endstops.cpp
index 5452665ea30..ef731a0f23e 100644
--- a/Marlin/endstops.cpp
+++ b/Marlin/endstops.cpp
@@ -306,6 +306,7 @@ void Endstops::update() {
   #define _ENDSTOP_INVERTING(AXIS, MINMAX) AXIS ##_## MINMAX ##_ENDSTOP_INVERTING
   #define _ENDSTOP_HIT(AXIS, MINMAX) SBI(endstop_hit_bits, _ENDSTOP(AXIS, MINMAX))
 
+  #define SET_BIT(N,B,TF) do{ if (TF) SBI(N,B); else CBI(N,B); }while(0)
   // UPDATE_ENDSTOP_BIT: set the current endstop bits for an endstop to its status
   #define UPDATE_ENDSTOP_BIT(AXIS, MINMAX) SET_BIT(current_endstop_bits, _ENDSTOP(AXIS, MINMAX), (READ(_ENDSTOP_PIN(AXIS, MINMAX)) != _ENDSTOP_INVERTING(AXIS, MINMAX)))
   // COPY_BIT: copy the value of SRC_BIT to DST_BIT in DST
diff --git a/Marlin/macros.h b/Marlin/macros.h
index 13027044dc3..10da274db5f 100644
--- a/Marlin/macros.h
+++ b/Marlin/macros.h
@@ -106,7 +106,6 @@
 #define TEST(n,b) !!((n)&_BV(b))
 #define SBI(n,b) (n |= _BV(b))
 #define CBI(n,b) (n &= ~_BV(b))
-#define SET_BIT(n,b,value) (n) ^= ((-value)^(n)) & (_BV(b))
 
 #define _BV32(b) (1UL << (b))
 #define TEST32(n,b) !!((n)&_BV32(b))