APM:Libraries
Private Types | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
AP_Landing_Deepstall Class Reference

Class managing Plane Deepstall landing methods. More...

#include <AP_Landing_Deepstall.h>

Collaboration diagram for AP_Landing_Deepstall:
[legend]

Private Types

enum  deepstall_stage {
  DEEPSTALL_STAGE_FLY_TO_LANDING, DEEPSTALL_STAGE_ESTIMATE_WIND, DEEPSTALL_STAGE_WAIT_FOR_BREAKOUT, DEEPSTALL_STAGE_FLY_TO_ARC,
  DEEPSTALL_STAGE_ARC, DEEPSTALL_STAGE_APPROACH, DEEPSTALL_STAGE_LAND
}
 

Private Member Functions

 AP_Landing_Deepstall (AP_Landing &_landing)
 
void do_land (const AP_Mission::Mission_Command &cmd, const float relative_altitude)
 
void verify_abort_landing (const Location &prev_WP_loc, Location &next_WP_loc, bool &throttle_suppressed)
 
bool verify_land (const Location &prev_WP_loc, Location &next_WP_loc, const Location &current_loc, const float height, const float sink_rate, const float wp_proportion, const uint32_t last_flying_ms, const bool is_armed, const bool is_flying, const bool rangefinder_state_in_range)
 
void setup_landing_glide_slope (const Location &prev_WP_loc, const Location &next_WP_loc, const Location &current_loc, int32_t &target_altitude_offset_cm)
 
bool override_servos (void)
 
bool request_go_around (void)
 
bool get_target_altitude_location (Location &location)
 
int32_t get_target_airspeed_cm (void) const
 
bool is_throttle_suppressed (void) const
 
bool is_flying_forward (void) const
 
bool is_on_approach (void) const
 
bool terminate (void)
 
void Log (void) const
 
bool send_deepstall_message (mavlink_channel_t chan) const
 
const DataFlash_Class::PID_Infoget_pid_info (void) const
 
void build_approach_path (bool use_current_heading)
 
float predict_travel_distance (const Vector3f wind, const float height, const bool print)
 
bool verify_breakout (const Location &current_loc, const Location &target_loc, const float height_error) const
 
float update_steering (void)
 

Private Attributes

AP_Landinglanding
 
AP_Float forward_speed
 
AP_Float slope_a
 
AP_Float slope_b
 
AP_Float approach_extension
 
AP_Float down_speed
 
AP_Float slew_speed
 
AP_Int16 elevator_pwm
 
AP_Float handoff_airspeed
 
AP_Float handoff_lower_limit_airspeed
 
AP_Float L1_period
 
AP_Float L1_i
 
AP_Float yaw_rate_limit
 
AP_Float time_constant
 
AP_Float min_abort_alt
 
AP_Float aileron_scalar
 
int32_t loiter_sum_cd
 
deepstall_stage stage
 
Location landing_point
 
Location extended_approach
 
Location breakout_location
 
Location arc
 
Location arc_entry
 
Location arc_exit
 
float target_heading_deg
 
uint32_t stall_entry_time
 
uint16_t initial_elevator_pwm
 
uint32_t last_time
 
float L1_xtrack_i
 
PID ds_PID
 
int32_t last_target_bearing
 
float crosstrack_error
 
float predicted_travel_distance
 
bool hold_level
 
float approach_alt_offset
 

Static Private Attributes

static const struct AP_Param::GroupInfo var_info []
 

Friends

class AP_Landing
 

Detailed Description

Class managing Plane Deepstall landing methods.

Definition at line 30 of file AP_Landing_Deepstall.h.

Member Enumeration Documentation

◆ deepstall_stage

Enumerator
DEEPSTALL_STAGE_FLY_TO_LANDING 
DEEPSTALL_STAGE_ESTIMATE_WIND 
DEEPSTALL_STAGE_WAIT_FOR_BREAKOUT 
DEEPSTALL_STAGE_FLY_TO_ARC 
DEEPSTALL_STAGE_ARC 
DEEPSTALL_STAGE_APPROACH 
DEEPSTALL_STAGE_LAND 

