forked from Archive/PX4-Autopilot
PX4IO driver: Add support to set force failsafe
This commit is contained in:
parent
9a53fd9648
commit
903b482378
|
@ -202,6 +202,9 @@ ORB_DECLARE(output_pwm);
|
||||||
/** force safety switch off (to disable use of safety switch) */
|
/** force safety switch off (to disable use of safety switch) */
|
||||||
#define PWM_SERVO_SET_FORCE_SAFETY_OFF _IOC(_PWM_SERVO_BASE, 23)
|
#define PWM_SERVO_SET_FORCE_SAFETY_OFF _IOC(_PWM_SERVO_BASE, 23)
|
||||||
|
|
||||||
|
/** force failsafe mode (failsafe values are set immediately even if failsafe condition not met) */
|
||||||
|
#define PWM_SERVO_SET_FORCE_FAILSAFE _IOC(_PWM_SERVO_BASE, 24)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
|
|
|
@ -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);
|
ret = io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_FORCE_SAFETY_OFF, PX4IO_FORCE_SAFETY_MAGIC);
|
||||||
break;
|
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:
|
case DSM_BIND_START:
|
||||||
|
|
||||||
/* only allow DSM2, DSM-X and DSM-X with more than 7 channels */
|
/* only allow DSM2, DSM-X and DSM-X with more than 7 channels */
|
||||||
|
|
Loading…
Reference in New Issue