PX4 Firmware
PX4 Autopilot Software http://px4.io
RCLoss Class Reference

#include <rcloss.h>

Inheritance diagram for RCLoss:
Collaboration diagram for RCLoss:

Public Member Functions

 RCLoss (Navigator *navigator)
 
 ~RCLoss ()=default
 
void on_inactive () override
 This function is called while the mode is inactive. More...
 
void on_activation () override
 This function is called one time when mode becomes active, pos_sp_triplet must be initialized here. More...
 
void on_active () override
 This function is called while the mode is active. More...
 
- Public Member Functions inherited from MissionBlock
 MissionBlock (Navigator *navigator)
 Constructor. More...
 
virtual ~MissionBlock ()=default
 
 MissionBlock (const MissionBlock &)=delete
 
MissionBlockoperator= (const MissionBlock &)=delete
 
- Public Member Functions inherited from NavigatorMode
 NavigatorMode (Navigator *navigator)
 
virtual ~NavigatorMode ()=default
 
 NavigatorMode (const NavigatorMode &)=delete
 
NavigatorMode operator= (const NavigatorMode &)=delete
 
void run (bool active)
 
virtual void on_inactivation ()
 This function is called one time when mode becomes inactive. More...
 

Private Member Functions

 DEFINE_PARAMETERS ((ParamFloat< px4::params::NAV_RCL_LT >) _param_nav_gpsf_lt) enum RCLState
 
void set_rcl_item ()
 Set the RCL item. More...
 
void advance_rcl ()
 Move to next RCL item. More...
 

Private Attributes

 _rcl_state {RCL_STATE_NONE}
 

Additional Inherited Members

- Static Public Member Functions inherited from MissionBlock
static bool item_contains_position (const mission_item_s &item)
 
- Protected Member Functions inherited from MissionBlock
bool is_mission_item_reached ()
 Check if mission item has been reached. More...
 
void reset_mission_item_reached ()
 Reset all reached flags. More...
 
bool mission_item_to_position_setpoint (const mission_item_s &item, position_setpoint_s *sp)
 Convert a mission item to a position setpoint. More...
 
void set_loiter_item (struct mission_item_s *item, float min_clearance=-1.0f)
 Set a loiter mission item, if possible reuse the position setpoint, otherwise take the current position. More...
 
void set_takeoff_item (struct mission_item_s *item, float abs_altitude, float min_pitch=0.0f)
 Set a takeoff mission item. More...
 
void set_land_item (struct mission_item_s *item, bool at_current_location)
 Set a land mission item. More...
 
void set_idle_item (struct mission_item_s *item)
 Set idle mission item. More...
 
void set_vtol_transition_item (struct mission_item_s *item, const uint8_t new_mode)
 Set vtol transition item. More...
 
void mission_apply_limitation (mission_item_s &item)
 General function used to adjust the mission item based on vehicle specific limitations. More...
 
void issue_command (const mission_item_s &item)
 
float get_time_inside (const mission_item_s &item) const
 
float get_absolute_altitude_for_item (const mission_item_s &mission_item) const
 
- Protected Attributes inherited from MissionBlock
mission_item_s _mission_item {}
 
bool _waypoint_position_reached {false}
 
bool _waypoint_yaw_reached {false}
 
bool _waypoint_position_reached_previously {false}
 
hrt_abstime _time_first_inside_orbit {0}
 
hrt_abstime _action_start {0}
 
hrt_abstime _time_wp_reached {0}
 
uORB::Publication< actuator_controls_s_actuator_pub {ORB_ID(actuator_controls_2)}
 
- Protected Attributes inherited from NavigatorMode
Navigator_navigator {nullptr}
 

Detailed Description

Definition at line 49 of file rcloss.h.

Constructor & Destructor Documentation

◆ RCLoss()

RCLoss::RCLoss ( Navigator navigator)

Definition at line 56 of file rcloss.cpp.

◆ ~RCLoss()

RCLoss::~RCLoss ( )
default

Member Function Documentation

◆ advance_rcl()

void RCLoss::advance_rcl ( )
private

Move to next RCL item.

Definition at line 141 of file rcloss.cpp.

References NavigatorMode::_navigator, _rcl_state, Navigator::get_mavlink_log_pub(), Navigator::get_mission_result(), mavlink_log_critical, MissionBlock::reset_mission_item_reached(), Navigator::set_mission_result_updated(), mission_result_s::stay_in_failsafe, and warnx.

Referenced by on_activation(), and on_active().

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

◆ DEFINE_PARAMETERS()

RCLoss::DEFINE_PARAMETERS ( (ParamFloat< px4::params::NAV_RCL_LT >)  _param_nav_gpsf_lt)
inlineprivate

Definition at line 60 of file rcloss.h.

◆ on_activation()

void RCLoss::on_activation ( )
overridevirtual

This function is called one time when mode becomes active, pos_sp_triplet must be initialized here.

Reimplemented from NavigatorMode.

Definition at line 73 of file rcloss.cpp.

References _rcl_state, advance_rcl(), and set_rcl_item().

Here is the call graph for this function:

◆ on_active()

void RCLoss::on_active ( )
overridevirtual

This function is called while the mode is active.

Reimplemented from NavigatorMode.

Definition at line 81 of file rcloss.cpp.

References advance_rcl(), MissionBlock::is_mission_item_reached(), and set_rcl_item().

Here is the call graph for this function:

◆ on_inactive()

void RCLoss::on_inactive ( )
overridevirtual

This function is called while the mode is inactive.

Reimplemented from NavigatorMode.

Definition at line 64 of file rcloss.cpp.

References NavigatorMode::_navigator, _rcl_state, and Navigator::get_can_loiter_at_sp().

Here is the call graph for this function:

◆ set_rcl_item()

void RCLoss::set_rcl_item ( )
private

Set the RCL item.

Definition at line 90 of file rcloss.cpp.

References MissionBlock::_mission_item, NavigatorMode::_navigator, _rcl_state, mission_item_s::acceptance_radius, vehicle_global_position_s::alt, mission_item_s::altitude, mission_item_s::altitude_is_relative, mission_item_s::autocontinue, position_setpoint_triplet_s::current, mission_result_s::flight_termination, Navigator::get_acceptance_radius(), Navigator::get_global_position(), Navigator::get_loiter_radius(), Navigator::get_mission_result(), Navigator::get_position_setpoint_triplet(), vehicle_global_position_s::lat, mission_item_s::lat, mission_item_s::loiter_radius, vehicle_global_position_s::lon, mission_item_s::lon, MissionBlock::mission_apply_limitation(), MissionBlock::mission_item_to_position_setpoint(), mission_item_s::nav_cmd, NAV_CMD_LOITER_TIME_LIMIT, position_setpoint_triplet_s::next, mission_item_s::origin, ORIGIN_ONBOARD, position_setpoint_triplet_s::previous, MissionBlock::reset_mission_item_reached(), Navigator::set_can_loiter_at_sp(), Navigator::set_mission_result_updated(), Navigator::set_position_setpoint_triplet_updated(), mission_item_s::time_inside, position_setpoint_s::valid, warnx, vehicle_global_position_s::yaw, and mission_item_s::yaw.

Referenced by on_activation(), and on_active().

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

Member Data Documentation

◆ _rcl_state

RCLoss::_rcl_state {RCL_STATE_NONE}
private

Definition at line 69 of file rcloss.h.

Referenced by advance_rcl(), on_activation(), on_inactive(), and set_rcl_item().


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