Definition at line 47 of file AP_Landing_Deepstall.h.

Constructor & Destructor Documentation

◆ AP_Landing_Deepstall()

AP_Landing_Deepstall::AP_Landing_Deepstall ( AP_Landing _landing)
inlineprivate

Definition at line 36 of file AP_Landing_Deepstall.h.

Here is the call graph for this function:

Member Function Documentation

◆ build_approach_path()

void AP_Landing_Deepstall::build_approach_path ( bool  use_current_heading)
private

Definition at line 476 of file AP_Landing_Deepstall.cpp.

Referenced by terminate(), and verify_land().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ do_land()

void AP_Landing_Deepstall::do_land ( const AP_Mission::Mission_Command cmd,
const float  relative_altitude 
)
private

Definition at line 153 of file AP_Landing_Deepstall.cpp.

Referenced by AP_Landing::do_land().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_pid_info()

const DataFlash_Class::PID_Info & AP_Landing_Deepstall::get_pid_info ( void  ) const
private

Definition at line 426 of file AP_Landing_Deepstall.cpp.

Referenced by AP_Landing::get_pid_info().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_target_airspeed_cm()

int32_t AP_Landing_Deepstall::get_target_airspeed_cm ( void  ) const
private

Definition at line 398 of file AP_Landing_Deepstall.cpp.

Referenced by AP_Landing::get_target_airspeed_cm().

Here is the caller graph for this function:

◆ get_target_altitude_location()

bool AP_Landing_Deepstall::get_target_altitude_location ( Location location)
private

Definition at line 392 of file AP_Landing_Deepstall.cpp.

Referenced by AP_Landing::get_target_altitude_location().

Here is the caller graph for this function:

◆ is_flying_forward()

bool AP_Landing_Deepstall::is_flying_forward ( void  ) const
private

Definition at line 382 of file AP_Landing_Deepstall.cpp.

Referenced by AP_Landing::is_flying_forward().

Here is the caller graph for this function:

◆ is_on_approach()

bool AP_Landing_Deepstall::is_on_approach ( void  ) const
private

Definition at line 387 of file AP_Landing_Deepstall.cpp.

Referenced by AP_Landing::is_on_approach().

Here is the caller graph for this function:

◆ is_throttle_suppressed()

bool AP_Landing_Deepstall::is_throttle_suppressed ( void  ) const
private

Definition at line 377 of file AP_Landing_Deepstall.cpp.

Referenced by AP_Landing::is_throttle_suppressed().

Here is the caller graph for this function:

◆ Log()

void AP_Landing_Deepstall::Log ( void  ) const
private

Definition at line 431 of file AP_Landing_Deepstall.cpp.

Referenced by AP_Landing::Log().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ override_servos()

bool AP_Landing_Deepstall::override_servos ( void  )
private

Definition at line 313 of file AP_Landing_Deepstall.cpp.

Referenced by AP_Landing::override_servos(), and terminate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ predict_travel_distance()

float AP_Landing_Deepstall::predict_travel_distance ( const Vector3f  wind,
const float  height,
const bool  print 
)
private

Definition at line 523 of file AP_Landing_Deepstall.cpp.

Referenced by build_approach_path(), and verify_land().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ request_go_around()

bool AP_Landing_Deepstall::request_go_around ( void  )
private

Definition at line 364 of file AP_Landing_Deepstall.cpp.

Referenced by override_servos(), and AP_Landing::request_go_around().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ send_deepstall_message()

bool AP_Landing_Deepstall::send_deepstall_message ( mavlink_channel_t  chan) const
private

Definition at line 408 of file AP_Landing_Deepstall.cpp.

Referenced by AP_Landing::send_landing_message().

Here is the caller graph for this function:

◆ setup_landing_glide_slope()

void AP_Landing_Deepstall::setup_landing_glide_slope ( const Location prev_WP_loc,
const Location next_WP_loc,
const Location current_loc,
int32_t &  target_altitude_offset_cm 
)
private

◆ terminate()

bool AP_Landing_Deepstall::terminate ( void  )
private

Definition at line 456 of file AP_Landing_Deepstall.cpp.

