 			printQuaternion(quaternion, 1);
 #endif
 
-		} else if (abs(quaternion.w) > storage.swingTreshold and !swingSuppress
+		}
+#ifdef BLADE_Z
+		else if (abs(quaternion.w) > storage.swingTreshold and !swingSuppress
 				and (aaWorld.z > 0
 						and abs(quaternion.z) > (13 / 2) * storage.swingTreshold
 						and abs(quaternion.x) < 3 * storage.swingTreshold
 						and abs(quaternion.y) < 3 * storage.swingTreshold)// We specifically  treat blade Z axe rotations as a swing
+#endif
+#ifdef BLADE_Y
+		else if (abs(quaternion.w) > storage.swingTreshold and !swingSuppress
+				and (aaWorld.y > 0
+						and abs(quaternion.y) > (13 / 2) * storage.swingTreshold
+						and abs(quaternion.x) < 3 * storage.swingTreshold
+						and abs(quaternion.z) < 3 * storage.swingTreshold)// We specifically  treat blade Z axe rotations as a swing
+#endif
+#ifdef BLADE_X
+				else if (abs(quaternion.w) > storage.swingTreshold and !swingSuppress
+						and (aaWorld.x > 0
+								and abs(quaternion.x) > (13 / 2) * storage.swingTreshold
+								and abs(quaternion.z) < 3 * storage.swingTreshold
+								and abs(quaternion.y) < 3 * storage.swingTreshold)// We specifically  treat blade Z axe rotations as a swing
+#endif
+
 				) {
 			/*
 			 *  THIS IS A WRIST TWIST !

#endif

/*
 * DEFINED PINS
 * Modify to match your project setup
 * DO NOT USE PINS:

				swingSuppress = SWING_SUPPRESS * 10;
				delay(OPERATING_DELAY * 3);
			}
#ifdef LS_SWING_DEBUG
			Serial.print(F("WRIST\t s="));
			Serial.print(swingSuppress);
