PWM imprécis ?

J'y suis presque !

Encore un tout petit souci avec mon programme et la fonction parseInt !!!
Quand je tape 55, j'ai dans le port serie 5 (et ça fait bien tourner le moteur); à 233 il y a 33 qui ressort du port serie, en gros il me faut taper 2255 (ou nimporte quel chiffre devant la vitesse que je souhaite, et cela fonctionne, mais l'ideal est de pouvoir juste taper 233 et que ca puisse tourner à la vitesse 233... Sans oublier les ordres de fonctionnement de ma pompe ! Qu'est ce qui ne va pas :

void loop() {
 
  if (Serial.available()) //Si le port serie est disponible
{
 
int command = Serial.read(); 
 
if (command == 'O' || command == 'o') { //Allumage de la pompe, (S)tart
        digitalWrite(stopAndRun, LOW);
        Serial.println("Pompe On");
}
 
else if (command == 'S' || command == 's') { //Exctinction de la pompe, (S)top
        digitalWrite(stopAndRun, HIGH);
        Serial.println("Pompe Stop");
}
 
else if (command == 'H' || command == 'h') { //Sens de rotation, sens (H)oraire 
        digitalWrite(rotation, HIGH);
        Serial.println("Sens Horaire");
}
 
else if (command == 'A' || command == 'a') { //Sens de rotation, sens (A)nti-horaire
        digitalWrite(rotation, LOW);
        Serial.println("Sens Anti-horaire");
} 
 
    if (command >= 0 && command <= 255)  {  
    command = Serial.parseInt();  
    Serial.println(command);
    analogWrite(motorPin, command);
}
 
}