mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-15 22:03:34 +08:00
IO - Send flight termination circuit breaker state to IO through PX4IO_P_SETUP_ENABLE_FLIGHTTERM
This commit is contained in:
@@ -1031,6 +1031,8 @@ PX4IO::task_main()
|
||||
|
||||
/* Check if the flight termination circuit breaker has been updated */
|
||||
_cb_flighttermination = circuit_breaker_enabled("CBRK_FLIGHTTERM", CBRK_FLIGHTTERM_KEY);
|
||||
/* Tell IO that it can terminate the flight if FMU is not responding */
|
||||
(void)io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_ENABLE_FLIGHTTERM, !_cb_flighttermination);
|
||||
|
||||
param_get(param_find("RC_RSSI_PWM_CHAN"), &_rssi_pwm_chan);
|
||||
param_get(param_find("RC_RSSI_PWM_MAX"), &_rssi_pwm_max);
|
||||
|
||||
@@ -240,6 +240,8 @@ enum { /* DSM bind states */
|
||||
|
||||
#define PX4IO_P_SETUP_AIRMODE 27 /* air-mode */
|
||||
|
||||
#define PX4IO_P_SETUP_ENABLE_FLIGHTTERM 28 /* flight termination circuit breaker */
|
||||
|
||||
#define PX4IO_THERMAL_IGNORE UINT16_MAX
|
||||
#define PX4IO_THERMAL_OFF 0
|
||||
#define PX4IO_THERMAL_FULL 10000
|
||||
|
||||
@@ -133,6 +133,7 @@ extern uint16_t r_page_servo_disarmed[]; /* PX4IO_PAGE_DISARMED_PWM */
|
||||
#define r_setup_thr_fac r_page_setup[PX4IO_P_SETUP_THR_MDL_FAC]
|
||||
#define r_setup_slew_max r_page_setup[PX4IO_P_SETUP_MOTOR_SLEW_MAX]
|
||||
#define r_setup_airmode r_page_setup[PX4IO_P_SETUP_AIRMODE]
|
||||
#define r_setup_flightterm r_page_setup[PX4IO_P_SETUP_ENABLE_FLIGHTTERM]
|
||||
|
||||
#define r_control_values (&r_page_controls[0])
|
||||
|
||||
|
||||
@@ -181,7 +181,8 @@ volatile uint16_t r_page_setup[] = {
|
||||
[PX4IO_P_SETUP_MOTOR_SLEW_MAX] = 0,
|
||||
[PX4IO_P_SETUP_AIRMODE] = 0,
|
||||
[PX4IO_P_SETUP_THR_MDL_FAC] = 0,
|
||||
[PX4IO_P_SETUP_THERMAL] = PX4IO_THERMAL_IGNORE
|
||||
[PX4IO_P_SETUP_THERMAL] = PX4IO_THERMAL_IGNORE,
|
||||
[PX4IO_P_SETUP_ENABLE_FLIGHTTERM] = 0
|
||||
};
|
||||
|
||||
#define PX4IO_P_SETUP_FEATURES_VALID (PX4IO_P_SETUP_FEATURES_SBUS1_OUT | \
|
||||
@@ -712,6 +713,7 @@ registers_set_one(uint8_t page, uint8_t offset, uint16_t value)
|
||||
case PX4IO_P_SETUP_MOTOR_SLEW_MAX:
|
||||
case PX4IO_P_SETUP_AIRMODE:
|
||||
case PX4IO_P_SETUP_THERMAL:
|
||||
case PX4IO_P_SETUP_ENABLE_FLIGHTTERM:
|
||||
r_page_setup[offset] = value;
|
||||
break;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user