Tu as encore une fois raison.
Il y aurait deux manières de corriger le problème:
1) modifier le map
motorSpeedA = map(joyValueA, joyValueMidUpper, joyValueMax, motorSpeedMin, motorSpeedMax);
en ceci:
motorSpeedA = map(joyValueA, joyValueMidUpper, joyValueMax, motorSpeedMax, motorSpeedMin);
2) modifier le if
if (millis() >= startDelayA + SpdA)
en ceci:
if (millis() >= startDelayA + 256 - SpdA)
Pour ma part je choisirais plutôt la seconde solution, car elle permet de garder les noms des variables avec leur signification originale.
Rendez-vous au prochain bug!
-----