moveTo() doesn`t work,but it can operate the function of pumpOn() and pumpOff()

my code:
#include “uArm.h”
#include “uArmController.h”
#include “UFServo.h”

/*

  • define the local variable
    */
    double x, y, z;
    unsigned char mInRange = 0;

void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
uArm.setup();
Serial.println(“@2”); // report ready
}

void loop() {
// put your main code here, to run repeatedly:
if(Serial.read() == ‘w’)
{
mInRange = uArm.mController.getCurrentXYZ(x, y, z);
Serial.print(x);
Serial.print(“\t”);
Serial.print(y);
Serial.print(“\t”);
Serial.println(z);
while(1)
{
if(Serial.read() == ‘r’)
{
break;
}
}
}
uArm.moveTo(0, 15, 10);
Serial.println(“@…down”);
delay(1000);
uArm.mController.pumpOn();
Serial.println(“@…pumpOn”);
uArm.moveTo(0, 15, 18);
Serial.println(“@…up”);
delay(1000);
uArm.mController.pumpOff();
Serial.println(“@…pumpOff”);
delay(1000);
//exit(0);
}
output
@1
@2
@…down
@…pumpOn
@…up
@…pumpOff

I know it.
You should be added the function of uArm.run() in the loop.