Skip to content

Commit 2fea2a2

Browse files
committed
fix: pitch_flare_tweak
revert changes to flightmodel fine tune fix fine tune thea values 2 fine tune thea values 2 fixes re-add pitch down
1 parent 12024ec commit 2fea2a2

File tree

2 files changed

+19
-19
lines changed

2 files changed

+19
-19
lines changed

hdw-a339x/src/base/headwindsim-aircraft-a330-900/SimObjects/Airplanes/Headwind_A330neo/flight_model.cfg

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -327,10 +327,10 @@ yaw_moment_delta_rudder_mach_table = 0:0
327327
yaw_moment_delta_aileron_mach_table = 0:0
328328
yaw_moment_yaw_rate_mach_table = 0:0
329329
yaw_moment_roll_rate_mach_table = 0:0
330-
elevator_scaling_table = 0:1.5 ; scales control based on its deflection
331-
aileron_scaling_table = 0:1.5 ; scales control based on its deflection
332-
rudder_scaling_table = 0:1.5 ; scales control based on its deflection
333-
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
330+
elevator_scaling_table = 0:1 ; scales control based on its deflection
331+
aileron_scaling_table = 0:1 ; scales control based on its deflection
332+
rudder_scaling_table = 0:1 ; scales control based on its deflection
333+
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
334334
lift_coef_at_drag_zero = 0.1750
335335
lift_coef_at_drag_zero_flaps=0.1
336336
lift_coef_air_spoilers=-0.25

