45 #define ARSP_YAW_CTRL_DISABLE 7.0f // airspeed at which we stop controlling yaw during a front transition 146 bool transition_to_p2 =
false;
149 if (airspeed_triggers_transition) {
160 if (transition_to_p2) {
283 int rear_value = (1.0f - time_since_trans_start /
_params_tiltrotor.front_trans_dur_p2) *
312 if (time_since_trans_start < 1.0
f) {
#define PWM_DEFAULT_MAX
Default maximum PWM in us.
constexpr _Tp constrain(_Tp val, _Tp min_val, _Tp max_val)
float equivalent_airspeed_m_s
void update_vtol_state() override
Update vtol state.
__EXPORT int param_get(param_t param, void *val)
Copy the value of a parameter.
struct Tiltrotor::@143 _params_handles_tiltrotor
void update_transition_state() override
Update transition state.
struct actuator_controls_s * _actuators_mc_in
void update_mc_state() override
Update multicopter state.
vtol is in front transition part 1 mode
VtolAttitudeControl * _attc
struct actuator_controls_s * _actuators_out_0
struct Tiltrotor::@142 _params_tiltrotor
virtual void update_fw_state()
Update fixed wing state.
struct actuator_controls_s * _actuators_fw_in
float _mc_throttle_weight
vtol is in multicopter mode
struct vehicle_attitude_setpoint_s * _v_att_sp
Vector< float, 6 > f(float t, const Matrix< float, 6, 1 > &, const Matrix< float, 3, 1 > &)
struct vehicle_attitude_setpoint_s * _mc_virtual_att_sp
#define ARSP_YAW_CTRL_DISABLE
bool set_idle_mc()
Sets mc motor minimum pwm to VT_IDLE_PWM_MC which ensures that they are spinning in mc mode...
motor_state set_motor_state(const motor_state current_state, const motor_state next_state, const int value=0)
Sets state of a selection of motors, see struct motor_state.
uint64_t timestamp_sample
void update_fw_state() override
Update fixed wing state.
void fill_actuator_outputs() override
Write data to actuator output topic.
__EXPORT param_t param_find(const char *name)
Look up a parameter by name.
vtol is in front transition part 2 mode
float back_trans_duration
Tiltrotor(VtolAttitudeControl *_att_controller)
void waiting_on_tecs() override
Special handling opportunity for the time right after transition to FW before TECS is running...
float transition_airspeed
float _tilt_control
actuator value for the tilt servo
struct Tiltrotor::@144 _vtol_schedule
Specific to tiltrotor with vertical aligned rear engine/s.
float front_trans_time_openloop
virtual void update_mc_state()
Update multicopter state.
struct airspeed_validated_s * _airspeed_validated
virtual void update_transition_state()=0
Update transition state.
bool _flag_was_in_trans_mode
void parameters_update() override
struct actuator_controls_s * _actuators_out_1
vtol is in back transition mode
float front_trans_time_min
vtol is in fixed wing mode
bool is_fixed_wing_requested()
#define PWM_DEFAULT_MIN
Default minimum PWM in us.
float front_trans_duration
bool can_transition_on_ground()
Returns true if we're allowed to do a mode transition on the ground.
__EXPORT hrt_abstime hrt_absolute_time(void)
Get absolute time in [us] (does not wrap).