mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-30 18:06:39 +08:00
rcAndDataLinkCheck: always update manual control availability
and remove duplicate manual control check possibly it needs to be readded to give warning about RC enabled but not present.
This commit is contained in:
@@ -38,13 +38,6 @@ using namespace time_literals;
|
|||||||
void RcAndDataLinkChecks::checkAndReport(const Context &context, Report &reporter)
|
void RcAndDataLinkChecks::checkAndReport(const Context &context, Report &reporter)
|
||||||
{
|
{
|
||||||
// RC
|
// RC
|
||||||
bool rc_is_optional = true;
|
|
||||||
|
|
||||||
if (_param_com_rc_in_mode.get() == 4) { // RC disabled
|
|
||||||
reporter.failsafeFlags().manual_control_signal_lost = false;
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
manual_control_setpoint_s manual_control_setpoint;
|
manual_control_setpoint_s manual_control_setpoint;
|
||||||
|
|
||||||
if (!_manual_control_setpoint_sub.copy(&manual_control_setpoint)) {
|
if (!_manual_control_setpoint_sub.copy(&manual_control_setpoint)) {
|
||||||
@@ -77,25 +70,7 @@ void RcAndDataLinkChecks::checkAndReport(const Context &context, Report &reporte
|
|||||||
_last_valid_manual_control_setpoint = manual_control_setpoint.timestamp;
|
_last_valid_manual_control_setpoint = manual_control_setpoint.timestamp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Manual control check is in modeCheck as mode requirement
|
||||||
if (reporter.failsafeFlags().manual_control_signal_lost) {
|
|
||||||
|
|
||||||
NavModes affected_modes = rc_is_optional ? NavModes::None : NavModes::All;
|
|
||||||
events::LogLevel log_level = rc_is_optional ? events::Log::Info : events::Log::Error;
|
|
||||||
/* EVENT
|
|
||||||
* @description
|
|
||||||
* <profile name="dev">
|
|
||||||
* This check can be configured via <param>COM_RC_IN_MODE</param> parameter.
|
|
||||||
* </profile>
|
|
||||||
*/
|
|
||||||
reporter.armingCheckFailure(affected_modes, health_component_t::remote_control, events::ID("check_rc_dl_no_rc"),
|
|
||||||
log_level, "No manual control input");
|
|
||||||
|
|
||||||
if (reporter.mavlink_log_pub()) {
|
|
||||||
mavlink_log_info(reporter.mavlink_log_pub(), "Preflight Fail: No manual control input\t");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// GCS connection
|
// GCS connection
|
||||||
reporter.failsafeFlags().gcs_connection_lost = context.status().gcs_connection_lost;
|
reporter.failsafeFlags().gcs_connection_lost = context.status().gcs_connection_lost;
|
||||||
|
|||||||
@@ -52,7 +52,6 @@ private:
|
|||||||
hrt_abstime _last_valid_manual_control_setpoint{0};
|
hrt_abstime _last_valid_manual_control_setpoint{0};
|
||||||
|
|
||||||
DEFINE_PARAMETERS_CUSTOM_PARENT(HealthAndArmingCheckBase,
|
DEFINE_PARAMETERS_CUSTOM_PARENT(HealthAndArmingCheckBase,
|
||||||
(ParamInt<px4::params::COM_RC_IN_MODE>) _param_com_rc_in_mode,
|
|
||||||
(ParamFloat<px4::params::COM_RC_LOSS_T>) _param_com_rc_loss_t,
|
(ParamFloat<px4::params::COM_RC_LOSS_T>) _param_com_rc_loss_t,
|
||||||
(ParamInt<px4::params::NAV_DLL_ACT>) _param_nav_dll_act
|
(ParamInt<px4::params::NAV_DLL_ACT>) _param_nav_dll_act
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user