ServoTimer2 and ping sensor gives me interuptions

hi all,
I’m currently working on a project where I want to rotate a Ping sensor using a servo. The servo should be constantly moving and the Ping sensor should be constantly measuring distance as well…
but I get a interuption (while the servo is moving the sensor is not working)

here is my code

int pingPin = 7;
int servoVal = 800

#include <ServoTimer2.h>
#define rollPin 10
ServoTimer2 servoRoll;

void setup()
{
Serial.begin(115200);
servoRoll.attach(rollPin);
}

void loop()
{
readSerial();
servoRoll.write(servoVal);

long cm = microsecondsToCentimeters(pingTime());
if (cm < 255) {
pingOut = 0;
if (cm > 255) cm = 255;
Serial.print(“PI”);
Serial.print("=");
Serial.print(cm, BYTE);
Serial.println(";");
}

}

long microsecondsToCentimeters(long microseconds)
{
return microseconds / 29 / 2;
}

long pingTime(){
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(5);
digitalWrite(pingPin, LOW);
pinMode(pingPin, INPUT);
long duur = pulseIn(pingPin, HIGH);
return duur;
}

void readSerial() {
boolean validBytes = false;
if (Serial.available() > 0){
if (Serial.read() == ‘S’){ //first checker byte
if (Serial.read() == ‘E’){ //second checker byte
if (Serial.read() == ‘[’){ //third checker byte
servoVal = Serial.read();
if (servoVal && Serial.read() == ‘]’) {
validBytes = true;
servoVal = map(servoVal, 0, 255, 800, 2200);
}
}
}
}
if (validBytes == false) {
// dump invalid bytes
Serial.flush();
}
}
}

hope somebody can help.

Thanks,
Harm