mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-27 23:43:34 +08:00
Support more failsafe actions on data link and RC loss
This commit is contained in:
@@ -153,8 +153,8 @@ Navigator::Navigator() :
|
||||
_follow_target(this, "TAR"),
|
||||
_param_loiter_radius(this, "LOITER_RAD"),
|
||||
_param_acceptance_radius(this, "ACC_RAD"),
|
||||
_param_datalinkloss_obc(this, "DLL_OBC"),
|
||||
_param_rcloss_obc(this, "RCL_OBC"),
|
||||
_param_datalinkloss_act(this, "DLL_ACT"),
|
||||
_param_rcloss_act(this, "RCL_ACT"),
|
||||
_param_cruising_speed_hover(this, "MPC_XY_CRUISE", false),
|
||||
_param_cruising_speed_plane(this, "FW_AIRSPD_TRIM", false),
|
||||
_mission_cruising_speed(-1.0f)
|
||||
@@ -481,9 +481,13 @@ Navigator::task_main()
|
||||
break;
|
||||
case vehicle_status_s::NAVIGATION_STATE_AUTO_RCRECOVER:
|
||||
_pos_sp_triplet_published_invalid_once = false;
|
||||
if (_param_rcloss_obc.get() != 0) {
|
||||
if (_param_rcloss_act.get() == 0) {
|
||||
_navigation_mode = &_loiter;
|
||||
} else if (_param_rcloss_act.get() == 2) {
|
||||
_navigation_mode = &_land;
|
||||
} else if (_param_rcloss_act.get() == 3) {
|
||||
_navigation_mode = &_rcLoss;
|
||||
} else {
|
||||
} else { /* if == 1 or unknown, RTL */
|
||||
_navigation_mode = &_rtl;
|
||||
}
|
||||
break;
|
||||
@@ -507,9 +511,13 @@ Navigator::task_main()
|
||||
/* Use complex data link loss mode only when enabled via param
|
||||
* otherwise use rtl */
|
||||
_pos_sp_triplet_published_invalid_once = false;
|
||||
if (_param_datalinkloss_obc.get() != 0) {
|
||||
if (_param_datalinkloss_act.get() == 0) {
|
||||
_navigation_mode = &_loiter;
|
||||
} else if (_param_datalinkloss_act.get() == 2) {
|
||||
_navigation_mode = &_land;
|
||||
} else if (_param_datalinkloss_act.get() == 3) {
|
||||
_navigation_mode = &_dataLinkLoss;
|
||||
} else {
|
||||
} else { /* if == 1 or unknown, RTL */
|
||||
_navigation_mode = &_rtl;
|
||||
}
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user