// update_flight_mode - calls the appropriate attitude controllers based on flight mode // called at 100hz or more void Sub::update_flight_mode() { // Update EKF speed limit - used to limit speed when we are using optical flow ahrs.getEkfControlLimits(ekfGndSpdLimit, ekfNavVelGainScaler); switch (control_mode) { case ACRO: acro_run(); break; case STABILIZE: stabilize_run(); break; case ALT_HOLD: althold_run(); break; case AUTO: auto_run(); break; case CIRCLE: circle_run(); break; case VELHOLD: velhold_run(); break; case GUIDED: guided_run(); break; case SURFACE: surface_run(); break; #if AUTOTUNE_ENABLED == ENABLED case AUTOTUNE: autotune_run(); break; #endif #if POSHOLD_ENABLED == ENABLED case POSHOLD: poshold_run(); break; #endif case MANUAL: manual_run(); break; default: break; } }
// update_flight_mode - calls the appropriate attitude controllers based on flight mode // called at 100hz or more void Sub::update_flight_mode() { switch (control_mode) { case ACRO: acro_run(); break; case STABILIZE: stabilize_run(); break; case ALT_HOLD: althold_run(); break; case AUTO: auto_run(); break; case CIRCLE: circle_run(); break; case GUIDED: guided_run(); break; case SURFACE: surface_run(); break; #if POSHOLD_ENABLED == ENABLED case POSHOLD: poshold_run(); break; #endif case MANUAL: manual_run(); break; default: break; } }