 
 void turn(int halfturns, float pitch, bool dir) {
     int fullspeedsteps = (halfTurnSteps * halfturns) - (accelSteps * 2);
-    // leave this without durationTurn adjustments
     int pulse = pitchToPulse(pitch);
     int startstoppulse = max(maxPulse, pulse);
     digitalWrite(dirPin, dir);

}

void turnUntilNext(float pitch, bool dir) {
    // leave this without durationTurn adjustments
    int pulse = pitchToPulse(pitch);
    int startstoppulse = max(maxPulse, pulse);
    digitalWrite(dirPin, dir);
    delayMicroseconds(pulseWidth);
    for (int i=0; i<accelSteps; i++) {
        oneStep(map(i, 0, accelSteps, startstoppulse, pulse));
        if (alarmState) return;
    }
    sendReady();

    int glisssteps = (halfTurnSteps * halfturns) - (accelSteps * 2);
    int startpulse = pitchToPulse(startpitch + glissAdd);
    int endpulse = pitchToPulse(endpitch + glissAdd);
    int accelsteps = map(startpitch, 48, 72, accelSteps-10, accelSteps+10);
    int decelsteps = map(endpitch, 48, 72, accelSteps-10, accelSteps+10);
    digitalWrite(dirPin, dir);
    delayMicroseconds(pulseWidth);
    for (int i=0; i<accelsteps; i++) {
        oneStep(map(i, 0, accelsteps, max(maxPulse, startpulse), startpulse));
        if (alarmState) return;
    }
    for (int i=0; i<glisssteps; i++) {
        oneStep(map(i, 0, glisssteps, startpulse, endpulse));
        if (alarmState) return;
    }
    for (int i=0; i<decelsteps; i++) {
        oneStep(map(i, 0, decelsteps, endpulse, max(maxPulse, endpulse)));
        if (i>(accelSteps - decelLook) && digitalRead(sensorPin)) break;
        if (alarmState) return;
    }
