28 float takeoff_climb_rate = 0.0f;
57 }
else if (roll_angle < -aparm.
angle_max) {
63 }
else if (pitch_angle < -aparm.
angle_max) {
79 }
else if (!
ap.auto_armed ||
ap.land_complete) {
86 switch (sport_state) {
91 attitude_control->input_euler_rate_roll_pitch_yaw(target_roll_rate, target_pitch_rate, target_yaw_rate);
92 #if FRAME_CONFIG == HELI_FRAME 124 attitude_control->input_euler_rate_roll_pitch_yaw(target_roll_rate, target_pitch_rate, target_yaw_rate);
134 if (target_climb_rate < 0.0
f) {
142 attitude_control->input_euler_rate_roll_pitch_yaw(target_roll_rate, target_pitch_rate, target_yaw_rate);
150 attitude_control->input_euler_rate_roll_pitch_yaw(target_roll_rate, target_pitch_rate, target_yaw_rate);
153 if (
copter.rangefinder_alt_ok()) {
virtual float get_velocity_z() const=0
float get_alt_target() const
bool takeoff_triggered(float target_climb_rate) const
AP_Float acro_balance_roll
float get_surface_tracking_climb_rate(int16_t target_rate, float current_alt_target, float dt)
virtual void set_alt_target_from_climb_rate(float climb_rate_cms, float dt, bool force_descend)
void takeoff_get_climb_rates(float &pilot_climb_rate, float &takeoff_climb_rate)
float get_avoidance_adjusted_climbrate(float target_rate)
void update_z_controller()
uint16_t get_pilot_speed_dn(void)
void update_simple_mode(void)
AC_AttitudeControl_t *& attitude_control
auto wrap_180_cd(const T angle) -> decltype(wrap_180(angle, 100.f))
float get_pilot_desired_climb_rate(float throttle_control)
float get_pilot_desired_yaw_rate(int16_t stick_angle)
AP_Float pilot_takeoff_alt
void add_takeoff_climb_rate(float climb_rate_cms, float dt)
void takeoff_timer_start(float alt_cm)
int16_t get_control_in() const
void relax_alt_hold_controllers(float throttle_setting)
int32_t constrain_int32(const int32_t amt, const int32_t low, const int32_t high)
void set_desired_velocity_z(float vel_z_cms)
void set_speed_z(float speed_down, float speed_up)
void set_throttle_takeoff(void)
void set_accel_z(float accel_cmss)
DESIRED_THROTTLE_UNLIMITED
virtual void set_alt_target_from_climb_rate_ff(float climb_rate_cms, float dt, bool force_descend)
RC_Channel *& channel_roll
AC_PosControl *& pos_control
takeoff_state_t & takeoff_state
float constrain_float(const float amt, const float low, const float high)
AP_HAL_MAIN_CALLBACKS & copter
AP_InertialNav & inertial_nav
AP_Float acro_balance_pitch
bool init(bool ignore_checks) override
#define ACRO_LEVEL_MAX_ANGLE
RC_Channel *& channel_yaw
void set_land_complete(bool b)
AP_Vehicle::MultiCopter aparm
RC_Channel *& channel_throttle
RC_Channel *& channel_pitch
void set_alt_target_to_current_alt()