aboutsummaryrefslogtreecommitdiff
path: root/src/modules/commander/state_machine_helper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/commander/state_machine_helper.cpp')
-rw-r--r--src/modules/commander/state_machine_helper.cpp22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/modules/commander/state_machine_helper.cpp b/src/modules/commander/state_machine_helper.cpp
index 9aba61e14..39892ea01 100644
--- a/src/modules/commander/state_machine_helper.cpp
+++ b/src/modules/commander/state_machine_helper.cpp
@@ -220,14 +220,22 @@ arming_state_transition(struct vehicle_status_s *status, ///< current vehicle s
}
/* Check if we are trying to arm, checks look good but we are in STANDBY_ERROR */
- if (status->arming_state == vehicle_status_s::ARMING_STATE_STANDBY_ERROR &&
- new_arming_state == vehicle_status_s::ARMING_STATE_ARMED) {
- if (status->condition_system_sensors_initialized) {
- mavlink_and_console_log_critical(mavlink_fd, "Preflight check now OK, power cycle before arming");
- } else {
- mavlink_and_console_log_critical(mavlink_fd, "Preflight check failed, refusing to arm");
+ if (status->arming_state == vehicle_status_s::ARMING_STATE_STANDBY_ERROR) {
+
+ if (new_arming_state == vehicle_status_s::ARMING_STATE_ARMED) {
+
+ if (status->condition_system_sensors_initialized) {
+ mavlink_and_console_log_critical(mavlink_fd, "Preflight check now OK, power cycle before arming");
+ } else {
+ mavlink_and_console_log_critical(mavlink_fd, "Preflight check failed, refusing to arm");
+ }
+ feedback_provided = true;
+
+ } else if ((new_arming_state == vehicle_status_s::ARMING_STATE_STANDBY) &&
+ status->condition_system_sensors_initialized) {
+ mavlink_and_console_log_critical(mavlink_fd, "Preflight check resolved, power cycle to complete");
+ feedback_provided = true;
}
- feedback_provided = true;
}
// Finish up the state transition