diff options
author | Julian Oes <julian@oes.ch> | 2014-07-26 17:48:45 +0200 |
---|---|---|
committer | Julian Oes <julian@oes.ch> | 2014-07-26 17:48:45 +0200 |
commit | 54b9698d6560290e386b8dd2a7b9f0b6f4c5f57a (patch) | |
tree | c2b6cb4061b6793d85dd4f6c4d56a5a0f1cfc8c8 /src/modules/commander | |
parent | 5bf7d5774c07ed7e9d2e83d623abc7bab6422348 (diff) | |
download | px4-firmware-54b9698d6560290e386b8dd2a7b9f0b6f4c5f57a.tar.gz px4-firmware-54b9698d6560290e386b8dd2a7b9f0b6f4c5f57a.tar.bz2 px4-firmware-54b9698d6560290e386b8dd2a7b9f0b6f4c5f57a.zip |
circuit_breakers: added param to disable airspeed check
Diffstat (limited to 'src/modules/commander')
-rw-r--r-- | src/modules/commander/commander.cpp | 2 | ||||
-rw-r--r-- | src/modules/commander/state_machine_helper.cpp | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/modules/commander/commander.cpp b/src/modules/commander/commander.cpp index a0c896178..daba4e740 100644 --- a/src/modules/commander/commander.cpp +++ b/src/modules/commander/commander.cpp @@ -736,6 +736,7 @@ int commander_thread_main(int argc, char *argv[]) // CIRCUIT BREAKERS status.circuit_breaker_engaged_power_check = false; + status.circuit_breaker_engaged_airspd_check = false; /* publish initial state */ status_pub = orb_advertise(ORB_ID(vehicle_status), &status); @@ -977,6 +978,7 @@ int commander_thread_main(int argc, char *argv[]) param_get(_param_component_id, &(status.component_id)); status.circuit_breaker_engaged_power_check = circuit_breaker_enabled("CBRK_SUPPLY_CHK", CBRK_SUPPLY_CHK_KEY); + status.circuit_breaker_engaged_airspd_check = circuit_breaker_enabled("CBRK_AIRSPD_CHK", CBRK_AIRSPD_CHK_KEY); status_changed = true; diff --git a/src/modules/commander/state_machine_helper.cpp b/src/modules/commander/state_machine_helper.cpp index 7b26e3e8c..3c3d2f233 100644 --- a/src/modules/commander/state_machine_helper.cpp +++ b/src/modules/commander/state_machine_helper.cpp @@ -669,7 +669,9 @@ int prearm_check(const struct vehicle_status_s *status, const int mavlink_fd) goto system_eval; } - if (!status->is_rotary_wing) { + /* Perform airspeed check only if circuit breaker is not + * engaged and it's not a rotary wing */ + if (!status->circuit_breaker_engaged_airspd_check && !status->is_rotary_wing) { /* accel done, close it */ close(fd); fd = orb_subscribe(ORB_ID(airspeed)); |