diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2014-02-13 08:25:49 +0100 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2014-02-13 08:25:49 +0100 |
commit | 91c55503a860ffc02a2687c141e2cfc68a43b3cc (patch) | |
tree | d1df9ca41e2de50ccf0b09ab76af1dfba24cc092 /src/modules/px4iofirmware/registers.c | |
parent | 6a1f91e6254e14c52b77406b12b76e2a233aedf8 (diff) | |
download | px4-firmware-91c55503a860ffc02a2687c141e2cfc68a43b3cc.tar.gz px4-firmware-91c55503a860ffc02a2687c141e2cfc68a43b3cc.tar.bz2 px4-firmware-91c55503a860ffc02a2687c141e2cfc68a43b3cc.zip |
Ensure only either S.BUS1 or S.BUS2 can be active at a time
Diffstat (limited to 'src/modules/px4iofirmware/registers.c')
-rw-r--r-- | src/modules/px4iofirmware/registers.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/modules/px4iofirmware/registers.c b/src/modules/px4iofirmware/registers.c index 1335f52e1..f78086839 100644 --- a/src/modules/px4iofirmware/registers.c +++ b/src/modules/px4iofirmware/registers.c @@ -462,9 +462,18 @@ registers_set_one(uint8_t page, uint8_t offset, uint16_t value) #ifdef ENABLE_SBUS_OUT ENABLE_SBUS_OUT(value & (PX4IO_P_SETUP_FEATURES_SBUS1_OUT | PX4IO_P_SETUP_FEATURES_SBUS2_OUT)); - /* disable the conflicting options */ - if (value & (PX4IO_P_SETUP_FEATURES_SBUS1_OUT | PX4IO_P_SETUP_FEATURES_SBUS2_OUT)) { - value &= ~(PX4IO_P_SETUP_FEATURES_PWM_RSSI | PX4IO_P_SETUP_FEATURES_ADC_RSSI); + /* disable the conflicting options with SBUS 1 */ + if (value & (PX4IO_P_SETUP_FEATURES_SBUS1_OUT)) { + value &= ~(PX4IO_P_SETUP_FEATURES_PWM_RSSI | + PX4IO_P_SETUP_FEATURES_ADC_RSSI | + PX4IO_P_SETUP_FEATURES_SBUS2_OUT); + } + + /* disable the conflicting options with SBUS 2 */ + if (value & (PX4IO_P_SETUP_FEATURES_SBUS2_OUT)) { + value &= ~(PX4IO_P_SETUP_FEATURES_PWM_RSSI | + PX4IO_P_SETUP_FEATURES_ADC_RSSI | + PX4IO_P_SETUP_FEATURES_SBUS1_OUT); } #endif |