Referenced by AP_Landing::terminate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_steering()

float AP_Landing_Deepstall::update_steering ( void  )
private

Definition at line 588 of file AP_Landing_Deepstall.cpp.

Referenced by override_servos().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ verify_abort_landing()

void AP_Landing_Deepstall::verify_abort_landing ( const Location prev_WP_loc,
Location next_WP_loc,
bool &  throttle_suppressed 
)
private

Definition at line 172 of file AP_Landing_Deepstall.cpp.

Referenced by AP_Landing::verify_abort_landing().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ verify_breakout()

bool AP_Landing_Deepstall::verify_breakout ( const Location current_loc,
const Location target_loc,
const float  height_error 
) const
private

Definition at line 572 of file AP_Landing_Deepstall.cpp.

Referenced by verify_land().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ verify_land()

bool AP_Landing_Deepstall::verify_land ( const Location prev_WP_loc,
Location next_WP_loc,
const Location current_loc,
const float  height,
const float  sink_rate,
const float  wp_proportion,
const uint32_t  last_flying_ms,
const bool  is_armed,
const bool  is_flying,
const bool  rangefinder_state_in_range 
)
private

Definition at line 184 of file AP_Landing_Deepstall.cpp.

Referenced by AP_Landing::verify_land().

Here is the call graph for this function:
Here is the caller graph for this function:

Friends And Related Function Documentation

◆ AP_Landing

friend class AP_Landing
friend

Definition at line 33 of file AP_Landing_Deepstall.h.

Member Data Documentation

◆ aileron_scalar

AP_Float AP_Landing_Deepstall::aileron_scalar
private

Definition at line 71 of file AP_Landing_Deepstall.h.

Referenced by override_servos().

◆ approach_alt_offset

float AP_Landing_Deepstall::approach_alt_offset
private

Definition at line 90 of file AP_Landing_Deepstall.h.

Referenced by build_approach_path(), do_land(), and verify_land().

◆ approach_extension

AP_Float AP_Landing_Deepstall::approach_extension
private

Definition at line 60 of file AP_Landing_Deepstall.h.

Referenced by build_approach_path().

◆ arc

Location AP_Landing_Deepstall::arc
private

Definition at line 77 of file AP_Landing_Deepstall.h.

Referenced by build_approach_path(), and verify_land().

◆ arc_entry

Location AP_Landing_Deepstall::arc_entry
private

Definition at line 78 of file AP_Landing_Deepstall.h.

Referenced by build_approach_path(), send_deepstall_message(), and verify_land().

◆ arc_exit

Location AP_Landing_Deepstall::arc_exit
private

◆ breakout_location

Location AP_Landing_Deepstall::breakout_location
private

Definition at line 76 of file AP_Landing_Deepstall.h.

Referenced by verify_land().

◆ crosstrack_error

float AP_Landing_Deepstall::crosstrack_error
private

Definition at line 87 of file AP_Landing_Deepstall.h.

Referenced by Log(), send_deepstall_message(), and update_steering().

◆ down_speed

AP_Float AP_Landing_Deepstall::down_speed
private

Definition at line 61 of file AP_Landing_Deepstall.h.

Referenced by predict_travel_distance().

◆ ds_PID

PID AP_Landing_Deepstall::ds_PID
private

Definition at line 85 of file AP_Landing_Deepstall.h.

Referenced by do_land(), get_pid_info(), Log(), terminate(), and update_steering().

◆ elevator_pwm

AP_Int16 AP_Landing_Deepstall::elevator_pwm
private

Definition at line 63 of file AP_Landing_Deepstall.h.

Referenced by override_servos().

◆ extended_approach

Location AP_Landing_Deepstall::extended_approach
private

Definition at line 75 of file AP_Landing_Deepstall.h.

Referenced by build_approach_path(), update_steering(), and verify_land().

◆ forward_speed

AP_Float AP_Landing_Deepstall::forward_speed
private

Definition at line 57 of file AP_Landing_Deepstall.h.

Referenced by predict_travel_distance().

◆ handoff_airspeed

