From ffcd259b4e1b31f5583b9da268743010a1bf2b80 Mon Sep 17 00:00:00 2001 From: Randy Mackay Date: Sun, 14 Sep 2014 17:23:58 +0900 Subject: [PATCH] HAL_PX4: implement force_safety_on --- libraries/AP_HAL_PX4/RCOutput.cpp | 6 ++++++ libraries/AP_HAL_PX4/RCOutput.h | 1 + 2 files changed, 7 insertions(+) diff --git a/libraries/AP_HAL_PX4/RCOutput.cpp b/libraries/AP_HAL_PX4/RCOutput.cpp index 0a132aa962..76084c85ae 100644 --- a/libraries/AP_HAL_PX4/RCOutput.cpp +++ b/libraries/AP_HAL_PX4/RCOutput.cpp @@ -174,6 +174,12 @@ void PX4RCOutput::set_failsafe_pwm(uint32_t chmask, uint16_t period_us) } } +bool PX4RCOutput::force_safety_on(void) +{ + int ret = ioctl(_pwm_fd, PWM_SERVO_SET_FORCE_SAFETY_ON, 0); + return (ret == OK); +} + void PX4RCOutput::force_safety_off(void) { int ret = ioctl(_pwm_fd, PWM_SERVO_SET_FORCE_SAFETY_OFF, 0); diff --git a/libraries/AP_HAL_PX4/RCOutput.h b/libraries/AP_HAL_PX4/RCOutput.h index b0133a08e6..446f5acfee 100644 --- a/libraries/AP_HAL_PX4/RCOutput.h +++ b/libraries/AP_HAL_PX4/RCOutput.h @@ -21,6 +21,7 @@ public: void read(uint16_t* period_us, uint8_t len); void set_safety_pwm(uint32_t chmask, uint16_t period_us); void set_failsafe_pwm(uint32_t chmask, uint16_t period_us); + bool force_safety_on(void); void force_safety_off(void); void _timer_tick(void);