 
 // Arm positioning routine utilizing inverse kinematics in cylindrical coordinates
 // (r = radius, h = height, b = azimuth = base servo angle, handAngle = angle of hand from horizontal)
-int moveArmCoord( double radius_mm, double height_mm, double basAngle_d, double handAngle_d )
+int moveArmCoord( double radius_mm, double height_mm, double basAngle_d, double handAngle_d, int delay_ms )
 {
    if ( radius_mm < 0 ) return -4;
    DEBUG("moveArmCoord("); DEBUG(radius_mm); DEBUG(","); DEBUG(height_mm); DEBUG(","); DEBUG(basAngle_d); DEBUG(","); DEBUG(handAngle_d); DEBUGln(")");

// -1: Input angle below servo range
// -2: Input angle above servo range
// -3: Destination is physically out of reach
// -4: One or more servos have stalled

/*************/
/* FUNCTIONS */

}

// Moves the arm slowly to a new position, depending on the specified delay
int slowMoveArm( double basAngle_d, double shlAngle_d, double elbAngle_d, double wriAngle_d, long int delay_, bool scaleDelay )
{ 
   DEBUG("slowMoveArm("); DEBUG(basAngle_d); DEBUG(","); DEBUG(shlAngle_d); DEBUG(","); DEBUG(elbAngle_d); DEBUG(","); DEBUG(wriAngle_d); DEBUGln(")");
   
   if ( scaleDelay && ( delay_ > DELAY_MAX || delay_ < 0 ) ) return -5;
   
   int ret_val;
   
