 		 * We detect swings as hilt's orientation change
 		 * since IMUs sucks at determining relative position in space
 		 */
+#ifdef BLADE_Z
 		if (abs(quaternion.w) > storage.swingTreshold and !swingSuppress
 				and aaWorld.z < 0
 				and abs(quaternion.z) < (9 / 2) * storage.swingTreshold
 				and (abs(quaternion.x) > 3 * storage.swingTreshold
-						or abs(quaternion.y) > 3 * storage.swingTreshold)	// We don't want to treat blade Z axe rotations as a swing
-				) {
+						or abs(quaternion.y) > 3 * storage.swingTreshold)// We don't want to treat blade Z axe rotations as a swing
+		)
+#endif
+#ifdef BLADE_Y
+		if (abs(quaternion.w) > storage.swingTreshold and !swingSuppress
+				and aaWorld.y < 0
+				and abs(quaternion.y) < (9 / 2) * storage.swingTreshold
+				and (abs(quaternion.x) > 3 * storage.swingTreshold
+						or abs(quaternion.z) > 3 * storage.swingTreshold)// We don't want to treat blade Y axe rotations as a swing
+				)
+#endif
+#ifdef BLADE_X
+				if (abs(quaternion.w) > storage.swingTreshold and !swingSuppress
+						and aaWorld.x < 0
+						and abs(quaternion.x) < (9 / 2) * storage.swingTreshold
+						and (abs(quaternion.z) > 3 * storage.swingTreshold
+								or abs(quaternion.y) > 3 * storage.swingTreshold)// We don't want to treat blade X axe rotations as a swing
+				)
+#endif
+				{
 			/*
 			 *  THIS IS A SWING !
 			 */

#define LEDSTRING4 			9
#define LEDSTRING5 			10
#define LEDSTRING6 			11
#ifdef LUXEON
/* COLORS
 * Number of colors to chose from
 * Range : 6<->600
 */
#define COLORS		 		48
#define LED_RED 			3
#define LED_GREEN 			5
#define LED_BLUE 			6

#define BLASTER_FLASH_TIME  5
#define CLASH_BLINK_TIME    15
#endif

#define DFPLAYER_RX			8

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