 				switch (*p)
 				{
 					case 'd':
-						TMP_DATA[8]  = val; // directZ #8
+						TMP_DATA[8]  = val; // DIRECT_Z #8
 						break;
 					case 's':
-						TMP_DATA[9]   = val; // speedZ #9
+						TMP_DATA[9]   = val; // SPEED_Z #9
 						break;
 					case 'c':
 						TMP_DATA[0]   = val; // channel #0

			if(TMP_DATA[0] == channel )
			{
				Serial.println("RESET");
				production = false;
				emgStop    = false;
				TMP_DATA[0] = 0;
			}	


		//======================================================================

		// Direction
		if(x < 90) DIRECT_X = false;
		else DIRECT_X = true;

		if(INVERT_X)
		{
			if(DIRECT_X) DIRECT_X = false;
			else DIRECT_X = true;
		}
		digitalWrite(PIN_DIRECTION_X, DIRECT_X); // dirX

		// Si ont doit demarer le moteur
		if(x > (SETPOINT_X + HYSTERESIS) || (x < SETPOINT_X - HYSTERESIS ))
		{
			if(x > MIN_X && x < MAX_X) RUN_X = true;
			else RUN_X = false;
		}
		else RUN_X = false;

		// Calcul du PID X
		if(x < SETPOINT_X) vx = (SETPOINT_X - x);
		if(x == 0) vx = 0;
		if(x > SETPOINT_X) vx = (x - SETPOINT_X);

		SPEED_X = 1000 / (vx);
		SPEED_X = SPEED_X * MULTIPLIER; // DEL
		if(SPEED_X < 15) SPEED_X = 15;

		// Mise en route du moteur
		unsigned long currentX = millis();

		if (currentX - previousMillisX >= SPEED_X)
		{
			previousMillisX = currentX;

			if(RUN_X)
			{
				digitalWrite(PIN_STEP_X, 1);
				delayMicroseconds( 500 );
				digitalWrite(PIN_STEP_X, 0);
				delayMicroseconds( 500 );
			}
		}
