aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2013-06-04 14:13:02 +0200
committerLorenz Meier <lm@inf.ethz.ch>2013-06-04 14:13:02 +0200
commitde82295ab5307bca0fbd2266fdd1547386fa19a8 (patch)
tree98cb0a865efb69f3717b0f58cff31f9e9bcc2f9e /src
parent40dbd21e11162c9d728852e98d1dfb5003a85538 (diff)
downloadpx4-firmware-de82295ab5307bca0fbd2266fdd1547386fa19a8.tar.gz
px4-firmware-de82295ab5307bca0fbd2266fdd1547386fa19a8.tar.bz2
px4-firmware-de82295ab5307bca0fbd2266fdd1547386fa19a8.zip
HOTFIX: Allow PWM command to correctly set ARM_OK flag
Diffstat (limited to 'src')
-rw-r--r--src/systemcmds/pwm/pwm.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/systemcmds/pwm/pwm.c b/src/systemcmds/pwm/pwm.c
index ff733df52..e150b5a74 100644
--- a/src/systemcmds/pwm/pwm.c
+++ b/src/systemcmds/pwm/pwm.c
@@ -185,12 +185,18 @@ pwm_main(int argc, char *argv[])
const char *arg = argv[0];
argv++;
if (!strcmp(arg, "arm")) {
+ /* tell IO that its ok to disable its safety with the switch */
+ ret = ioctl(fd, PWM_SERVO_SET_ARM_OK, 0);
+ if (ret != OK)
+ err(1, "PWM_SERVO_SET_ARM_OK");
+ /* tell IO that the system is armed (it will output values if safety is off) */
ret = ioctl(fd, PWM_SERVO_ARM, 0);
if (ret != OK)
err(1, "PWM_SERVO_ARM");
continue;
}
if (!strcmp(arg, "disarm")) {
+ /* disarm, but do not revoke the SET_ARM_OK flag */
ret = ioctl(fd, PWM_SERVO_DISARM, 0);
if (ret != OK)
err(1, "PWM_SERVO_DISARM");