aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/px4io/px4io.cpp
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2015-02-02 21:21:51 +0100
committerLorenz Meier <lm@inf.ethz.ch>2015-02-02 21:21:51 +0100
commitd441d38677eb78d1e599973dd1e993d3af1af218 (patch)
treeddee78e259d301c551a734a9f75c12107b53c227 /src/drivers/px4io/px4io.cpp
parent143508529feb10d5e767794b1fdd236d6915901b (diff)
parente6a7dc7a3ffd4eb988e9039171f1460f656b28c8 (diff)
downloadpx4-firmware-d441d38677eb78d1e599973dd1e993d3af1af218.tar.gz
px4-firmware-d441d38677eb78d1e599973dd1e993d3af1af218.tar.bz2
px4-firmware-d441d38677eb78d1e599973dd1e993d3af1af218.zip
Merged master into ros
Diffstat (limited to 'src/drivers/px4io/px4io.cpp')
-rw-r--r--src/drivers/px4io/px4io.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/drivers/px4io/px4io.cpp b/src/drivers/px4io/px4io.cpp
index ae7f85b87..3a9e8ef24 100644
--- a/src/drivers/px4io/px4io.cpp
+++ b/src/drivers/px4io/px4io.cpp
@@ -3271,7 +3271,23 @@ px4io_main(int argc, char *argv[])
exit(0);
}
+ if (!strcmp(argv[1], "safety_off")) {
+ int ret = g_dev->ioctl(NULL, PWM_SERVO_SET_FORCE_SAFETY_OFF, 0);
+ if (ret != OK) {
+ printf("failed to disable safety\n");
+ exit(1);
+ }
+ exit(0);
+ }
+ if (!strcmp(argv[1], "safety_on")) {
+ int ret = g_dev->ioctl(NULL, PWM_SERVO_SET_FORCE_SAFETY_ON, 0);
+ if (ret != OK) {
+ printf("failed to enable safety\n");
+ exit(1);
+ }
+ exit(0);
+ }
if (!strcmp(argv[1], "recovery")) {
@@ -3400,6 +3416,6 @@ px4io_main(int argc, char *argv[])
out:
errx(1, "need a command, try 'start', 'stop', 'status', 'test', 'monitor', 'debug <level>',\n"
- "'recovery', 'limit <rate>', 'current', 'bind', 'checkcrc',\n"
+ "'recovery', 'limit <rate>', 'current', 'bind', 'checkcrc', 'safety_on', 'safety_off',\n"
"'forceupdate', 'update', 'sbus1_out', 'sbus2_out', 'rssi_analog' or 'rssi_pwm'");
}