diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2013-01-06 11:25:24 +0100 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-01-06 11:25:24 +0100 |
commit | 359989a2eb22bb54857cb40fe539af3f4dfa672d (patch) | |
tree | 0d23bc932c75313c30340fadd8ffc1d8b2bcb2d9 /apps/drivers | |
parent | d3fd3d8219179251d10655944992da75abb8932b (diff) | |
parent | 58309fd6a863805e16602f4bec82eb35e0a14262 (diff) | |
download | px4-firmware-359989a2eb22bb54857cb40fe539af3f4dfa672d.tar.gz px4-firmware-359989a2eb22bb54857cb40fe539af3f4dfa672d.tar.bz2 px4-firmware-359989a2eb22bb54857cb40fe539af3f4dfa672d.zip |
Merge branch 'master' of github.com:PX4/Firmware into fixedwing_io_mixing_adc
Diffstat (limited to 'apps/drivers')
-rw-r--r-- | apps/drivers/drv_pwm_output.h | 3 | ||||
-rw-r--r-- | apps/drivers/hil/hil.cpp | 4 | ||||
-rw-r--r-- | apps/drivers/px4fmu/fmu.cpp | 4 | ||||
-rw-r--r-- | apps/drivers/px4io/px4io.cpp | 5 |
4 files changed, 16 insertions, 0 deletions
diff --git a/apps/drivers/drv_pwm_output.h b/apps/drivers/drv_pwm_output.h index b2fee65ac..c110cd5cb 100644 --- a/apps/drivers/drv_pwm_output.h +++ b/apps/drivers/drv_pwm_output.h @@ -103,6 +103,9 @@ ORB_DECLARE(output_pwm); /** disarm all servo outputs (stop generating pulses) */ #define PWM_SERVO_DISARM _IOC(_PWM_SERVO_BASE, 1) +/** set update rate in Hz */ +#define PWM_SERVO_SET_UPDATE_RATE _IOC(_PWM_SERVO_BASE, 2) + /** set a single servo to a specific value */ #define PWM_SERVO_SET(_servo) _IOC(_PWM_SERVO_BASE, 0x20 + _servo) diff --git a/apps/drivers/hil/hil.cpp b/apps/drivers/hil/hil.cpp index af7598a34..fe9b281f6 100644 --- a/apps/drivers/hil/hil.cpp +++ b/apps/drivers/hil/hil.cpp @@ -510,6 +510,10 @@ HIL::pwm_ioctl(file *filp, int cmd, unsigned long arg) // up_pwm_servo_arm(false); break; + case PWM_SERVO_SET_UPDATE_RATE: + g_hil->set_pwm_rate(arg); + break; + case PWM_SERVO_SET(2): case PWM_SERVO_SET(3): if (_mode != MODE_4PWM) { diff --git a/apps/drivers/px4fmu/fmu.cpp b/apps/drivers/px4fmu/fmu.cpp index ffe25b274..430d18c6d 100644 --- a/apps/drivers/px4fmu/fmu.cpp +++ b/apps/drivers/px4fmu/fmu.cpp @@ -509,6 +509,10 @@ PX4FMU::pwm_ioctl(file *filp, int cmd, unsigned long arg) up_pwm_servo_arm(false); break; + case PWM_SERVO_SET_UPDATE_RATE: + set_pwm_rate(arg); + break; + case PWM_SERVO_SET(2): case PWM_SERVO_SET(3): if (_mode != MODE_4PWM) { diff --git a/apps/drivers/px4io/px4io.cpp b/apps/drivers/px4io/px4io.cpp index 0c0b08343..c2396b002 100644 --- a/apps/drivers/px4io/px4io.cpp +++ b/apps/drivers/px4io/px4io.cpp @@ -709,6 +709,11 @@ PX4IO::ioctl(file *filep, int cmd, unsigned long arg) _send_needed = true; break; + case PWM_SERVO_SET_UPDATE_RATE: + // not supported yet + ret = -EINVAL; + break; + case PWM_SERVO_SET(0) ... PWM_SERVO_SET(_max_actuators - 1): /* fake an update to the selected 'servo' channel */ |