hdw-a339x/src/wasm/fbw_a330/src/model/PitchNormalLaw.cpp

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1401,8 +1401,8 @@ void PitchNormalLaw::step(const real_T *rtu_In_time_dt, const real_T *rtu_In_nz_
14011401
PitchNormalLaw_DWork.is_active_c2_PitchNormalLaw = 1U;
14021402
PitchNormalLaw_DWork.is_c2_PitchNormalLaw = PitchNormalLaw_IN_Ground;
14031403
rtb_in_flare = 0;
1404-
PitchNormalLaw_B.flare_Theta_c_deg = -2.0;
1405-
PitchNormalLaw_B.flare_Theta_c_rate_deg_s = -1000.0;
1404+
PitchNormalLaw_B.flare_Theta_c_deg = 0.0;
1405+
PitchNormalLaw_B.flare_Theta_c_rate_deg_s = 0.0;
14061406
} else {
14071407
switch (PitchNormalLaw_DWork.is_c2_PitchNormalLaw) {
14081408
case PitchNormalLaw_IN_Flare_Active_Armed:
@@ -1412,11 +1412,11 @@ void PitchNormalLaw::step(const real_T *rtu_In_time_dt, const real_T *rtu_In_nz_
14121412
rtb_Switch_f = PitchNormalLaw_rtP.Constant_Value_p;
14131413
}
14141414

1415-
if ((*rtu_In_H_radio_ft <= 30.0) || (rtb_Switch_f == 1.0)) {
1415+
if ((*rtu_In_H_radio_ft <= 50.0) || (rtb_Switch_f == 1.0)) {
14161416
PitchNormalLaw_DWork.is_c2_PitchNormalLaw = PitchNormalLaw_IN_Flare_Active_Reduce;
14171417
rtb_in_flare = 1;
14181418
PitchNormalLaw_B.flare_Theta_c_deg = -2.0;
1419-
} else if ((*rtu_In_in_flight == 1.0) && (*rtu_In_H_radio_ft > 50.0) && (rtb_ManualSwitch == 0.0)) {
1419+
} else if ((*rtu_In_in_flight == 1.0) && (*rtu_In_H_radio_ft > 100.0) && (rtb_ManualSwitch == 0.0)) {
14201420
PitchNormalLaw_DWork.is_c2_PitchNormalLaw = PitchNormalLaw_IN_Flight;
14211421
rtb_in_flare = 0;
14221422
} else {
@@ -1428,23 +1428,23 @@ void PitchNormalLaw::step(const real_T *rtu_In_time_dt, const real_T *rtu_In_nz_
14281428
if (*rtu_In_in_flight == 0.0) {
14291429
PitchNormalLaw_DWork.is_c2_PitchNormalLaw = PitchNormalLaw_IN_Ground;
14301430
rtb_in_flare = 0;
1431-
PitchNormalLaw_B.flare_Theta_c_deg = -2.0;
1432-
PitchNormalLaw_B.flare_Theta_c_rate_deg_s = -1000.0;
1433-
} else if ((*rtu_In_in_flight == 1.0) && (*rtu_In_H_radio_ft > 50.0) && (rtb_ManualSwitch == 0.0)) {
1431+
PitchNormalLaw_B.flare_Theta_c_deg = 0.0;
1432+
PitchNormalLaw_B.flare_Theta_c_rate_deg_s = 0.0;
1433+
} else if ((*rtu_In_in_flight == 1.0) && (*rtu_In_H_radio_ft > 100.0) && (rtb_ManualSwitch == 0.0)) {
14341434
PitchNormalLaw_DWork.is_c2_PitchNormalLaw = PitchNormalLaw_IN_Flight;
14351435
rtb_in_flare = 0;
14361436
} else {
14371437
rtb_in_flare = 1;
1438-
PitchNormalLaw_B.flare_Theta_c_deg = -2.0;
1438+
PitchNormalLaw_B.flare_Theta_c_deg = 0.0;
14391439
}
14401440
break;
14411441

14421442
case PitchNormalLaw_IN_Flare_Prepare:
1443-
if ((*rtu_In_H_radio_ft <= 50.0) || (rtb_ManualSwitch == 1.0)) {
1444-
PitchNormalLaw_B.flare_Theta_c_rate_deg_s = -(std::fmax(-2.0, rtb_Y_j) + 2.0) / 8.0;
1443+
if ((*rtu_In_H_radio_ft <= 100.0) || (rtb_ManualSwitch == 1.0)) {
1444+
PitchNormalLaw_B.flare_Theta_c_rate_deg_s = 0.0;
14451445
PitchNormalLaw_DWork.is_c2_PitchNormalLaw = PitchNormalLaw_IN_Flare_Active_Armed;
14461446
rtb_in_flare = 1;
1447-
} else if ((*rtu_In_in_flight == 1.0) && (*rtu_In_H_radio_ft > 50.0) && (rtb_ManualSwitch == 0.0)) {
1447+
} else if ((*rtu_In_in_flight == 1.0) && (*rtu_In_H_radio_ft > 100.0) && (rtb_ManualSwitch == 0.0)) {
14481448
PitchNormalLaw_DWork.is_c2_PitchNormalLaw = PitchNormalLaw_IN_Flight;
14491449
rtb_in_flare = 0;
14501450
} else {
@@ -1453,8 +1453,8 @@ void PitchNormalLaw::step(const real_T *rtu_In_time_dt, const real_T *rtu_In_nz_
14531453
break;
14541454

14551455
case PitchNormalLaw_IN_Flight:
1456-
if ((*rtu_In_H_radio_ft <= 50.0) || (rtb_ManualSwitch == 1.0)) {
1457-
PitchNormalLaw_B.flare_Theta_c_rate_deg_s = -1000.0;
1456+
if ((*rtu_In_H_radio_ft <= 100.0) || (rtb_ManualSwitch == 1.0)) {
1457+
PitchNormalLaw_B.flare_Theta_c_rate_deg_s = 0.0;
14581458
PitchNormalLaw_B.flare_Theta_c_deg = rtb_Y_j;
14591459
PitchNormalLaw_DWork.is_c2_PitchNormalLaw = PitchNormalLaw_IN_Flare_Prepare;
14601460
rtb_in_flare = 0;
@@ -1469,8 +1469,8 @@ void PitchNormalLaw::step(const real_T *rtu_In_time_dt, const real_T *rtu_In_nz_
14691469
rtb_in_flare = 0;
14701470
} else {
14711471
rtb_in_flare = 0;
1472-
PitchNormalLaw_B.flare_Theta_c_deg = -2.0;
1473-
PitchNormalLaw_B.flare_Theta_c_rate_deg_s = -1000.0;
1472+
PitchNormalLaw_B.flare_Theta_c_deg = 0.0;
1473+
PitchNormalLaw_B.flare_Theta_c_rate_deg_s = 0.0;
14741474
}
14751475
break;
14761476
}

0 commit comments

Comments
 (0)