aboutsummaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
authorThomas Gubler <thomasgubler@gmail.com>2014-08-27 21:33:42 +0200
committerThomas Gubler <thomasgubler@gmail.com>2014-08-27 21:33:42 +0200
commit05027617996c86005fb8ec4d68fae798b9fbef35 (patch)
treee95f7178fecfea58fa81c61bee1550d954feb4bb /src/drivers
parent9cc1f1ab9db4af9af18e6879ba82cbcfa8e588f3 (diff)
parent62b98cc9447262111da1e9ecac700a180f121482 (diff)
downloadpx4-firmware-05027617996c86005fb8ec4d68fae798b9fbef35.tar.gz
px4-firmware-05027617996c86005fb8ec4d68fae798b9fbef35.tar.bz2
px4-firmware-05027617996c86005fb8ec4d68fae798b9fbef35.zip
Merge remote-tracking branch 'upstream/master' into obcfailsafe
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/drv_pwm_output.h5
-rw-r--r--src/drivers/px4fmu/fmu.cpp4
2 files changed, 8 insertions, 1 deletions
diff --git a/src/drivers/drv_pwm_output.h b/src/drivers/drv_pwm_output.h
index 84815fdfb..5aff6825b 100644
--- a/src/drivers/drv_pwm_output.h
+++ b/src/drivers/drv_pwm_output.h
@@ -95,6 +95,11 @@ __BEGIN_DECLS
#define PWM_LOWEST_MAX 1700
/**
+ * Do not output a channel with this value
+ */
+#define PWM_IGNORE_THIS_CHANNEL UINT16_MAX
+
+/**
* Servo output signal type, value is actual servo output pulse
* width in microseconds.
*/
diff --git a/src/drivers/px4fmu/fmu.cpp b/src/drivers/px4fmu/fmu.cpp
index 82977a032..122a3cd17 100644
--- a/src/drivers/px4fmu/fmu.cpp
+++ b/src/drivers/px4fmu/fmu.cpp
@@ -1272,7 +1272,9 @@ PX4FMU::write(file *filp, const char *buffer, size_t len)
memcpy(values, buffer, count * 2);
for (uint8_t i = 0; i < count; i++) {
- up_pwm_servo_set(i, values[i]);
+ if (values[i] != PWM_IGNORE_THIS_CHANNEL) {
+ up_pwm_servo_set(i, values[i]);
+ }
}
return count * 2;