diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2013-02-17 16:06:33 +0100 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-02-17 16:06:33 +0100 |
commit | 038037d67656b92947a976cf647dfd4f748ec3ad (patch) | |
tree | 900693c8b454fd85d3beeceaa1f716c675b5f66f /apps/commander/commander.c | |
parent | 6bd18e46bb3b250213bb64d9b0da2e71ddc912ab (diff) | |
download | px4-firmware-038037d67656b92947a976cf647dfd4f748ec3ad.tar.gz px4-firmware-038037d67656b92947a976cf647dfd4f748ec3ad.tar.bz2 px4-firmware-038037d67656b92947a976cf647dfd4f748ec3ad.zip |
Allow to in-air restore the FMU and IO arming state if only one of the two fails
Diffstat (limited to 'apps/commander/commander.c')
-rw-r--r-- | apps/commander/commander.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/apps/commander/commander.c b/apps/commander/commander.c index 6b1bc0f9b..f917b7275 100644 --- a/apps/commander/commander.c +++ b/apps/commander/commander.c @@ -1260,6 +1260,8 @@ int commander_thread_main(int argc, char *argv[]) param_get(param_find("SYS_FAILSAVE_LL"), &failsafe_lowlevel_timeout_ms); param_t _param_sys_type = param_find("MAV_TYPE"); + param_t _param_system_id = param_find("MAV_SYS_ID"); + param_t _param_component_id = param_find("MAV_COMP_ID"); /* welcome user */ warnx("I am in command now!\n"); @@ -1444,6 +1446,7 @@ int commander_thread_main(int argc, char *argv[]) /* parameters changed */ orb_copy(ORB_ID(parameter_update), param_changed_sub, ¶m_changed); + /* update parameters */ if (!current_status.flag_system_armed) { if (param_get(_param_sys_type, &(current_status.system_type)) != OK) { @@ -1460,6 +1463,10 @@ int commander_thread_main(int argc, char *argv[]) current_status.flag_external_manual_override_ok = true; } + /* check and update system / component ID */ + param_get(_param_system_id, &(current_status.system_id)); + param_get(_param_component_id, &(current_status.component_id)); + } else { warnx("ARMED, rejecting sys type change\n"); } |