aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2014-04-08 08:42:28 -0700
committerLorenz Meier <lm@inf.ethz.ch>2014-04-08 08:42:28 -0700
commit13be060dae1bca1f4a38970a88a48243ab54d185 (patch)
tree65bccbd8332325b997352fe4fffee257303e2c69 /src
parent0930a3c1b6d524936c17636095de1ca05d5e8c4b (diff)
parentbccdbde45eb70271bd946ca86173cd8add20cd3d (diff)
downloadpx4-firmware-13be060dae1bca1f4a38970a88a48243ab54d185.tar.gz
px4-firmware-13be060dae1bca1f4a38970a88a48243ab54d185.tar.bz2
px4-firmware-13be060dae1bca1f4a38970a88a48243ab54d185.zip
Merge pull request #815 from PX4/commander_handle_command
commander: handle_command: filter commands by sysid and componentid
Diffstat (limited to 'src')
-rw-r--r--src/modules/commander/commander.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/modules/commander/commander.cpp b/src/modules/commander/commander.cpp
index 69a45a02f..ce6de88ef 100644
--- a/src/modules/commander/commander.cpp
+++ b/src/modules/commander/commander.cpp
@@ -395,6 +395,11 @@ bool handle_command(struct vehicle_status_s *status, const struct safety_s *safe
enum VEHICLE_CMD_RESULT result = VEHICLE_CMD_RESULT_UNSUPPORTED;
bool ret = false;
+ /* only handle commands that are meant to be handled by this system and component */
+ if (cmd->target_system != status->system_id || ((cmd->target_component != status->component_id) && (cmd->target_component != 0))) { // component_id 0: valid for all components
+ return false;
+ }
+
/* only handle high-priority commands here */
/* request to set different system mode */