control_allocator: do not update params while armed

As a precaution
This commit is contained in:
Beat Küng 2021-12-03 11:55:50 +01:00 committed by Daniel Agar
parent e04b4a8dbf
commit 4f8e6a9548
2 changed files with 4 additions and 1 deletions

View File

@ -270,7 +270,7 @@ ControlAllocator::Run()
perf_begin(_loop_perf); perf_begin(_loop_perf);
// Check if parameters have changed // Check if parameters have changed
if (_parameter_update_sub.updated()) { if (_parameter_update_sub.updated() && !_armed) {
// clear update // clear update
parameter_update_s param_update; parameter_update_s param_update;
_parameter_update_sub.copy(&param_update); _parameter_update_sub.copy(&param_update);
@ -287,6 +287,8 @@ ControlAllocator::Run()
if (_vehicle_status_sub.update(&vehicle_status)) { if (_vehicle_status_sub.update(&vehicle_status)) {
_armed = vehicle_status.arming_state == vehicle_status_s::ARMING_STATE_ARMED;
ActuatorEffectiveness::FlightPhase flight_phase{ActuatorEffectiveness::FlightPhase::HOVER_FLIGHT}; ActuatorEffectiveness::FlightPhase flight_phase{ActuatorEffectiveness::FlightPhase::HOVER_FLIGHT};
// Check if the current flight phase is HOVER or FIXED_WING // Check if the current flight phase is HOVER or FIXED_WING

View File

@ -173,6 +173,7 @@ private:
perf_counter_t _loop_perf; /**< loop duration performance counter */ perf_counter_t _loop_perf; /**< loop duration performance counter */
bool _armed{false};
hrt_abstime _last_run{0}; hrt_abstime _last_run{0};
hrt_abstime _timestamp_sample{0}; hrt_abstime _timestamp_sample{0};
hrt_abstime _last_status_pub{0}; hrt_abstime _last_status_pub{0};