aboutsummaryrefslogtreecommitdiff
path: root/src/systemcmds/pwm/pwm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemcmds/pwm/pwm.c')
-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");