aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/drv_pwm_output.h
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2014-11-05 21:20:32 +1100
committerLorenz Meier <lm@inf.ethz.ch>2014-11-16 21:00:01 +0100
commit88bae21ce53fc6acadaae4c8271f3d0fce18a721 (patch)
tree6be6ed764337d08e56a0913eed97e338cc74b77b /src/drivers/drv_pwm_output.h
parenta153fb4b99e6177a3b161104bb8d4eb9922a5148 (diff)
downloadpx4-firmware-88bae21ce53fc6acadaae4c8271f3d0fce18a721.tar.gz
px4-firmware-88bae21ce53fc6acadaae4c8271f3d0fce18a721.tar.bz2
px4-firmware-88bae21ce53fc6acadaae4c8271f3d0fce18a721.zip
px4io: added RC_CONFIG, SET_OVERRIDE_OK and CLEAR_OVERRIDE_OK ioctls
this allows for full setup of RC override without needing param_get() to PX4 specific parameters
Diffstat (limited to 'src/drivers/drv_pwm_output.h')
-rw-r--r--src/drivers/drv_pwm_output.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/drivers/drv_pwm_output.h b/src/drivers/drv_pwm_output.h
index 6873f24b6..b41f088eb 100644
--- a/src/drivers/drv_pwm_output.h
+++ b/src/drivers/drv_pwm_output.h
@@ -117,6 +117,23 @@ struct pwm_output_values {
unsigned channel_count;
};
+
+/**
+ * RC config values for a channel
+ *
+ * This allows for PX4IO_PAGE_RC_CONFIG values to be set without a
+ * param_get() dependency
+ */
+struct pwm_output_rc_config {
+ uint8_t channel;
+ uint16_t rc_min;
+ uint16_t rc_trim;
+ uint16_t rc_max;
+ uint16_t rc_dz;
+ uint16_t rc_assignment;
+ bool rc_reverse;
+};
+
/*
* ORB tag for PWM outputs.
*/
@@ -216,6 +233,15 @@ ORB_DECLARE(output_pwm);
/** force safety switch on (to enable use of safety switch) */
#define PWM_SERVO_SET_FORCE_SAFETY_ON _IOC(_PWM_SERVO_BASE, 26)
+/** set RC config for a channel. This takes a pointer to pwm_output_rc_config */
+#define PWM_SERVO_SET_RC_CONFIG _IOC(_PWM_SERVO_BASE, 27)
+
+/** set the 'OVERRIDE OK' bit, which allows for RC control on FMU loss */
+#define PWM_SERVO_SET_OVERRIDE_OK _IOC(_PWM_SERVO_BASE, 28)
+
+/** clear the 'OVERRIDE OK' bit, which allows for RC control on FMU loss */
+#define PWM_SERVO_CLEAR_OVERRIDE_OK _IOC(_PWM_SERVO_BASE, 29)
+
/*
*
*