mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-09-29 12:32:05 +08:00
Switches from using VehicleControlMode to a specific setpoint type message with reply. Reasons: - in case a VehicleControlMode was dropped (e.g. when the mode switched setpoint type), no confirmation was returned, and resulting in wrong controller flags. - cleaner interface separation: external modes do not need to configure (or know) which controller to run for a certain setpoint - allows for external modes to check for compatibility: e.g. a mode using fixed-wing setpoint types can now be rejected on a multicopter. - allows for further extensions, like a setpoint timeout This makes it a bit more effort to add a new setpoint type. Specifically, setpoint_types.cpp needs to be extended when adding a new setpoint message. PX4 internal modes also make use of the setpoint types. The information flow is: nav_state -> setpoint type -> vehicle control mode flags It also adds a timeout to the setpoint config, but is not implemented yet. This changes the interface for external modes and thus the compatibility version is increased.
20 lines
1.1 KiB
Plaintext
20 lines
1.1 KiB
Plaintext
# Defines which controllers should run
|
|
|
|
uint64 timestamp # time since system start (microseconds)
|
|
bool flag_armed # synonym for actuator_armed.armed
|
|
|
|
bool flag_multicopter_position_control_enabled
|
|
|
|
bool flag_control_manual_enabled # true if manual input is mixed in
|
|
bool flag_control_auto_enabled # true if onboard autopilot should act
|
|
bool flag_control_offboard_enabled # true if offboard control should be used
|
|
bool flag_control_position_enabled # true if position is controlled
|
|
bool flag_control_velocity_enabled # true if horizontal velocity (implies direction) is controlled
|
|
bool flag_control_altitude_enabled # true if altitude is controlled
|
|
bool flag_control_climb_rate_enabled # true if climb rate is controlled
|
|
bool flag_control_acceleration_enabled # true if acceleration is controlled
|
|
bool flag_control_attitude_enabled # true if attitude stabilization is mixed in
|
|
bool flag_control_rates_enabled # true if rates are stabilized
|
|
bool flag_control_allocation_enabled # true if control allocation is enabled
|
|
bool flag_control_termination_enabled # true if flighttermination is enabled
|