diff options
author | Julian Oes <julian@oes.ch> | 2013-08-16 09:27:05 +0200 |
---|---|---|
committer | Julian Oes <julian@oes.ch> | 2013-08-16 09:27:05 +0200 |
commit | ec9de4ad84be8e62b762567c58ec3bb948684b43 (patch) | |
tree | 6200d4531f39037a0a0965b8b24f348886048de6 /src/modules/commander/commander.cpp | |
parent | d75c3c4e7369510db1d91721c2793c23dcd873fa (diff) | |
download | px4-firmware-ec9de4ad84be8e62b762567c58ec3bb948684b43.tar.gz px4-firmware-ec9de4ad84be8e62b762567c58ec3bb948684b43.tar.bz2 px4-firmware-ec9de4ad84be8e62b762567c58ec3bb948684b43.zip |
Critical voltage now leads to a proper arming state transition
Diffstat (limited to 'src/modules/commander/commander.cpp')
-rw-r--r-- | src/modules/commander/commander.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/modules/commander/commander.cpp b/src/modules/commander/commander.cpp index 4e6ecd1e4..926be91b9 100644 --- a/src/modules/commander/commander.cpp +++ b/src/modules/commander/commander.cpp @@ -812,8 +812,6 @@ int commander_thread_main(int argc, char *argv[]) if (updated) { orb_copy(ORB_ID(battery_status), battery_sub, &battery); - warnx("bat v: %2.2f", battery.voltage_v); - /* only consider battery voltage if system has been running 2s and battery voltage is not 0 */ if ((t - start_time) > 2000000 && battery.voltage_v > 0.001f) { status.battery_voltage = battery.voltage_v; @@ -887,7 +885,13 @@ int commander_thread_main(int argc, char *argv[]) critical_battery_voltage_actions_done = true; mavlink_log_critical(mavlink_fd, "[cmd] EMERGENCY: CRITICAL BATTERY"); status.battery_warning = VEHICLE_BATTERY_WARNING_ALERT; - arming_state_transition(&status, &safety, ARMING_STATE_ARMED_ERROR, &armed); + + if (armed.armed) { + // XXX not sure what should happen when voltage is low in flight + //arming_state_transition(&status, &safety, ARMING_STATE_ARMED_ERROR, &armed); + } else { + arming_state_transition(&status, &safety, ARMING_STATE_STANDBY_ERROR, &armed); + } status_changed = true; } |