diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2014-07-18 11:19:05 +0200 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2014-07-18 11:19:05 +0200 |
commit | 903b482378516f26ef0faa4d658597e0af2fb35d (patch) | |
tree | 85c1b0eae57a22b97380ebd45468ae061db9bc0d /src/drivers/px4io/px4io.cpp | |
parent | 9a53fd96482bd31da98af97de5cde88127d6c7f9 (diff) | |
download | px4-firmware-903b482378516f26ef0faa4d658597e0af2fb35d.tar.gz px4-firmware-903b482378516f26ef0faa4d658597e0af2fb35d.tar.bz2 px4-firmware-903b482378516f26ef0faa4d658597e0af2fb35d.zip |
PX4IO driver: Add support to set force failsafe
Diffstat (limited to 'src/drivers/px4io/px4io.cpp')
-rw-r--r-- | src/drivers/px4io/px4io.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/drivers/px4io/px4io.cpp b/src/drivers/px4io/px4io.cpp index 711674886..f5ff6e55e 100644 --- a/src/drivers/px4io/px4io.cpp +++ b/src/drivers/px4io/px4io.cpp @@ -2222,6 +2222,17 @@ PX4IO::ioctl(file * filep, int cmd, unsigned long arg) ret = io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_FORCE_SAFETY_OFF, PX4IO_FORCE_SAFETY_MAGIC); break; + case PWM_SERVO_SET_FORCE_FAILSAFE: + /* force failsafe mode instantly */ + if (arg == 0) { + /* clear force failsafe flag */ + ret = io_reg_modify(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_ARMING, PX4IO_P_SETUP_ARMING_FORCE_FAILSAFE, 0); + } else { + /* set force failsafe flag */ + ret = io_reg_modify(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_ARMING, 0, PX4IO_P_SETUP_ARMING_FORCE_FAILSAFE); + } + break; + case DSM_BIND_START: /* only allow DSM2, DSM-X and DSM-X with more than 7 channels */ |