From 13e40623cc9a2203376d5f56e16c397c4eb82a41 Mon Sep 17 00:00:00 2001 From: Denis Freund Date: Thu, 9 Jan 2025 16:23:26 +0100 Subject: [PATCH] fix: pitch_flare_tweak revert changes to flightmodel fine tune fix fine tune thea values 2 --- .../Headwind_A330neo/flight_model.cfg | 8 ++--- .../fbw_a330/src/model/PitchNormalLaw.cpp | 30 +++++++++---------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/hdw-a339x/src/base/headwindsim-aircraft-a330-900/SimObjects/Airplanes/Headwind_A330neo/flight_model.cfg b/hdw-a339x/src/base/headwindsim-aircraft-a330-900/SimObjects/Airplanes/Headwind_A330neo/flight_model.cfg index 9608a42a2..727aa4396 100644 --- a/hdw-a339x/src/base/headwindsim-aircraft-a330-900/SimObjects/Airplanes/Headwind_A330neo/flight_model.cfg +++ b/hdw-a339x/src/base/headwindsim-aircraft-a330-900/SimObjects/Airplanes/Headwind_A330neo/flight_model.cfg @@ -327,10 +327,10 @@ yaw_moment_delta_rudder_mach_table = 0:0 yaw_moment_delta_aileron_mach_table = 0:0 yaw_moment_yaw_rate_mach_table = 0:0 yaw_moment_roll_rate_mach_table = 0:0 -elevator_scaling_table = 0:1.5 ; scales control based on its deflection -aileron_scaling_table = 0:1.5 ; scales control based on its deflection -rudder_scaling_table = 0:1.5 ; scales control based on its deflection -aileron_load_factor_effectiveness_table = 0:1.5 ; scaling of roll_moment_delta_aileron versus gravity forces, G effects on aileron effectiveness, acts on roll_moment_delta_aileron +elevator_scaling_table = 0:1 ; scales control based on its deflection +aileron_scaling_table = 0:1 ; scales control based on its deflection +rudder_scaling_table = 0:1 ; scales control based on its deflection +aileron_load_factor_effectiveness_table = 0:1 ; scaling of roll_moment_delta_aileron versus gravity forces, G effects on aileron effectiveness, acts on roll_moment_delta_aileron lift_coef_at_drag_zero = 0.1750 lift_coef_at_drag_zero_flaps=0.1 lift_coef_air_spoilers=-0.25 diff --git a/hdw-a339x/src/wasm/fbw_a330/src/model/PitchNormalLaw.cpp b/hdw-a339x/src/wasm/fbw_a330/src/model/PitchNormalLaw.cpp index 19e8f0d83..a20ca5a6e 100644 --- a/hdw-a339x/src/wasm/fbw_a330/src/model/PitchNormalLaw.cpp +++ b/hdw-a339x/src/wasm/fbw_a330/src/model/PitchNormalLaw.cpp @@ -1401,8 +1401,8 @@ void PitchNormalLaw::step(const real_T *rtu_In_time_dt, const real_T *rtu_In_nz_ PitchNormalLaw_DWork.is_active_c2_PitchNormalLaw = 1U; PitchNormalLaw_DWork.is_c2_PitchNormalLaw = PitchNormalLaw_IN_Ground; rtb_in_flare = 0; - PitchNormalLaw_B.flare_Theta_c_deg = -2.0; - PitchNormalLaw_B.flare_Theta_c_rate_deg_s = -1000.0; + PitchNormalLaw_B.flare_Theta_c_deg = 0.0; + PitchNormalLaw_B.flare_Theta_c_rate_deg_s = 0.0; } else { switch (PitchNormalLaw_DWork.is_c2_PitchNormalLaw) { case PitchNormalLaw_IN_Flare_Active_Armed: @@ -1415,8 +1415,8 @@ void PitchNormalLaw::step(const real_T *rtu_In_time_dt, const real_T *rtu_In_nz_ if ((*rtu_In_H_radio_ft <= 30.0) || (rtb_Switch_f == 1.0)) { PitchNormalLaw_DWork.is_c2_PitchNormalLaw = PitchNormalLaw_IN_Flare_Active_Reduce; rtb_in_flare = 1; - PitchNormalLaw_B.flare_Theta_c_deg = -2.0; - } else if ((*rtu_In_in_flight == 1.0) && (*rtu_In_H_radio_ft > 50.0) && (rtb_ManualSwitch == 0.0)) { + PitchNormalLaw_B.flare_Theta_c_deg = 0.0; + } else if ((*rtu_In_in_flight == 1.0) && (*rtu_In_H_radio_ft > 100.0) && (rtb_ManualSwitch == 0.0)) { PitchNormalLaw_DWork.is_c2_PitchNormalLaw = PitchNormalLaw_IN_Flight; rtb_in_flare = 0; } else { @@ -1428,23 +1428,23 @@ void PitchNormalLaw::step(const real_T *rtu_In_time_dt, const real_T *rtu_In_nz_ if (*rtu_In_in_flight == 0.0) { PitchNormalLaw_DWork.is_c2_PitchNormalLaw = PitchNormalLaw_IN_Ground; rtb_in_flare = 0; - PitchNormalLaw_B.flare_Theta_c_deg = -2.0; - PitchNormalLaw_B.flare_Theta_c_rate_deg_s = -1000.0; - } else if ((*rtu_In_in_flight == 1.0) && (*rtu_In_H_radio_ft > 50.0) && (rtb_ManualSwitch == 0.0)) { + PitchNormalLaw_B.flare_Theta_c_deg = 0.0; + PitchNormalLaw_B.flare_Theta_c_rate_deg_s = 0.0; + } else if ((*rtu_In_in_flight == 1.0) && (*rtu_In_H_radio_ft > 100.0) && (rtb_ManualSwitch == 0.0)) { PitchNormalLaw_DWork.is_c2_PitchNormalLaw = PitchNormalLaw_IN_Flight; rtb_in_flare = 0; } else { rtb_in_flare = 1; - PitchNormalLaw_B.flare_Theta_c_deg = -2.0; + PitchNormalLaw_B.flare_Theta_c_deg = 0.0; } break; case PitchNormalLaw_IN_Flare_Prepare: - if ((*rtu_In_H_radio_ft <= 50.0) || (rtb_ManualSwitch == 1.0)) { - PitchNormalLaw_B.flare_Theta_c_rate_deg_s = -(std::fmax(-2.0, rtb_Y_j) + 2.0) / 8.0; + if ((*rtu_In_H_radio_ft <= 100.0) || (rtb_ManualSwitch == 1.0)) { + PitchNormalLaw_B.flare_Theta_c_rate_deg_s = 0.0; PitchNormalLaw_DWork.is_c2_PitchNormalLaw = PitchNormalLaw_IN_Flare_Active_Armed; rtb_in_flare = 1; - } else if ((*rtu_In_in_flight == 1.0) && (*rtu_In_H_radio_ft > 50.0) && (rtb_ManualSwitch == 0.0)) { + } else if ((*rtu_In_in_flight == 1.0) && (*rtu_In_H_radio_ft > 100.0) && (rtb_ManualSwitch == 0.0)) { PitchNormalLaw_DWork.is_c2_PitchNormalLaw = PitchNormalLaw_IN_Flight; rtb_in_flare = 0; } else { @@ -1453,8 +1453,8 @@ void PitchNormalLaw::step(const real_T *rtu_In_time_dt, const real_T *rtu_In_nz_ break; case PitchNormalLaw_IN_Flight: - if ((*rtu_In_H_radio_ft <= 50.0) || (rtb_ManualSwitch == 1.0)) { - PitchNormalLaw_B.flare_Theta_c_rate_deg_s = -1000.0; + if ((*rtu_In_H_radio_ft <= 100.0) || (rtb_ManualSwitch == 1.0)) { + PitchNormalLaw_B.flare_Theta_c_rate_deg_s = 0.0; PitchNormalLaw_B.flare_Theta_c_deg = rtb_Y_j; PitchNormalLaw_DWork.is_c2_PitchNormalLaw = PitchNormalLaw_IN_Flare_Prepare; rtb_in_flare = 0; @@ -1469,8 +1469,8 @@ void PitchNormalLaw::step(const real_T *rtu_In_time_dt, const real_T *rtu_In_nz_ rtb_in_flare = 0; } else { rtb_in_flare = 0; - PitchNormalLaw_B.flare_Theta_c_deg = -2.0; - PitchNormalLaw_B.flare_Theta_c_rate_deg_s = -1000.0; + PitchNormalLaw_B.flare_Theta_c_deg = 0.0; + PitchNormalLaw_B.flare_Theta_c_rate_deg_s = 0.0; } break; }