aboutsummaryrefslogtreecommitdiff
path: root/src/systemcmds
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2014-07-18 11:19:37 +0200
committerLorenz Meier <lm@inf.ethz.ch>2014-07-18 11:19:37 +0200
commit5c8c58a1e6a2977b4a2f6d81928d4bfc64c87649 (patch)
treefa042ebd0fb2e56d14b9a1625fc7f79c8a57294b /src/systemcmds
parent903b482378516f26ef0faa4d658597e0af2fb35d (diff)
downloadpx4-firmware-5c8c58a1e6a2977b4a2f6d81928d4bfc64c87649.tar.gz
px4-firmware-5c8c58a1e6a2977b4a2f6d81928d4bfc64c87649.tar.bz2
px4-firmware-5c8c58a1e6a2977b4a2f6d81928d4bfc64c87649.zip
pwm system command: Allow to force failsave (forcefail command)
Diffstat (limited to 'src/systemcmds')
-rw-r--r--src/systemcmds/pwm/pwm.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/systemcmds/pwm/pwm.c b/src/systemcmds/pwm/pwm.c
index e0e6ca537..77d8ef8db 100644
--- a/src/systemcmds/pwm/pwm.c
+++ b/src/systemcmds/pwm/pwm.c
@@ -635,7 +635,23 @@ pwm_main(int argc, char *argv[])
}
exit(0);
+ } else if (!strcmp(argv[1], "forcefail")) {
+
+ if (argc < 3) {
+ errx(1, "arg missing [on|off]");
+ } else {
+
+ if (!strcmp(argv[2], "on")) {
+ /* force failsafe */
+ ret = ioctl(fd, PWM_SERVO_SET_FORCE_FAILSAFE, 1);
+ } else {
+ /* force failsafe */
+ ret = ioctl(fd, PWM_SERVO_SET_FORCE_FAILSAFE, 0);
+ }
+ }
+
}
+
usage("specify arm|disarm|rate|failsafe|disarmed|min|max|test|info");
return 0;
}