mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-06-06 16:49:51 +08:00
Revert "commander/navigator: remove param NAV_RCL_ACT"
This reverts commit 77ea4cebf41cd106fe771b9eb469aa2326339467.
This commit is contained in:
@@ -1173,6 +1173,7 @@ int commander_thread_main(int argc, char *argv[])
|
||||
param_t _param_enable_datalink_loss = param_find("NAV_DLL_ACT");
|
||||
param_t _param_offboard_loss_act = param_find("COM_OBL_ACT");
|
||||
param_t _param_offboard_loss_rc_act = param_find("COM_OBL_RC_ACT");
|
||||
param_t _param_enable_rc_loss = param_find("NAV_RCL_ACT");
|
||||
param_t _param_datalink_loss_timeout = param_find("COM_DL_LOSS_T");
|
||||
param_t _param_rc_loss_timeout = param_find("COM_RC_LOSS_T");
|
||||
param_t _param_datalink_regain_timeout = param_find("COM_DL_REG_T");
|
||||
@@ -1528,6 +1529,7 @@ int commander_thread_main(int argc, char *argv[])
|
||||
transition_result_t arming_ret;
|
||||
|
||||
int32_t datalink_loss_enabled = 0;
|
||||
int32_t rc_loss_enabled = 0;
|
||||
int32_t datalink_loss_timeout = 10;
|
||||
float rc_loss_timeout = 0.5;
|
||||
int32_t datalink_regain_timeout = 0;
|
||||
@@ -1614,6 +1616,7 @@ int commander_thread_main(int argc, char *argv[])
|
||||
|
||||
/* Safety parameters */
|
||||
param_get(_param_enable_datalink_loss, &datalink_loss_enabled);
|
||||
param_get(_param_enable_rc_loss, &rc_loss_enabled);
|
||||
param_get(_param_datalink_loss_timeout, &datalink_loss_timeout);
|
||||
param_get(_param_rc_loss_timeout, &rc_loss_timeout);
|
||||
param_get(_param_rc_in_off, &rc_in_off);
|
||||
@@ -2657,6 +2660,7 @@ int commander_thread_main(int argc, char *argv[])
|
||||
mission_result.stay_in_failsafe,
|
||||
&status_flags,
|
||||
land_detector.landed,
|
||||
(rc_loss_enabled > 0),
|
||||
offboard_loss_act,
|
||||
offboard_loss_rc_act);
|
||||
|
||||
|
||||
@@ -589,7 +589,7 @@ transition_result_t hil_state_transition(hil_state_t new_state, orb_advert_t sta
|
||||
bool set_nav_state(struct vehicle_status_s *status, struct commander_state_s *internal_state,
|
||||
const bool data_link_loss_enabled, const bool mission_finished,
|
||||
const bool stay_in_failsafe, status_flags_s *status_flags, bool landed,
|
||||
const int offb_loss_act, const int offb_loss_rc_act)
|
||||
const bool rc_loss_enabled, const int offb_loss_act, const int offb_loss_rc_act)
|
||||
{
|
||||
navigation_state_t nav_state_old = status->nav_state;
|
||||
|
||||
@@ -605,7 +605,7 @@ bool set_nav_state(struct vehicle_status_s *status, struct commander_state_s *in
|
||||
case commander_state_s::MAIN_STATE_ALTCTL:
|
||||
case commander_state_s::MAIN_STATE_POSCTL:
|
||||
/* require RC for all manual modes */
|
||||
if ((status->rc_signal_lost || status_flags->rc_signal_lost_cmd) && armed && !landed) {
|
||||
if (rc_loss_enabled && (status->rc_signal_lost || status_flags->rc_signal_lost_cmd) && armed && !landed) {
|
||||
status->failsafe = true;
|
||||
|
||||
if (status_flags->condition_global_position_valid && status_flags->condition_home_position_valid) {
|
||||
|
||||
@@ -114,7 +114,7 @@ transition_result_t hil_state_transition(hil_state_t new_state, orb_advert_t sta
|
||||
bool set_nav_state(struct vehicle_status_s *status, struct commander_state_s *internal_state,
|
||||
const bool data_link_loss_enabled, const bool mission_finished,
|
||||
const bool stay_in_failsafe, status_flags_s *status_flags, bool landed,
|
||||
const int offb_loss_act, const int offb_loss_rc_act);
|
||||
const bool rc_loss_enabled, const int offb_loss_act, const int offb_loss_rc_act);
|
||||
|
||||
int preflight_check(struct vehicle_status_s *status, orb_advert_t *mavlink_log_pub, bool prearm, bool force_report, status_flags_s *status_flags, battery_status_s *battery);
|
||||
|
||||
|
||||
@@ -86,6 +86,24 @@ PARAM_DEFINE_FLOAT(NAV_ACC_RAD, 10.0f);
|
||||
*/
|
||||
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 COM_RC_LOSS_T in seconds. If RC input checks have been disabled
|
||||
* by setting the COM_RC_IN_MODE param it will not be triggered.
|
||||
* Setting this parameter to 4 will enable CASA Outback Challenge rules,
|
||||
* which are only recommended to participants of that competition.
|
||||
*
|
||||
* @value 0 Disabled
|
||||
* @value 1 Loiter
|
||||
* @value 2 Return to Land
|
||||
* @value 3 Land at current position
|
||||
*
|
||||
* @group Mission
|
||||
*/
|
||||
PARAM_DEFINE_INT32(NAV_RCL_ACT, 0);
|
||||
|
||||
/**
|
||||
* Airfield home Lat
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user