aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Oes <julian@oes.ch>2013-06-14 16:04:23 +0200
committerJulian Oes <julian@oes.ch>2013-06-14 16:04:23 +0200
commit5b21362e1ffefe4e28579eb7a853fe5d22288760 (patch)
tree5d95088b834b0e30b2e50c78b17c8afcb5ddb396
parent90f5e30f2a177bed2ac08e76699ec3029292d640 (diff)
downloadpx4-firmware-5b21362e1ffefe4e28579eb7a853fe5d22288760.tar.gz
px4-firmware-5b21362e1ffefe4e28579eb7a853fe5d22288760.tar.bz2
px4-firmware-5b21362e1ffefe4e28579eb7a853fe5d22288760.zip
Arming with IO working now
-rw-r--r--src/drivers/px4io/px4io.cpp11
-rw-r--r--src/modules/commander/state_machine_helper.c4
2 files changed, 9 insertions, 6 deletions
diff --git a/src/drivers/px4io/px4io.cpp b/src/drivers/px4io/px4io.cpp
index 28a3eb917..d728b7b76 100644
--- a/src/drivers/px4io/px4io.cpp
+++ b/src/drivers/px4io/px4io.cpp
@@ -728,12 +728,11 @@ PX4IO::io_set_arming_state()
} else {
clear |= PX4IO_P_SETUP_ARMING_FMU_ARMED;
}
- // TODO fix this
-// if (armed.ready_to_arm) {
-// set |= PX4IO_P_SETUP_ARMING_IO_ARM_OK;
-// } else {
-// clear |= PX4IO_P_SETUP_ARMING_IO_ARM_OK;
-// }
+ if (safety.ready_to_arm) {
+ set |= PX4IO_P_SETUP_ARMING_IO_ARM_OK;
+ } else {
+ clear |= PX4IO_P_SETUP_ARMING_IO_ARM_OK;
+ }
if (vstatus.flag_external_manual_override_ok) {
set |= PX4IO_P_SETUP_ARMING_MANUAL_OVERRIDE_OK;
diff --git a/src/modules/commander/state_machine_helper.c b/src/modules/commander/state_machine_helper.c
index fea7ee840..4f2fbc984 100644
--- a/src/modules/commander/state_machine_helper.c
+++ b/src/modules/commander/state_machine_helper.c
@@ -70,6 +70,7 @@ int arming_state_transition(int status_pub, struct vehicle_status_s *current_sta
if (current_state->arming_state == ARMING_STATE_STANDBY) {
ret = OK;
safety->armed = false;
+ safety->ready_to_arm = false;
}
break;
case ARMING_STATE_STANDBY:
@@ -82,6 +83,7 @@ int arming_state_transition(int status_pub, struct vehicle_status_s *current_sta
if (current_state->condition_system_sensors_initialized) {
ret = OK;
safety->armed = false;
+ safety->ready_to_arm = true;
} else {
mavlink_log_critical(mavlink_fd, "Rej. STANDBY state, sensors not initialized");
}
@@ -115,6 +117,7 @@ int arming_state_transition(int status_pub, struct vehicle_status_s *current_sta
|| current_state->arming_state == ARMING_STATE_ARMED_ERROR) {
ret = OK;
safety->armed = false;
+ safety->ready_to_arm = false;
}
break;
case ARMING_STATE_REBOOT:
@@ -126,6 +129,7 @@ int arming_state_transition(int status_pub, struct vehicle_status_s *current_sta
ret = OK;
safety->armed = false;
+ safety->ready_to_arm = false;
}
break;