The last two conditionals in loop() are still inside the Serial.available()
test, so they will never be noticed except if a character comes in off the
Serial port.You need to move them up a level so they always get tested round loop()
@MarkT,
Are these the two IF statements you were referring to :
if (Extending == true && CurrentPosition > goalPosition )
{
//we have reached our goal, shut the relays off
actuatorStop();
boolean Extending = false;
Serial.println("IDLE");
}
if (Retracting == true && CurrentPosition < goalPosition)
{
//we have reached our goal, shut the relay off
actuatorStop();
boolean Retracting = false;
Serial.println("DELI");
}