diff options
author | Andrew Tridgell <tridge@samba.org> | 2014-11-05 21:20:32 +1100 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2014-11-16 21:00:01 +0100 |
commit | 88bae21ce53fc6acadaae4c8271f3d0fce18a721 (patch) | |
tree | 6be6ed764337d08e56a0913eed97e338cc74b77b /src/drivers/drv_pwm_output.h | |
parent | a153fb4b99e6177a3b161104bb8d4eb9922a5148 (diff) | |
download | px4-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.h | 26 |
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) + /* * * |