mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-14 10:07:39 +08:00
Navigator: Support finer granularity of RTL and failsafe actions
This commit is contained in:
parent
55d18949bc
commit
5c70b44d0a
@ -518,13 +518,13 @@ Navigator::task_main()
|
||||
break;
|
||||
case vehicle_status_s::NAVIGATION_STATE_AUTO_RCRECOVER:
|
||||
_pos_sp_triplet_published_invalid_once = false;
|
||||
if (_param_rcloss_act.get() == 0) {
|
||||
if (_param_rcloss_act.get() == 1) {
|
||||
_navigation_mode = &_loiter;
|
||||
} else if (_param_rcloss_act.get() == 2) {
|
||||
_navigation_mode = &_land;
|
||||
} else if (_param_rcloss_act.get() == 3) {
|
||||
_navigation_mode = &_land;
|
||||
} else if (_param_rcloss_act.get() == 4) {
|
||||
_navigation_mode = &_rcLoss;
|
||||
} else { /* if == 1 or unknown, RTL */
|
||||
} else { /* if == 2 or unknown, RTL */
|
||||
_navigation_mode = &_rtl;
|
||||
}
|
||||
break;
|
||||
@ -548,13 +548,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_act.get() == 0) {
|
||||
if (_param_datalinkloss_act.get() == 1) {
|
||||
_navigation_mode = &_loiter;
|
||||
} else if (_param_datalinkloss_act.get() == 2) {
|
||||
_navigation_mode = &_land;
|
||||
} else if (_param_datalinkloss_act.get() == 3) {
|
||||
_navigation_mode = &_land;
|
||||
} else if (_param_datalinkloss_act.get() == 4) {
|
||||
_navigation_mode = &_dataLinkLoss;
|
||||
} else { /* if == 1 or unknown, RTL */
|
||||
} else { /* if == 2 or unknown, RTL */
|
||||
_navigation_mode = &_rtl;
|
||||
}
|
||||
break;
|
||||
|
||||
@ -68,34 +68,35 @@ PARAM_DEFINE_FLOAT(NAV_ACC_RAD, 10.0f);
|
||||
* Set data link loss failsafe mode
|
||||
*
|
||||
* The data link loss failsafe will only be entered after a timeout,
|
||||
* set by a DIFFERENT parameter. If the timeout value is smaller than
|
||||
* zero it will never be entered.
|
||||
* set by COM_RC_LOSS_T in seconds.
|
||||
*
|
||||
* @value 0 Loiter
|
||||
* @value 1 Return to Land
|
||||
* @value 2 Land at current position
|
||||
* @value 3 Outback Challenge (OBC) rules
|
||||
* @value 0 Disabled
|
||||
* @value 1 Loiter
|
||||
* @value 2 Return to Land
|
||||
* @value 3 Land at current position
|
||||
* @value 4 Outback Challenge (OBC) rules
|
||||
*
|
||||
* @group Mission
|
||||
*/
|
||||
PARAM_DEFINE_INT32(NAV_DLL_ACT, 1);
|
||||
PARAM_DEFINE_INT32(NAV_DLL_ACT, 0);
|
||||
|
||||
/**
|
||||
* Set RC loss failsafe mode
|
||||
*
|
||||
* The RC loss failsafe will only be entered after a timeout,
|
||||
* set by a DIFFERENT parameter. If the timeout value is smaller than
|
||||
* set by COM_RC_LOSS_T in seconds. If the timeout value is smaller than
|
||||
* zero it will never be entered. If RC input checks have been disabled
|
||||
* by setting the COM_RC_IN_MODE param it will also not be triggered.
|
||||
*
|
||||
* @value 0 Loiter
|
||||
* @value 1 Return to Land
|
||||
* @value 2 Land at current position
|
||||
* @value 3 Outback Challenge (OBC) rules
|
||||
* @value 0 Disabled
|
||||
* @value 1 Loiter
|
||||
* @value 2 Return to Land
|
||||
* @value 3 Land at current position
|
||||
* @value 4 Outback Challenge (OBC) rules
|
||||
*
|
||||
* @group Mission
|
||||
*/
|
||||
PARAM_DEFINE_INT32(NAV_RCL_ACT, 1);
|
||||
PARAM_DEFINE_INT32(NAV_RCL_ACT, 0);
|
||||
|
||||
/**
|
||||
* Airfield home Lat
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user