aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2015-02-21 01:14:29 +0100
committerLorenz Meier <lm@inf.ethz.ch>2015-03-15 17:39:42 +0100
commitc94755c847ce122e2da727ce58c3171a11896879 (patch)
treeda32a3242ca46ed57fd56eec45ce1264aedbc814
parent9935707acdcd47189ae08b9eb8104f1981884d8c (diff)
downloadpx4-firmware-c94755c847ce122e2da727ce58c3171a11896879.tar.gz
px4-firmware-c94755c847ce122e2da727ce58c3171a11896879.tar.bz2
px4-firmware-c94755c847ce122e2da727ce58c3171a11896879.zip
PX4IO Firmware: Support 16 output channels
-rw-r--r--src/modules/px4iofirmware/mixer.cpp6
-rw-r--r--src/modules/px4iofirmware/px4io.h3
2 files changed, 6 insertions, 3 deletions
diff --git a/src/modules/px4iofirmware/mixer.cpp b/src/modules/px4iofirmware/mixer.cpp
index 66f0969de..835dfc0f5 100644
--- a/src/modules/px4iofirmware/mixer.cpp
+++ b/src/modules/px4iofirmware/mixer.cpp
@@ -272,8 +272,9 @@ mixer_tick(void)
if (mixer_servos_armed && should_arm) {
/* update the servo outputs. */
- for (unsigned i = 0; i < PX4IO_SERVO_COUNT; i++)
+ for (unsigned i = 0; i < PX4IO_SERVO_HARDWARE_COUNT; i++) {
up_pwm_servo_set(i, r_page_servos[i]);
+ }
/* set S.BUS1 or S.BUS2 outputs */
@@ -285,8 +286,9 @@ mixer_tick(void)
} else if (mixer_servos_armed && should_always_enable_pwm) {
/* set the disarmed servo outputs. */
- for (unsigned i = 0; i < PX4IO_SERVO_COUNT; i++)
+ for (unsigned i = 0; i < PX4IO_SERVO_HARDWARE_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)
diff --git a/src/modules/px4iofirmware/px4io.h b/src/modules/px4iofirmware/px4io.h
index 93a33490f..df2633cc5 100644
--- a/src/modules/px4iofirmware/px4io.h
+++ b/src/modules/px4iofirmware/px4io.h
@@ -51,7 +51,8 @@
/*
* Constants and limits.
*/
-#define PX4IO_SERVO_COUNT 8
+#define PX4IO_SERVO_COUNT 16
+#define PX4IO_SERVO_HARDWARE_COUNT 8
#define PX4IO_CONTROL_CHANNELS 8
#define PX4IO_CONTROL_GROUPS 4
#define PX4IO_RC_INPUT_CHANNELS 18