aboutsummaryrefslogtreecommitdiff
path: root/src/modules/px4iofirmware/controls.c
diff options
context:
space:
mode:
authorpx4dev <px4@purgatory.org>2013-07-14 13:04:44 -0700
committerpx4dev <px4@purgatory.org>2013-07-14 13:04:44 -0700
commitdca9019f75ddf31a5477db935252eb009a0be655 (patch)
tree6fd0661f9e2c7035097bf2b044b33e95ae352caf /src/modules/px4iofirmware/controls.c
parent6cf120831289368015b7b4f51db4f99f418e7129 (diff)
parent60ce9759d9d5a9b5f2e9fd218852fa595cc7bebd (diff)
downloadpx4-firmware-dca9019f75ddf31a5477db935252eb009a0be655.tar.gz
px4-firmware-dca9019f75ddf31a5477db935252eb009a0be655.tar.bz2
px4-firmware-dca9019f75ddf31a5477db935252eb009a0be655.zip
Merge branch 'master' of https://github.com/PX4/Firmware into fmuv2_bringup
Diffstat (limited to 'src/modules/px4iofirmware/controls.c')
-rw-r--r--src/modules/px4iofirmware/controls.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/modules/px4iofirmware/controls.c b/src/modules/px4iofirmware/controls.c
index 5a95a8aa9..74037d1c2 100644
--- a/src/modules/px4iofirmware/controls.c
+++ b/src/modules/px4iofirmware/controls.c
@@ -95,9 +95,16 @@ controls_tick() {
*/
perf_begin(c_gather_dsm);
- bool dsm_updated = dsm_input(r_raw_rc_values, &r_raw_rc_count);
- if (dsm_updated)
+ uint16_t temp_count = r_raw_rc_count;
+ bool dsm_updated = dsm_input(r_raw_rc_values, &temp_count);
+ if (dsm_updated) {
r_status_flags |= PX4IO_P_STATUS_FLAGS_RC_DSM;
+ r_raw_rc_count = temp_count & 0x7fff;
+ if (temp_count & 0x8000)
+ r_status_flags |= PX4IO_P_STATUS_FLAGS_RC_DSM11;
+ else
+ r_status_flags &= ~PX4IO_P_STATUS_FLAGS_RC_DSM11;
+ }
perf_end(c_gather_dsm);
perf_begin(c_gather_sbus);