AP_Float AP_Landing_Deepstall::handoff_airspeed
private

Definition at line 64 of file AP_Landing_Deepstall.h.

Referenced by override_servos().

◆ handoff_lower_limit_airspeed

AP_Float AP_Landing_Deepstall::handoff_lower_limit_airspeed
private

Definition at line 65 of file AP_Landing_Deepstall.h.

Referenced by override_servos().

◆ hold_level

bool AP_Landing_Deepstall::hold_level
private

Definition at line 89 of file AP_Landing_Deepstall.h.

Referenced by do_land(), terminate(), and update_steering().

◆ initial_elevator_pwm

uint16_t AP_Landing_Deepstall::initial_elevator_pwm
private

Definition at line 82 of file AP_Landing_Deepstall.h.

Referenced by override_servos(), and verify_land().

◆ L1_i

AP_Float AP_Landing_Deepstall::L1_i
private

Definition at line 67 of file AP_Landing_Deepstall.h.

Referenced by update_steering().

◆ L1_period

AP_Float AP_Landing_Deepstall::L1_period
private

Definition at line 66 of file AP_Landing_Deepstall.h.

Referenced by update_steering().

◆ L1_xtrack_i

float AP_Landing_Deepstall::L1_xtrack_i
private

Definition at line 84 of file AP_Landing_Deepstall.h.

Referenced by do_land(), Log(), terminate(), and update_steering().

◆ landing

AP_Landing& AP_Landing_Deepstall::landing
private

◆ landing_point

Location AP_Landing_Deepstall::landing_point
private

◆ last_target_bearing

int32_t AP_Landing_Deepstall::last_target_bearing
private

Definition at line 86 of file AP_Landing_Deepstall.h.

Referenced by verify_land().

◆ last_time

uint32_t AP_Landing_Deepstall::last_time
private

Definition at line 83 of file AP_Landing_Deepstall.h.

Referenced by update_steering().

◆ loiter_sum_cd

int32_t AP_Landing_Deepstall::loiter_sum_cd
private

Definition at line 72 of file AP_Landing_Deepstall.h.

Referenced by Log(), and verify_land().

◆ min_abort_alt

AP_Float AP_Landing_Deepstall::min_abort_alt
private

Definition at line 70 of file AP_Landing_Deepstall.h.

Referenced by request_go_around().

◆ predicted_travel_distance

float AP_Landing_Deepstall::predicted_travel_distance
private

Definition at line 88 of file AP_Landing_Deepstall.h.

Referenced by Log(), predict_travel_distance(), and send_deepstall_message().

◆ slew_speed

AP_Float AP_Landing_Deepstall::slew_speed
private

Definition at line 62 of file AP_Landing_Deepstall.h.

Referenced by override_servos().

◆ slope_a

AP_Float AP_Landing_Deepstall::slope_a
private

Definition at line 58 of file AP_Landing_Deepstall.h.

Referenced by predict_travel_distance().

◆ slope_b

AP_Float AP_Landing_Deepstall::slope_b
private

Definition at line 59 of file AP_Landing_Deepstall.h.

Referenced by predict_travel_distance().

◆ stage

deepstall_stage AP_Landing_Deepstall::stage
private

◆ stall_entry_time

uint32_t AP_Landing_Deepstall::stall_entry_time
private

Definition at line 81 of file AP_Landing_Deepstall.h.

Referenced by override_servos(), terminate(), and verify_land().

◆ target_heading_deg

float AP_Landing_Deepstall::target_heading_deg
private

◆ time_constant

AP_Float AP_Landing_Deepstall::time_constant
private

Definition at line 69 of file AP_Landing_Deepstall.h.

Referenced by update_steering().

◆ var_info

const AP_Param::GroupInfo AP_Landing_Deepstall::var_info
staticprivate

Definition at line 44 of file AP_Landing_Deepstall.h.

Referenced by AP_Landing_Deepstall().

◆ yaw_rate_limit

AP_Float AP_Landing_Deepstall::yaw_rate_limit
private

Definition at line 68 of file AP_Landing_Deepstall.h.

Referenced by update_steering().


The documentation for this class was generated from the following files: