From f59b7c73993f6ed28f2312e713ae489f3fac4d78 Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Tue, 27 Mar 2018 15:53:56 -0400 Subject: [PATCH] commander is_safe() use const references --- src/modules/commander/commander.cpp | 2 +- .../commander_tests/state_machine_helper_test.cpp | 10 +++++----- src/modules/commander/state_machine_helper.cpp | 6 +++--- src/modules/commander/state_machine_helper.h | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/modules/commander/commander.cpp b/src/modules/commander/commander.cpp index c4f605ec79..0719905447 100644 --- a/src/modules/commander/commander.cpp +++ b/src/modules/commander/commander.cpp @@ -3979,7 +3979,7 @@ void *commander_low_prio_loop(void *arg) switch (cmd.command) { case vehicle_command_s::VEHICLE_CMD_PREFLIGHT_REBOOT_SHUTDOWN: - if (is_safe(&safety, &armed)) { + if (is_safe(safety, armed)) { if (((int)(cmd.param1)) == 1) { answer_command(cmd, vehicle_command_s::VEHICLE_CMD_RESULT_ACCEPTED, command_ack_pub); diff --git a/src/modules/commander/commander_tests/state_machine_helper_test.cpp b/src/modules/commander/commander_tests/state_machine_helper_test.cpp index ebe45d81ab..d65703228d 100644 --- a/src/modules/commander/commander_tests/state_machine_helper_test.cpp +++ b/src/modules/commander/commander_tests/state_machine_helper_test.cpp @@ -482,31 +482,31 @@ bool StateMachineHelperTest::isSafeTest() armed.lockdown = false; safety.safety_switch_available = true; safety.safety_off = false; - ut_compare("is safe: not armed", is_safe(&safety, &armed), true); + ut_compare("is safe: not armed", is_safe(safety, armed), true); armed.armed = false; armed.lockdown = true; safety.safety_switch_available = true; safety.safety_off = true; - ut_compare("is safe: software lockdown", is_safe(&safety, &armed), true); + ut_compare("is safe: software lockdown", is_safe(safety, armed), true); armed.armed = true; armed.lockdown = false; safety.safety_switch_available = true; safety.safety_off = true; - ut_compare("not safe: safety off", is_safe(&safety, &armed), false); + ut_compare("not safe: safety off", is_safe(safety, armed), false); armed.armed = true; armed.lockdown = false; safety.safety_switch_available = true; safety.safety_off = false; - ut_compare("is safe: safety off", is_safe(&safety, &armed), true); + ut_compare("is safe: safety off", is_safe(safety, armed), true); armed.armed = true; armed.lockdown = false; safety.safety_switch_available = false; safety.safety_off = false; - ut_compare("not safe: no safety switch", is_safe(&safety, &armed), false); + ut_compare("not safe: no safety switch", is_safe(safety, armed), false); return true; } diff --git a/src/modules/commander/state_machine_helper.cpp b/src/modules/commander/state_machine_helper.cpp index 1bdcecc096..4b4686cf14 100644 --- a/src/modules/commander/state_machine_helper.cpp +++ b/src/modules/commander/state_machine_helper.cpp @@ -379,15 +379,15 @@ transition_result_t arming_state_transition(vehicle_status_s *status, return ret; } -bool is_safe(const struct safety_s *safety, const struct actuator_armed_s *armed) +bool is_safe(const safety_s& safety, const actuator_armed_s& armed) { // System is safe if: // 1) Not armed // 2) Armed, but in software lockdown (HIL) // 3) Safety switch is present AND engaged -> actuators locked - const bool lockdown = (armed->lockdown || armed->manual_lockdown); + const bool lockdown = (armed.lockdown || armed.manual_lockdown); - return !armed->armed || (armed->armed && lockdown) || (safety->safety_switch_available && !safety->safety_off); + return !armed.armed || (armed.armed && lockdown) || (safety.safety_switch_available && !safety.safety_off); } transition_result_t diff --git a/src/modules/commander/state_machine_helper.h b/src/modules/commander/state_machine_helper.h index a63b8570ac..cc29012838 100644 --- a/src/modules/commander/state_machine_helper.h +++ b/src/modules/commander/state_machine_helper.h @@ -77,7 +77,7 @@ typedef enum { extern const char *const arming_state_names[]; -bool is_safe(const struct safety_s *safety, const struct actuator_armed_s *armed); +bool is_safe(const safety_s& safety, const actuator_armed_s& armed); transition_result_t arming_state_transition(struct vehicle_status_s *status, struct battery_status_s *battery,