aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/px4fmu
diff options
context:
space:
mode:
authorJulian Oes <julian@oes.ch>2013-10-07 16:24:49 +0200
committerJulian Oes <julian@oes.ch>2013-10-07 16:24:49 +0200
commitea0aa49b546476ef9ca9904b32dc507d66f0ab44 (patch)
treed881fb2714978efea6d1b0da827a8ecd438ba0d4 /src/drivers/px4fmu
parent9ff521711861fce857b6c17c2ec87eaa2073376e (diff)
downloadpx4-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.cpp14
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) {