     //always running updates
     loopQuad();
     sendTelemetry();
-
     //flight mode state machine
     switch(state){
         /*#DISARMED Hold Down and to the right on
          * the Throttle stick for two seconds to begin the arming process
         **/
         case DISARMED:
-            if(radioDownRight.trueFor(2000)) {
+            if(radioDownRight.trueFor(ARMING_TIME)) {
                 if(safe()){
-                    calStartTime = millis();
+                    calibrateEndTimer = Interval::elapsed(CALIBRATING_TIME);
                     setState(CALIBRATE);
                 } else {
                     /*#NOFLY Flight aborted due to error status */

        **/
        case CALIBRATE:
            orientation.calibrate(true);
            if(calStartTime + 2000 < millis()) {
                orientation.calibrate(false);
                yawTarget = orientation.getYaw();
                altitudeCalcInit();

        **/
        case FLYING:
            fly();
            if(radioDownLeft.trueFor(DISARMING_TIME)) {
                output.disable();
                setState(DISARMED);
            }
