diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2013-02-25 09:07:13 +0100 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-02-25 09:07:13 +0100 |
commit | ca794265c6a33f5aa9de87d97a222ed331c59aec (patch) | |
tree | 08cec606afe38c5a5730bb1dc61af21e26ac2a97 /apps/drivers/px4io/px4io.cpp | |
parent | 2284e668ebab8fd452ecb5ca86d386e599f19ff1 (diff) | |
download | px4-firmware-ca794265c6a33f5aa9de87d97a222ed331c59aec.tar.gz px4-firmware-ca794265c6a33f5aa9de87d97a222ed331c59aec.tar.bz2 px4-firmware-ca794265c6a33f5aa9de87d97a222ed331c59aec.zip |
Fixed input indexing, stupid 1-based indices on the GCS side (MP/QGC) caused confusion
Diffstat (limited to 'apps/drivers/px4io/px4io.cpp')
-rw-r--r-- | apps/drivers/px4io/px4io.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/apps/drivers/px4io/px4io.cpp b/apps/drivers/px4io/px4io.cpp index 4006f88cf..2611c4e9c 100644 --- a/apps/drivers/px4io/px4io.cpp +++ b/apps/drivers/px4io/px4io.cpp @@ -694,21 +694,26 @@ PX4IO::io_set_rc_config() for (unsigned i = 0; i < _max_rc_input; i++) input_map[i] = -1; + /* + * NOTE: The indices for mapped channels are 1-based + * for compatibility reasons with existing + * autopilots / GCS'. + */ param_get(param_find("RC_MAP_ROLL"), &ichan); if ((ichan >= 0) && (ichan < (int)_max_rc_input)) - input_map[ichan] = 0; + input_map[ichan - 1] = 0; param_get(param_find("RC_MAP_PITCH"), &ichan); if ((ichan >= 0) && (ichan < (int)_max_rc_input)) - input_map[ichan] = 1; + input_map[ichan - 1] = 1; param_get(param_find("RC_MAP_YAW"), &ichan); if ((ichan >= 0) && (ichan < (int)_max_rc_input)) - input_map[ichan] = 2; + input_map[ichan - 1] = 2; param_get(param_find("RC_MAP_THROTTLE"), &ichan); if ((ichan >= 0) && (ichan < (int)_max_rc_input)) - input_map[ichan] = 3; + input_map[ichan - 1] = 3; ichan = 4; for (unsigned i = 0; i < _max_rc_input; i++) |