 There is now feedback nor stall control on speed, so the output rotation speed may depend on load torque.
 The motor is controlled through a parameter alpha which is signed and vary from -1 to -1.
 This parameter can be set thanks to a an analog voltage (set through a potentiometer for example) or sent over serial connection
+The analog voltage is taken by default.
+If the analog voltage is not zero, the motor is left free of moving
+To start the serial control send "i" in a serial monitor
+Then send the value with a dot (ex "0.5")
+To stop the serial control send "o".
 There is not guarantee that there is a linear relationship between alpha and the rotation speed
 */
 // \todo this code needs refactorization

      stringComplete = true;
    }
  }
  alphaSigned = StrToFloat(inputString);
  Serial.println(inputString);
  Serial.println(alphaSigned);
  inputString="";

    else
    {
	  // Brake
      digitalWrite(HbridgeLogicPin1, HIGH);
      digitalWrite(HbridgeLogicPin2, HIGH);
    }
	// \todo: add an input to enable manual rotation of the motor
  }
  delay(minTime_ms);

  sensorValue = analogRead(analogInPin);
  if (sensorValue < 10)
  { 
    // Motor is free to move to enable manual control
    digitalWrite(HbridgeEnablePin, LOW);
  }
  else
  { 
    digitalWrite(HbridgeEnablePin, HIGH);
  }
  if (false==isSerialControl)
  {
    alphaSigned = 2*((sensorValue-sensorValueMin)/(sensorValueMax - sensorValueMin)-0.5);  
  }
  alpha = max(fabs(alphaSigned), deadBand);
  alpha = min(alpha, 1);
    if (alphaSigned>fabs(deadBand))
