aboutsummaryrefslogtreecommitdiff
path: root/apps/commander/commander.c
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2013-02-17 16:06:33 +0100
committerLorenz Meier <lm@inf.ethz.ch>2013-02-17 16:06:33 +0100
commit038037d67656b92947a976cf647dfd4f748ec3ad (patch)
tree900693c8b454fd85d3beeceaa1f716c675b5f66f /apps/commander/commander.c
parent6bd18e46bb3b250213bb64d9b0da2e71ddc912ab (diff)
downloadpx4-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.c7
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, &param_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");
}