diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2014-05-05 08:04:28 -0700 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2014-05-05 08:04:28 -0700 |
commit | d1909ca94bbf930d5cb4f22fa6bc00d07cd26b0e (patch) | |
tree | f390ddd282da029968c96d63041fe34990201bf6 /src/modules/px4iofirmware/mixer.cpp | |
parent | 896d8a3acd0ea91858c7a23b2dbce174f7da7fba (diff) | |
parent | 91c55503a860ffc02a2687c141e2cfc68a43b3cc (diff) | |
download | px4-firmware-d1909ca94bbf930d5cb4f22fa6bc00d07cd26b0e.tar.gz px4-firmware-d1909ca94bbf930d5cb4f22fa6bc00d07cd26b0e.tar.bz2 px4-firmware-d1909ca94bbf930d5cb4f22fa6bc00d07cd26b0e.zip |
Merge pull request #878 from PX4/sbus_out
S.BUS output
Diffstat (limited to 'src/modules/px4iofirmware/mixer.cpp')
-rw-r--r-- | src/modules/px4iofirmware/mixer.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/modules/px4iofirmware/mixer.cpp b/src/modules/px4iofirmware/mixer.cpp index 9558198f3..ebf4f3e8e 100644 --- a/src/modules/px4iofirmware/mixer.cpp +++ b/src/modules/px4iofirmware/mixer.cpp @@ -254,10 +254,25 @@ mixer_tick(void) for (unsigned i = 0; i < PX4IO_SERVO_COUNT; i++) up_pwm_servo_set(i, r_page_servos[i]); + /* set S.BUS1 or S.BUS2 outputs */ + + if (r_setup_features & PX4IO_P_SETUP_FEATURES_SBUS2_OUT) { + sbus2_output(r_page_servos, PX4IO_SERVO_COUNT); + } else if (r_setup_features & PX4IO_P_SETUP_FEATURES_SBUS1_OUT) { + sbus1_output(r_page_servos, PX4IO_SERVO_COUNT); + } + } else if (mixer_servos_armed && should_always_enable_pwm) { /* set the disarmed servo outputs. */ for (unsigned i = 0; i < PX4IO_SERVO_COUNT; i++) up_pwm_servo_set(i, r_page_servo_disarmed[i]); + + /* set S.BUS1 or S.BUS2 outputs */ + if (r_setup_features & PX4IO_P_SETUP_FEATURES_SBUS1_OUT) + sbus1_output(r_page_servos, PX4IO_SERVO_COUNT); + + if (r_setup_features & PX4IO_P_SETUP_FEATURES_SBUS2_OUT) + sbus2_output(r_page_servos, PX4IO_SERVO_COUNT); } } |