     const float yawCmd   = ((float)APMRadio::get(RADIO_YAW)-90)   / 90.0;
     const float throttle = ((float)APMRadio::get(RADIO_THROTTLE)-25)/130.0;
     const bool  gearCmd  = (APMRadio::get(RADIO_GEAR) > 90);
+    altitudeCalculation();
 
     // check for low throttle standby mode
     if(APMRadio::get(RADIO_THROTTLE) <= CHANNEL_MIN){

    }

    return throttleOutput;
}

float dVdA(float v, float a){
    static float pv, pa;
    static float ave;
    float dv = v-pv;
    float da = a-pa;
    pv = v;
    pa = a;
    ave = 0.95 * ave + 0.05 * (dv/da);
    return ave;
}

void sendTelemetry(){


    // update yaw target
    if(fabs(yawCmd) > 0.1){
        static uint32_t integrationTimer = micros();
        float dt = (micros() - integrationTimer)/1e6;
        yawTarget += yawCmd*dt;
        yawTarget = truncateRadian(yawTarget);
    }

    // calculate target throttle
    float throttleOut = (altHold)? altHoldUpdate(throttle) :
                                   throttleCurve.get(throttle);
