    }
    else
    {
-     alphaSigned = StrToFloat(inputString);
+     // To reject incorrect value due to 0. badly read
+     if ((StrToFloat(inputString)>=-1) & (StrToFloat(inputString)<=1))
+     {
+       alphaSigned = StrToFloat(inputString);
+       lastSerialInputTime = millis();
+       Serial.println(alphaSigned);
+     }
    }
   }
   Serial.println(inputString);

This parameter can be set thanks to a an analog voltage (set through a potentiometer used as joystick 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


void computeAlphaSigned()
{
  if (serialFrequency != 0)
  { // Fallbacks to zero as we received no message in the expected time (twice the time)
    if ((millis()-lastSerialInputTime) > 2*1/serialFrequency*1000)
    {
      alphaSigned = 0;
    }
  }
    // If not in Serial control overwrite the value 
  if (false == isSerialControl)
  {
    // Compute the value corresponding to the deadband
    double sensorDeadBandMax = sensorValueMin + (deadBand/2.0+0.5)*(sensorValueMax - sensorValueMin);
    double sensorDeadBandMin = sensorValueMin + (-deadBand/2.0+0.5)*(sensorValueMax - sensorValueMin);
    if (sensorValue < sensorDeadBandMin) //strictly to avoid alphaSigned equals zero
    {
      alphaSigned = (sensorValue-sensorValueMin)/(sensorDeadBandMax - sensorValueMin)-1;
