diff options
author | Julian Oes <julian@oes.ch> | 2013-10-07 16:24:49 +0200 |
---|---|---|
committer | Julian Oes <julian@oes.ch> | 2013-10-07 16:24:49 +0200 |
commit | ea0aa49b546476ef9ca9904b32dc507d66f0ab44 (patch) | |
tree | d881fb2714978efea6d1b0da827a8ecd438ba0d4 /src/drivers/px4fmu | |
parent | 9ff521711861fce857b6c17c2ec87eaa2073376e (diff) | |
download | px4-firmware-ea0aa49b546476ef9ca9904b32dc507d66f0ab44.tar.gz px4-firmware-ea0aa49b546476ef9ca9904b32dc507d66f0ab44.tar.bz2 px4-firmware-ea0aa49b546476ef9ca9904b32dc507d66f0ab44.zip |
pwm info provides more information, some fixes for setting rate/min/max/disarmed
Diffstat (limited to 'src/drivers/px4fmu')
-rw-r--r-- | src/drivers/px4fmu/fmu.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/drivers/px4fmu/fmu.cpp b/src/drivers/px4fmu/fmu.cpp index b1dd55dd7..3fc75eb29 100644 --- a/src/drivers/px4fmu/fmu.cpp +++ b/src/drivers/px4fmu/fmu.cpp @@ -685,14 +685,26 @@ PX4FMU::pwm_ioctl(file *filp, int cmd, unsigned long arg) up_pwm_servo_arm(false); break; + case PWM_SERVO_GET_DEFAULT_UPDATE_RATE: + *(uint32_t *)arg = _pwm_default_rate; + break; + case PWM_SERVO_SET_UPDATE_RATE: ret = set_pwm_rate(_pwm_alt_rate_channels, _pwm_default_rate, arg); break; - case PWM_SERVO_SELECT_UPDATE_RATE: + case PWM_SERVO_GET_UPDATE_RATE: + *(uint32_t *)arg = _pwm_alt_rate; + break; + + case PWM_SERVO_SET_SELECT_UPDATE_RATE: ret = set_pwm_rate(arg, _pwm_default_rate, _pwm_alt_rate); break; + case PWM_SERVO_GET_SELECT_UPDATE_RATE: + *(uint32_t *)arg = _pwm_alt_rate_channels; + break; + case PWM_SERVO_SET(5): case PWM_SERVO_SET(4): if (_mode < MODE_6PWM) { |