From f32a5b098961af947c0c87ea4ed40b2c94775a5f Mon Sep 17 00:00:00 2001 From: Christopher Burnett Date: Fri, 1 Jan 2021 13:46:38 -0700 Subject: [PATCH 01/85] block vsi carot in GP as well as VPATH --- .../Pages/VCockpit/Instruments/Airliners/CJ4/PFD/CJ4_PFD.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/PFD/CJ4_PFD.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/PFD/CJ4_PFD.js index 584032c180..336ec017a6 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/PFD/CJ4_PFD.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/PFD/CJ4_PFD.js @@ -639,7 +639,7 @@ class CJ4_VSpeed extends NavSystemElement { var vSpeed = Math.round(Simplane.getVerticalSpeed()); this.vsi.setAttribute("vspeed", vSpeed.toString()); - if (Simplane.getAutoPilotVerticalSpeedHoldActive() && fmaValues.verticalMode !== 'VPATH') { + if (Simplane.getAutoPilotVerticalSpeedHoldActive() && (fmaValues.verticalMode !== 'VPATH' || fmaValues.verticalMode !== 'GP')) { let selVSpeed = Math.round(Simplane.getAutoPilotVerticalSpeedHoldValue()); this.vsi.setAttribute("selected_vspeed", selVSpeed.toString()); this.vsi.setAttribute("selected_vspeed_active", "true"); From 90a53da3f56d327ba33796cad34033fa98b20667 Mon Sep 17 00:00:00 2001 From: Christopher Burnett Date: Fri, 1 Jan 2021 13:47:03 -0700 Subject: [PATCH 02/85] added vgp to block vs carot --- .../Pages/VCockpit/Instruments/Airliners/CJ4/PFD/CJ4_PFD.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/PFD/CJ4_PFD.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/PFD/CJ4_PFD.js index 336ec017a6..e8b7e0d382 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/PFD/CJ4_PFD.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/PFD/CJ4_PFD.js @@ -639,7 +639,7 @@ class CJ4_VSpeed extends NavSystemElement { var vSpeed = Math.round(Simplane.getVerticalSpeed()); this.vsi.setAttribute("vspeed", vSpeed.toString()); - if (Simplane.getAutoPilotVerticalSpeedHoldActive() && (fmaValues.verticalMode !== 'VPATH' || fmaValues.verticalMode !== 'GP')) { + if (Simplane.getAutoPilotVerticalSpeedHoldActive() && (fmaValues.verticalMode !== 'VPATH' || fmaValues.verticalMode !== 'GP' || fmaValues.verticalMode !== 'VGP')) { let selVSpeed = Math.round(Simplane.getAutoPilotVerticalSpeedHoldValue()); this.vsi.setAttribute("selected_vspeed", selVSpeed.toString()); this.vsi.setAttribute("selected_vspeed_active", "true"); From 43b0e7c170a56d370f9b578ca47ecd2f6bb990f7 Mon Sep 17 00:00:00 2001 From: Christopher Burnett Date: Fri, 1 Jan 2021 13:49:42 -0700 Subject: [PATCH 03/85] moved V speed reset from onLanding to new origin --- .../Instruments/Airliners/CJ4/FMC/CJ4_FMC_FplnRecallPage.js | 6 ++++++ .../Instruments/Airliners/CJ4/FMC/CJ4_FMC_RoutePage.js | 6 ++++++ .../Airliners/CJ4/Shared/Autopilot/CJ4NavModeSelector.js | 6 ------ 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_FplnRecallPage.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_FplnRecallPage.js index d0f46fd3b1..26b86772e9 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_FplnRecallPage.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_FplnRecallPage.js @@ -55,6 +55,12 @@ class CJ4_FMC_FplnRecallPage { fmc.flightPlanManager.resumeSync(); fmc.flightPlanManager.setActiveWaypointIndex(1); SimVar.SetSimVarValue("L:WT_CJ4_INHIBIT_SEQUENCE", "number", 0); + SimVar.SetSimVarValue("L:WT_CJ4_VAP", "knots", 0); + SimVar.SetSimVarValue("L:WT_CJ4_V1_SPEED", "knots", 0); + SimVar.SetSimVarValue("L:WT_CJ4_VR_SPEED", "knots", 0); + SimVar.SetSimVarValue("L:WT_CJ4_V2_SPEED", "knots", 0); + SimVar.SetSimVarValue("L:WT_CJ4_VT_SPEED", "knots", 0); + SimVar.SetSimVarValue("L:WT_CJ4_VREF_SPEED", "knots", 0); CJ4_FMC_RoutePage.ShowPage1(fmc); return; } diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_RoutePage.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_RoutePage.js index fdbf0828ac..cb3ce62847 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_RoutePage.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_RoutePage.js @@ -397,6 +397,12 @@ class CJ4_FMC_RoutePage { this._fmc.setMsg(); this._fmc.fpHasChanged = true; SimVar.SetSimVarValue("L:WT_CJ4_INHIBIT_SEQUENCE", "number", 0); + SimVar.SetSimVarValue("L:WT_CJ4_VAP", "knots", 0); + SimVar.SetSimVarValue("L:WT_CJ4_V1_SPEED", "knots", 0); + SimVar.SetSimVarValue("L:WT_CJ4_VR_SPEED", "knots", 0); + SimVar.SetSimVarValue("L:WT_CJ4_V2_SPEED", "knots", 0); + SimVar.SetSimVarValue("L:WT_CJ4_VT_SPEED", "knots", 0); + SimVar.SetSimVarValue("L:WT_CJ4_VREF_SPEED", "knots", 0); this.update(true); } }); diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/Shared/Autopilot/CJ4NavModeSelector.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/Shared/Autopilot/CJ4NavModeSelector.js index 1033031823..4a044ef819 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/Shared/Autopilot/CJ4NavModeSelector.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/Shared/Autopilot/CJ4NavModeSelector.js @@ -277,12 +277,6 @@ class CJ4NavModeSelector { SimVar.SetSimVarValue("K:ALTITUDE_SLOT_INDEX_SET", "number", 1); SimVar.SetSimVarValue("K:VS_SLOT_INDEX_SET", "number", 1); - SimVar.SetSimVarValue("L:WT_CJ4_VAP", "knots", 0); - SimVar.SetSimVarValue("L:WT_CJ4_V1_SPEED", "knots", 0); - SimVar.SetSimVarValue("L:WT_CJ4_VR_SPEED", "knots", 0); - SimVar.SetSimVarValue("L:WT_CJ4_V2_SPEED", "knots", 0); - SimVar.SetSimVarValue("L:WT_CJ4_VT_SPEED", "knots", 0); - SimVar.SetSimVarValue("L:WT_CJ4_VREF_SPEED", "knots", 0); } } From a8bb8e751829a3badcc59dfb105522a7b48b61cf Mon Sep 17 00:00:00 2001 From: Christopher Burnett Date: Fri, 1 Jan 2021 13:51:48 -0700 Subject: [PATCH 04/85] new fmc.resetVspeeds(); method to replace simvar sets --- .../VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC.js | 9 +++++++++ .../Airliners/CJ4/FMC/CJ4_FMC_FplnRecallPage.js | 7 +------ .../Instruments/Airliners/CJ4/FMC/CJ4_FMC_RoutePage.js | 7 +------ 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC.js index 080c18edec..835029a59f 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC.js @@ -739,6 +739,15 @@ class CJ4_FMC extends FMCMainDisplay { } } + resetVspeeds() { + SimVar.SetSimVarValue("L:WT_CJ4_VAP", "knots", 0); + SimVar.SetSimVarValue("L:WT_CJ4_V1_SPEED", "knots", 0); + SimVar.SetSimVarValue("L:WT_CJ4_VR_SPEED", "knots", 0); + SimVar.SetSimVarValue("L:WT_CJ4_V2_SPEED", "knots", 0); + SimVar.SetSimVarValue("L:WT_CJ4_VT_SPEED", "knots", 0); + SimVar.SetSimVarValue("L:WT_CJ4_VREF_SPEED", "knots", 0); + } + updateFlightLog() { if (this._frameUpdates % 30 == 0) { const takeOffTime = SimVar.GetSimVarValue("L:TAKEOFF_TIME", "seconds"); diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_FplnRecallPage.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_FplnRecallPage.js index 26b86772e9..b5ba739b16 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_FplnRecallPage.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_FplnRecallPage.js @@ -55,12 +55,7 @@ class CJ4_FMC_FplnRecallPage { fmc.flightPlanManager.resumeSync(); fmc.flightPlanManager.setActiveWaypointIndex(1); SimVar.SetSimVarValue("L:WT_CJ4_INHIBIT_SEQUENCE", "number", 0); - SimVar.SetSimVarValue("L:WT_CJ4_VAP", "knots", 0); - SimVar.SetSimVarValue("L:WT_CJ4_V1_SPEED", "knots", 0); - SimVar.SetSimVarValue("L:WT_CJ4_VR_SPEED", "knots", 0); - SimVar.SetSimVarValue("L:WT_CJ4_V2_SPEED", "knots", 0); - SimVar.SetSimVarValue("L:WT_CJ4_VT_SPEED", "knots", 0); - SimVar.SetSimVarValue("L:WT_CJ4_VREF_SPEED", "knots", 0); + fmc.resetVspeeds(); CJ4_FMC_RoutePage.ShowPage1(fmc); return; } diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_RoutePage.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_RoutePage.js index cb3ce62847..2745df9b3f 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_RoutePage.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_RoutePage.js @@ -397,12 +397,7 @@ class CJ4_FMC_RoutePage { this._fmc.setMsg(); this._fmc.fpHasChanged = true; SimVar.SetSimVarValue("L:WT_CJ4_INHIBIT_SEQUENCE", "number", 0); - SimVar.SetSimVarValue("L:WT_CJ4_VAP", "knots", 0); - SimVar.SetSimVarValue("L:WT_CJ4_V1_SPEED", "knots", 0); - SimVar.SetSimVarValue("L:WT_CJ4_VR_SPEED", "knots", 0); - SimVar.SetSimVarValue("L:WT_CJ4_V2_SPEED", "knots", 0); - SimVar.SetSimVarValue("L:WT_CJ4_VT_SPEED", "knots", 0); - SimVar.SetSimVarValue("L:WT_CJ4_VREF_SPEED", "knots", 0); + this._fmc.resetVspeeds(); this.update(true); } }); From e9ee4d159368126dc4f3aec5f84e8dc7a7ac16e9 Mon Sep 17 00:00:00 2001 From: Christopher Burnett Date: Fri, 1 Jan 2021 13:57:52 -0700 Subject: [PATCH 05/85] create FMC method for reset fuel used and call that method when new flight plan --- .../VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC.js | 10 ++++++++++ .../Airliners/CJ4/FMC/CJ4_FMC_FplnRecallPage.js | 1 + .../Airliners/CJ4/FMC/CJ4_FMC_FuelMgmtPage.js | 3 +-- .../Instruments/Airliners/CJ4/FMC/CJ4_FMC_RoutePage.js | 1 + 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC.js index 835029a59f..51659b0c5b 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC.js @@ -739,6 +739,7 @@ class CJ4_FMC extends FMCMainDisplay { } } + //METHOD TO RESET VSPEEDS ON NEW FPLN ENTRY/LOAD resetVspeeds() { SimVar.SetSimVarValue("L:WT_CJ4_VAP", "knots", 0); SimVar.SetSimVarValue("L:WT_CJ4_V1_SPEED", "knots", 0); @@ -748,6 +749,15 @@ class CJ4_FMC extends FMCMainDisplay { SimVar.SetSimVarValue("L:WT_CJ4_VREF_SPEED", "knots", 0); } + //METHOD TO RESET FUEL USED ON FLIGHT START AND ON FPLN LOAD AND WITH BUTTON PRESS IN FUEL MGMT + resetFuelUsed() { + const fuelWeight = 6.7; + const fuelQuantityLeft = Math.trunc(fuelWeight * SimVar.GetSimVarValue("FUEL LEFT QUANTITY", "Gallons")); + const fuelQuantityRight = Math.trunc(fuelWeight * SimVar.GetSimVarValue("FUEL RIGHT QUANTITY", "Gallons")); + this.initialFuelLeft = fuelQuantityLeft; + this.initialFuelRight = fuelQuantityRight; + } + updateFlightLog() { if (this._frameUpdates % 30 == 0) { const takeOffTime = SimVar.GetSimVarValue("L:TAKEOFF_TIME", "seconds"); diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_FplnRecallPage.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_FplnRecallPage.js index b5ba739b16..9ed21abb8b 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_FplnRecallPage.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_FplnRecallPage.js @@ -56,6 +56,7 @@ class CJ4_FMC_FplnRecallPage { fmc.flightPlanManager.setActiveWaypointIndex(1); SimVar.SetSimVarValue("L:WT_CJ4_INHIBIT_SEQUENCE", "number", 0); fmc.resetVspeeds(); + fmc.resetFuelUsed(); CJ4_FMC_RoutePage.ShowPage1(fmc); return; } diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_FuelMgmtPage.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_FuelMgmtPage.js index 92f21f391c..9549a0b887 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_FuelMgmtPage.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_FuelMgmtPage.js @@ -225,8 +225,7 @@ class CJ4_FMC_FuelMgmtPageTwo { bindEvents() { this._fmc.onLeftInput[4] = () => { - this._fmc.initialFuelLeft = this._fuelQuantityLeft; - this._fmc.initialFuelRight = this._fuelQuantityRight; + this._fmc.resetFuelUsed(); }; this._fmc.onPrevPage = () => { CJ4_FMC_FuelMgmtPage.ShowPage1(this._fmc); }; diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_RoutePage.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_RoutePage.js index 2745df9b3f..2874d2a542 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_RoutePage.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_RoutePage.js @@ -398,6 +398,7 @@ class CJ4_FMC_RoutePage { this._fmc.fpHasChanged = true; SimVar.SetSimVarValue("L:WT_CJ4_INHIBIT_SEQUENCE", "number", 0); this._fmc.resetVspeeds(); + this._fmc.resetFuelUsed(); this.update(true); } }); From dade9c1fc2bc34e95f3d6f70bfb19f16abef74bc Mon Sep 17 00:00:00 2001 From: Christopher Burnett Date: Fri, 1 Jan 2021 14:12:35 -0700 Subject: [PATCH 06/85] added condition to prevent vnav inhibition on altc IF GP has been armed --- .../Airliners/CJ4/Shared/Autopilot/WT_BaseLnav.js | 2 +- .../Airliners/CJ4/Shared/Autopilot/WT_VnavAutopilot.js | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/Shared/Autopilot/WT_BaseLnav.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/Shared/Autopilot/WT_BaseLnav.js index a0ce02c15f..2ef02440b5 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/Shared/Autopilot/WT_BaseLnav.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/Shared/Autopilot/WT_BaseLnav.js @@ -411,7 +411,7 @@ class WT_BaseLnav { const runway = this.getRunway(); const segment = this._fpm.getSegmentFromWaypoint(currentWaypoint); - if ((fafDistance <= 3 || (currentWaypoint && currentWaypoint.isRunway)) && segment.type === SegmentType.Approach) { + if (((fafDistance <= 3 || (currentWaypoint && currentWaypoint.isRunway))) && segment.type === SegmentType.Approach) { if (this._navModeSelector.currentLateralActiveState === LateralNavModeState.APPR && this._navModeSelector.approachMode === WT_ApproachType.RNAV) { return NavSensitivity.APPROACHLPV; } diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/Shared/Autopilot/WT_VnavAutopilot.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/Shared/Autopilot/WT_VnavAutopilot.js index 735367a9d1..d60efa1c1d 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/Shared/Autopilot/WT_VnavAutopilot.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/Shared/Autopilot/WT_VnavAutopilot.js @@ -42,8 +42,13 @@ class WT_VnavAutopilot { update() { //We are intercepting the constraint, inhibit execution until we change path conditions if (this._pathActive === true && this._navModeSelector.currentVerticalActiveState === VerticalNavModeState.ALTC && this._inhibitExecute !== true) { - this._inhibitExecute = true; - SimVar.SetSimVarValue("L:WT_VNAV_PATH_STATUS", "number", 0); + if (this._navModeSelector.currentVerticalArmedStates[0] = VerticalNavModeState.GP) { + this._inhibitExecute = false; + SimVar.SetSimVarValue("L:WT_VNAV_PATH_STATUS", "number", 1); + } else { + this._inhibitExecute = true; + SimVar.SetSimVarValue("L:WT_VNAV_PATH_STATUS", "number", 0); + } } if (this._vnav._vnavCalculating) { From 60ad1c4cd58cd4197fbdd4c22bd7c98e048c45ab Mon Sep 17 00:00:00 2001 From: Christopher Burnett Date: Fri, 1 Jan 2021 14:41:05 -0700 Subject: [PATCH 07/85] fixed bug in approach ref not showing headwind/tailwind --- .../Instruments/Airliners/CJ4/FMC/CJ4_FMC_ApproachRefPage.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_ApproachRefPage.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_ApproachRefPage.js index 5bb1b1c0c8..4df4b2ffa7 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_ApproachRefPage.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_ApproachRefPage.js @@ -52,7 +52,7 @@ class CJ4_FMC_ApproachRefPage { : crosswind < 0 ? "R" : ""; headwindDirection = headwind > 0 ? "H" - : crosswind < 0 ? "T" + : headwind < 0 ? "T" : ""; headwind = Math.abs(headwind); crosswind = Math.abs(crosswind); From 012427574d111c1b5f3a639ba847cf182687b149 Mon Sep 17 00:00:00 2001 From: Christopher Burnett Date: Fri, 1 Jan 2021 14:45:29 -0700 Subject: [PATCH 08/85] fix cruise alt cell in perf init --- .../Instruments/Airliners/CJ4/FMC/CJ4_FMC_PerfInitPage.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_PerfInitPage.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_PerfInitPage.js index 3f42fefb98..8f9055ed68 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_PerfInitPage.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_PerfInitPage.js @@ -60,11 +60,13 @@ class CJ4_FMC_PerfInitPage { const grossWeightText = gwtValueUnit.Value.toFixed(0) + " " + gwtValueUnit.Unit + "[s-text]"; const bowText = fmc.zFWActive == 1 ? " -----": " " + WT_ConvertUnit.getWeight(bow).Value.toFixed(0) + "[d-text]" + unitText + "[s-text]"; const paxText = fmc.zFWActive == 1 ? "--/--" : fmc.paxNumber + paxLabel; + const transitionFL = 180; + const cruiseAltText = crzAltCell == "□□□□□" ? "□□□□□" : crzAltCell < transitionFL ? crzAltCell * 100 : "FL" + crzAltCell; fmc._templateRenderer.setTemplateRaw([ [" ACT PERF INIT[blue]","",""], [" BOW[blue]", "CRZ ALT[blue] "], - [bowText, "FL" + crzAltCell], + [bowText, cruiseAltText + ""], [" PASS/WT[blue]"], [" " + paxText], [" CARGO[blue]", "= ZFW[blue] "], From 987c2dc8d8dc002d9d72e4cccff4c09d92d00738 Mon Sep 17 00:00:00 2001 From: dga711 Date: Sat, 2 Jan 2021 13:12:22 +0100 Subject: [PATCH 09/85] set up 085 readme --- docs/workingtitle-cj4/CHANGES.md | 17 +++---- .../Working Title CJ4 v0.8.2 Changes.md | 46 ++++++++++++++++++ .../Working Title CJ4 v0.8.3 Changes.md | 48 +++++++++++++++++++ 3 files changed, 103 insertions(+), 8 deletions(-) create mode 100644 docs/workingtitle-cj4/Working Title CJ4 v0.8.2 Changes.md create mode 100644 docs/workingtitle-cj4/Working Title CJ4 v0.8.3 Changes.md diff --git a/docs/workingtitle-cj4/CHANGES.md b/docs/workingtitle-cj4/CHANGES.md index 573ebbbcb9..f171b72a43 100644 --- a/docs/workingtitle-cj4/CHANGES.md +++ b/docs/workingtitle-cj4/CHANGES.md @@ -1,6 +1,6 @@ -# Working Title CJ4 v0.8.2 Changes +# Working Title CJ4 v0.8.5 Changes -Welcome to the Working Title CJ4 v0.8.2. This is a point release to address compatibility with MSFS 1.12.13.0 (VR Update). +Welcome to the Working Title CJ4 v0.8.5 ## Installation Installation is easy, simply copy the `workingtitle-aircraft-cj4` folder inside the zip file to your MSFS Community folder. @@ -19,15 +19,16 @@ To then load the plan into the FMS you can either enter it manually or use the _ Due to the increased accuracy and capabilities of the FMC managed flight plan, you may find that the sync to the game does not always work as expected or does not reflect the FMC flight plan. ## KEY FEATURES -* Compatibility with MSFS 1.12.13.0 +* ... + +## FMS +* ... ## FMC -* Fixed an issue where FPLN and LEGS would not show modifications unless the page was changed under certain conditions -* FMC should now be able to continue to be used even on page error in most circumstances +* ... -## Flight Plan Import -* Fixed an issue where game flight plans with blank ICAO legs would cause the plan to fail to load -* Simbrief plans with 3 letter ICAO airports prefixed with K should now properly load +## Autopilot +* ... ## ⚠️ Known Issues * Sync to the game flightplan (ATC/VFR Map) is very much work in progress and turned off by default. You can enable this feature in MOD SETTINGS on the FMC. diff --git a/docs/workingtitle-cj4/Working Title CJ4 v0.8.2 Changes.md b/docs/workingtitle-cj4/Working Title CJ4 v0.8.2 Changes.md new file mode 100644 index 0000000000..573ebbbcb9 --- /dev/null +++ b/docs/workingtitle-cj4/Working Title CJ4 v0.8.2 Changes.md @@ -0,0 +1,46 @@ +# Working Title CJ4 v0.8.2 Changes + +Welcome to the Working Title CJ4 v0.8.2. This is a point release to address compatibility with MSFS 1.12.13.0 (VR Update). + +## Installation +Installation is easy, simply copy the `workingtitle-aircraft-cj4` folder inside the zip file to your MSFS Community folder. + +**Important: We recommend that you fully delete the previous `workingtitle-aircraft-cj4` folder before copying this release.** + +## Default Livery Conflicts +The alternate default liveries that now ship with MSFS are not compatible with the CJ4 yet at this time. They currently ship with panel.cfg files that do not include our FADEC module. Please use the standard livery or a known compatible 3rd party or community livery. + +## Remarks to flight plan synchronization between the Game and FMS +Our recommendation is to keep FP Sync _off_. +You can still "file" your flight plan to ATC by entering it in the world map of MSFS and it will remain visible to ATC/VFR. + +To then load the plan into the FMS you can either enter it manually or use the _FPLN RECALL (GAME/SB)_ option in _IDX -> PAGE2 -> ROUTE MENU_ + +Due to the increased accuracy and capabilities of the FMC managed flight plan, you may find that the sync to the game does not always work as expected or does not reflect the FMC flight plan. + +## KEY FEATURES +* Compatibility with MSFS 1.12.13.0 + +## FMC +* Fixed an issue where FPLN and LEGS would not show modifications unless the page was changed under certain conditions +* FMC should now be able to continue to be used even on page error in most circumstances + +## Flight Plan Import +* Fixed an issue where game flight plans with blank ICAO legs would cause the plan to fail to load +* Simbrief plans with 3 letter ICAO airports prefixed with K should now properly load + +## ⚠️ Known Issues +* Sync to the game flightplan (ATC/VFR Map) is very much work in progress and turned off by default. You can enable this feature in MOD SETTINGS on the FMC. +* Some external applications that use the GPS/Flight plan SimVars may not function correctly or as expected. +* Loading and saving flights can have bad results. +* Custom liveries can render FADEC inoperative if they ship with a panel.cfg. You must uninstall them or remove their panel.cfg from the livery folder. This is a limitation of the Asobo livery system. +* Autopilot modes cannot be triggered via keybindings or controllers and must currently be triggered in the cockpit with the mouse. +* TOD sometimes will flash on the PFD during an approach. +* Sometimes a heading to altitude instruction on takeoff will display further than the first RNAV fix on an RNAV departure procedure; in these cases the workaround is to cross-check the DP chart and remove the erronious waypoint either by deleting the heading to altitude fix or dropping the first RNAV fix onto the magenta line in the LEGS page. +* Due to sim autopilot bank rate limitations, the aircraft may overshoot on certain RNP approaches with tight turns. If you encounter this, we recommend handflying the approach with the given lateral and vertical guidance. +* Sometimes when turning more than 90 degrees onto an approach segment, VNAV might give a NOPATH condition because it sees that you are too high. Engage FLC or VS and descend down and it should recapture the path. +* Very long legs may display some constant cross track deviation on the map and course needles. The plane will still track properly towards the fix. This will be addressed later in the beta. +* The FMS now builds turn anticipation into direct-to course projection. However, you will still encounter some overshoot beyond 90 or so degrees. +* If for whatever reason, you find that VNAV is not behaving as expected, try and turn it off and on again. + +### 🎅 Have fun! 🎅 diff --git a/docs/workingtitle-cj4/Working Title CJ4 v0.8.3 Changes.md b/docs/workingtitle-cj4/Working Title CJ4 v0.8.3 Changes.md new file mode 100644 index 0000000000..b36708d498 --- /dev/null +++ b/docs/workingtitle-cj4/Working Title CJ4 v0.8.3 Changes.md @@ -0,0 +1,48 @@ +# Working Title CJ4 v0.8.3 Changes + +Welcome to the Working Title CJ4 v0.8.3. This is a point release to primarily address pitch oscillations during climb and cruise. + +## Installation +Installation is easy, simply copy the `workingtitle-aircraft-cj4` folder inside the zip file to your MSFS Community folder. + +**Important: We recommend that you fully delete the previous `workingtitle-aircraft-cj4` folder before copying this release.** + +## Default Livery Conflicts +The alternate default liveries that now ship with MSFS are not compatible with the CJ4 yet at this time. They currently ship with panel.cfg files that do not include our FADEC module. Please use the standard livery or a known compatible 3rd party or community livery. + +## Remarks to flight plan synchronization between the Game and FMS +Our recommendation is to keep FP Sync _off_. +You can still "file" your flight plan to ATC by entering it in the world map of MSFS and it will remain visible to ATC/VFR. + +To then load the plan into the FMS you can either enter it manually or use the _FPLN RECALL (GAME/SB)_ option in _IDX -> PAGE2 -> ROUTE MENU_ + +Due to the increased accuracy and capabilities of the FMC managed flight plan, you may find that the sync to the game does not always work as expected or does not reflect the FMC flight plan. + +## KEY FEATURES +* Adjustments to autopilot controller gains to address pitch oscillations + +## FMS +* FMS will now continue to sequence even when the active nav source is not FMS +* FMS will no longer sequence past the destination runway fix even if you fly beyond it + +## FMC +* FPLN page will now properly accept airways following the departure fix + +## Autopilot +* Adjusted pitch PID gains to eliminate oscillation under certain conditions + +## ⚠️ Known Issues +* Sync to the game flightplan (ATC/VFR Map) is very much work in progress and turned off by default. You can enable this feature in MOD SETTINGS on the FMC. +* Some external applications that use the GPS/Flight plan SimVars may not function correctly or as expected. +* Loading and saving flights can have bad results. +* Custom liveries can render FADEC inoperative if they ship with a panel.cfg. You must uninstall them or remove their panel.cfg from the livery folder. This is a limitation of the Asobo livery system. +* Autopilot modes cannot be triggered via keybindings or controllers and must currently be triggered in the cockpit with the mouse. +* TOD sometimes will flash on the PFD during an approach. +* Sometimes a heading to altitude instruction on takeoff will display further than the first RNAV fix on an RNAV departure procedure; in these cases the workaround is to cross-check the DP chart and remove the erronious waypoint either by deleting the heading to altitude fix or dropping the first RNAV fix onto the magenta line in the LEGS page. +* Due to sim autopilot bank rate limitations, the aircraft may overshoot on certain RNP approaches with tight turns. If you encounter this, we recommend handflying the approach with the given lateral and vertical guidance. +* Sometimes when turning more than 90 degrees onto an approach segment, VNAV might give a NOPATH condition because it sees that you are too high. Engage FLC or VS and descend down and it should recapture the path. +* Very long legs may display some constant cross track deviation on the map and course needles. The plane will still track properly towards the fix. This will be addressed later in the beta. +* The FMS now builds turn anticipation into direct-to course projection. However, you will still encounter some overshoot beyond 90 or so degrees. +* If for whatever reason, you find that VNAV is not behaving as expected, try and turn it off and on again. + +### 🎅 Have fun! 🎅 From 2549342fd530295fea3d5ab0607f3341d044238f Mon Sep 17 00:00:00 2001 From: dga711 Date: Sat, 2 Jan 2021 13:12:52 +0100 Subject: [PATCH 10/85] update about to 085 --- .../Instruments/Airliners/CJ4/FMC/CJ4_FMC_InitRefIndexPage.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_InitRefIndexPage.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_InitRefIndexPage.js index 5a69cf5e08..e66fce2bd6 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_InitRefIndexPage.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_InitRefIndexPage.js @@ -1235,7 +1235,7 @@ class CJ4_FMC_InitRefIndexPage { ["Working-Title-MSFS-Mods[white s-text]"], [""], [" VERSION[blue]"], - ["0.8.2[s-text white]"], + ["0.8.5[s-text white]"], [""], [""], [""], From a5e4e989369b3a9dba7e856da758eac4c58c08eb Mon Sep 17 00:00:00 2001 From: dga711 Date: Sat, 2 Jan 2021 13:13:36 +0100 Subject: [PATCH 11/85] update package versions to 085 --- PackageDefinitions/workingtitle-aircraft-cj4-metapackage.xml | 2 +- PackageDefinitions/workingtitle-aircraft-cj4.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/PackageDefinitions/workingtitle-aircraft-cj4-metapackage.xml b/PackageDefinitions/workingtitle-aircraft-cj4-metapackage.xml index ae7f51a6a2..ef9c9ba288 100644 --- a/PackageDefinitions/workingtitle-aircraft-cj4-metapackage.xml +++ b/PackageDefinitions/workingtitle-aircraft-cj4-metapackage.xml @@ -1,4 +1,4 @@ - + CUSTOM CJ4 diff --git a/PackageDefinitions/workingtitle-aircraft-cj4.xml b/PackageDefinitions/workingtitle-aircraft-cj4.xml index e74aadce20..1b5d08b22d 100644 --- a/PackageDefinitions/workingtitle-aircraft-cj4.xml +++ b/PackageDefinitions/workingtitle-aircraft-cj4.xml @@ -1,4 +1,4 @@ - + CUSTOM CJ4 From 68237295f64107f1145bb0c98d6b2dcfb9f893fa Mon Sep 17 00:00:00 2001 From: dga711 Date: Sat, 2 Jan 2021 14:16:16 +0100 Subject: [PATCH 12/85] remove some stray fs9gps calls --- .../src/flightplanning/FlightPlanManager.ts | 8 ++-- .../src/flightplanning/ManagedFlightPlan.ts | 39 +++++++++---------- 2 files changed, 23 insertions(+), 24 deletions(-) diff --git a/src/wtsdk/src/flightplanning/FlightPlanManager.ts b/src/wtsdk/src/flightplanning/FlightPlanManager.ts index 9507868287..2c96748839 100644 --- a/src/wtsdk/src/flightplanning/FlightPlanManager.ts +++ b/src/wtsdk/src/flightplanning/FlightPlanManager.ts @@ -1,5 +1,5 @@ import { BaseInstrument, SimVar, EmptyCallback, LatLongAlt, Avionics, AirportInfo, WayPoint, OneWayRunway, Simplane, Coherent } from 'MSFS'; -import { ManagedFlightPlan, GPS } from '../wtsdk'; +import { ManagedFlightPlan } from '../wtsdk'; import { FlightPlanSegment } from './FlightPlanSegment'; import { FlightPlanAsoboSync } from './FlightPlanAsoboSync'; import { LZUTF8, WTDataStore } from 'WorkingTitle' @@ -193,7 +193,7 @@ export class FlightPlanManager { this._flightPlans[index] = copiedFlightPlan; if (index === 0) { - await GPS.setActiveWaypoint(activeWaypointIndex); + //await GPS.setActiveWaypoint(activeWaypointIndex); } this._updateFlightPlanVersion(); @@ -212,7 +212,7 @@ export class FlightPlanManager { this._flightPlans[this._currentFlightPlanIndex] = copiedFlightPlan; if (this._currentFlightPlanIndex === 0) { - await GPS.setActiveWaypoint(activeWaypointIndex); + //await GPS.setActiveWaypoint(activeWaypointIndex); } this._updateFlightPlanVersion(); @@ -1157,7 +1157,7 @@ export class FlightPlanManager { public async activateApproach(callback = EmptyCallback.Void): Promise { const currentFlightPlan = this._flightPlans[this._currentFlightPlanIndex]; if (!this.isActiveApproach()) { - await GPS.setActiveWaypoint(currentFlightPlan.approach.offset); + //await GPS.setActiveWaypoint(currentFlightPlan.approach.offset); } callback(); diff --git a/src/wtsdk/src/flightplanning/ManagedFlightPlan.ts b/src/wtsdk/src/flightplanning/ManagedFlightPlan.ts index 79bfc0948d..1b08dcb5f3 100644 --- a/src/wtsdk/src/flightplanning/ManagedFlightPlan.ts +++ b/src/wtsdk/src/flightplanning/ManagedFlightPlan.ts @@ -1,7 +1,6 @@ import { SegmentType, FlightPlanSegment } from './FlightPlanSegment'; import { LegsProcedure } from './LegsProcedure'; import { RawDataMapper } from './RawDataMapper'; -import { GPS } from './GPS'; import { ProcedureDetails } from './ProcedureDetails'; import { DirectTo } from './DirectTo'; import { WayPoint, BaseInstrument, WayPointInfo, VORInfo, NDBInfo, IntersectionInfo, AirportInfo, LatLongAlt, Avionics, SimVar, OneWayRunway } from 'MSFS'; @@ -132,7 +131,7 @@ export class ManagedFlightPlan { this.procedureDetails = new ProcedureDetails(); this.directTo = new DirectTo(); - await GPS.clearPlan(); + //await GPS.clearPlan(); this._segments = [new FlightPlanSegment(SegmentType.Enroute, 0, [])]; } @@ -140,24 +139,24 @@ export class ManagedFlightPlan { * Syncs the flight plan to FS9GPS. */ public async syncToGPS(): Promise { - await GPS.clearPlan(); - for (var i = 0; i < this.waypoints.length; i++) { - const waypoint = this.waypoints[i]; - - if (waypoint.icao && waypoint.icao.trim() !== '') { - await GPS.addIcaoWaypoint(waypoint.icao, i); - } - else { - await GPS.addUserWaypoint(waypoint.infos.coordinates.lat, waypoint.infos.coordinates.long, i, waypoint.ident); - } - - if (waypoint.endsInDiscontinuity) { - break; - } - } - - await GPS.setActiveWaypoint(this.activeWaypointIndex); - await GPS.logCurrentPlan(); + // await GPS.clearPlan(); + // for (var i = 0; i < this.waypoints.length; i++) { + // const waypoint = this.waypoints[i]; + + // if (waypoint.icao && waypoint.icao.trim() !== '') { + // await GPS.addIcaoWaypoint(waypoint.icao, i); + // } + // else { + // await GPS.addUserWaypoint(waypoint.infos.coordinates.lat, waypoint.infos.coordinates.long, i, waypoint.ident); + // } + + // if (waypoint.endsInDiscontinuity) { + // break; + // } + // } + + // await GPS.setActiveWaypoint(this.activeWaypointIndex); + // await GPS.logCurrentPlan(); } /** From 2678b5511cd0dcd9096f24dff0197fb8a6cd3cf3 Mon Sep 17 00:00:00 2001 From: Christopher Burnett Date: Sat, 2 Jan 2021 09:56:31 -0700 Subject: [PATCH 13/85] change version numbers --- PackageDefinitions/workingtitle-aircraft-cj4-metapackage.xml | 2 +- build.ps1 | 2 +- .../Instruments/Airliners/CJ4/FMC/CJ4_FMC_InitRefIndexPage.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/PackageDefinitions/workingtitle-aircraft-cj4-metapackage.xml b/PackageDefinitions/workingtitle-aircraft-cj4-metapackage.xml index ae7f51a6a2..ef9c9ba288 100644 --- a/PackageDefinitions/workingtitle-aircraft-cj4-metapackage.xml +++ b/PackageDefinitions/workingtitle-aircraft-cj4-metapackage.xml @@ -1,4 +1,4 @@ - + CUSTOM CJ4 diff --git a/build.ps1 b/build.ps1 index 25656ecbba..601b2e62cb 100755 --- a/build.ps1 +++ b/build.ps1 @@ -1,7 +1,7 @@ param ( [Parameter(Mandatory = $true)][string]$Project, [string]$Package, - [string]$MinimumGameVersion = "1.10.7", + [string]$MinimumGameVersion = "1.12.13", [string]$OutputPath = ".\build\", [switch]$WatchFiles = $false, [switch]$CleanBuild = $false diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_InitRefIndexPage.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_InitRefIndexPage.js index 5a69cf5e08..e66fce2bd6 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_InitRefIndexPage.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC_InitRefIndexPage.js @@ -1235,7 +1235,7 @@ class CJ4_FMC_InitRefIndexPage { ["Working-Title-MSFS-Mods[white s-text]"], [""], [" VERSION[blue]"], - ["0.8.2[s-text white]"], + ["0.8.5[s-text white]"], [""], [""], [""], From c34bf7a07222d4be8a66de5465a8afb78fc5334a Mon Sep 17 00:00:00 2001 From: DG Date: Sat, 2 Jan 2021 19:45:46 +0100 Subject: [PATCH 14/85] CJ4: Implement correct COM(2) switch behavior (#755) * com: fix circuits * bind com2 button to enable receive * implement correct COM switch behavior --- .../SimObjects/Airplanes/Asobo_CJ4/apron.flt | 4 +-- .../Airplanes/Asobo_CJ4/model/CJ4_Cockpit.xml | 28 ++++++++++++++++++- .../SimObjects/Airplanes/Asobo_CJ4/runway.FLT | 4 +-- .../Airplanes/Asobo_CJ4/systems.cfg | 6 ++-- .../SimObjects/Airplanes/Asobo_CJ4/taxi.flt | 4 +-- .../Instruments/Airliners/CJ4/FMC/CJ4_FMC.js | 22 +++++++++++++-- 6 files changed, 56 insertions(+), 12 deletions(-) diff --git a/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/apron.flt b/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/apron.flt index 9d2dda93de..f08679b982 100644 --- a/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/apron.flt +++ b/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/apron.flt @@ -26,9 +26,9 @@ ADFActive=890 ADF2Active=890 DMESelected=1 ComTransmit=1 -ComReceiveBoth=False +ComReceiveBoth=True Com1Receive=True -Com2Receive=False +Com2Receive=True Com3Receive=False AudioNav1Listen=False AudioNav2Listen=False diff --git a/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/model/CJ4_Cockpit.xml b/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/model/CJ4_Cockpit.xml index 947b9d23c3..c03cf43eac 100644 --- a/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/model/CJ4_Cockpit.xml +++ b/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/model/CJ4_Cockpit.xml @@ -13,7 +13,6 @@ - @@ -134,6 +133,33 @@ 2 + + + AudioPanel_Push_COM_1_1 + AudioPanel_Push_COM_1_1 + AudioPanel_Push_COM_1_Active_1 + COM1 + + 1 (>H:WT_CJ4_COM1_PRESSED) + + (A:COM TRANSMIT:1, bool) + + %((A:COM TRANSMIT:1, bool))%{if}TT:COCKPIT.TOOLTIPS.NAVCOM_COM1_ON%{else}TT:COCKPIT.TOOLTIPS.NAVCOM_COM1_OFF%{end} + + + + AudioPanel_Push_COM_2_1 + AudioPanel_Push_COM_2_1 + AudioPanel_Push_COM_2_Active_1 + COM2 + + 1 (>H:WT_CJ4_COM2_PRESSED) + + (A:COM TRANSMIT:2, bool) + + %((A:COM TRANSMIT:2, bool))%{if}TT:COCKPIT.TOOLTIPS.NAVCOM_COM2_ON%{else}TT:COCKPIT.TOOLTIPS.NAVCOM_COM2_OFF%{end} + + diff --git a/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/runway.FLT b/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/runway.FLT index 29530da42b..46b5bcbfa0 100644 --- a/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/runway.FLT +++ b/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/runway.FLT @@ -26,9 +26,9 @@ ADFActive=890 ADF2Active=890 DMESelected=1 ComTransmit=1 -ComReceiveBoth=False +ComReceiveBoth=True Com1Receive=True -Com2Receive=False +Com2Receive=True Com3Receive=False AudioNav1Listen=False AudioNav2Listen=False diff --git a/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/systems.cfg b/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/systems.cfg index c1fa8c85e8..1cf2e8447f 100644 --- a/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/systems.cfg +++ b/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/systems.cfg @@ -93,14 +93,14 @@ circuit.25 = Type:CIRCUIT_XPNDR #Connections:bus.5# Power:20, 25, 20.0# circuit.26 = Type:CIRCUIT_MARKER_BEACON #Connections:bus.4# Power:5,10,20.0# Name:Marker_Position ; marker beacon circuit.27 = Type:CIRCUIT_NAV:1 #Connections:bus.5# Power:4, 5, 20.0# Name:NAV1 ; NAV 1 5W circuit.28 = Type:CIRCUIT_COM:1 #Connections:bus.5# Power:4, 5, 20.0# Name:COM1 ; COM 1 5W -circuit.29 = Type:CIRCUIT_NAV:2 #Connections:bus.4# Power:4, 5, 20.0# Name:NAV2 ; NAV 2 5W -circuit.30 = Type:CIRCUIT_COM:2 #Connections:bus.4# Power:4, 5, 20.0# Name:COM2 ; COM 2 5W +circuit.29 = Type:CIRCUIT_NAV:2 #Connections:bus.5# Power:4, 5, 20.0# Name:NAV2 ; NAV 2 5W +circuit.30 = Type:CIRCUIT_COM:2 #Connections:bus.5# Power:4, 5, 20.0# Name:COM2 ; COM 2 5W circuit.31 = Type:CIRCUIT_NAV:3 #Connections:bus.4# Power:4, 5, 20.0# Name:NAV3 ; NAV 3 5W circuit.32 = Type:CIRCUIT_COM:3 #Connections:bus.4# Power:4, 5, 20.0# Name:COM3 ; COM 3 5W circuit.33 = Type:CIRCUIT_ADC_AHRS #Connections:bus.5# Power:25, 30, 20.0# Name:ADC_AHRS ; ADC/AHRS 30W circuit.34 = Type:CIRCUIT_FIS #Connections:bus.5# Power:10, 15, 20.0# Name:FIS ; FIS 15W circuit.35 = Type:CIRCUIT_ADF_DME #Connections:bus.5# Power:28, 35, 20.0# Name:ADF_DME ; ADF/DME 35W -circuit.36 = Type:CIRCUIT_AUDIO #Connections:bus.4# Power:10, 15, 20.0# Name:Audio ; Audio 15W +circuit.36 = Type:CIRCUIT_AUDIO #Connections:bus.5# Power:10, 15, 20.0# Name:Audio ; Audio 15W circuit.37 = Type:CIRCUIT_AUTOPILOT #Connections:bus.4# Power:10, 15, 20.0# Name:Autopilot ; Autopilot 15W circuit.38 = Type:CIRCUIT_DIRECTIONAL_GYRO #Connections:bus.1# Power:10, 15, 20.0# Name:Directional_Gyro ; directional gyro 15W circuit.39 = Type:CIRCUIT_PFD:1 #Connections:bus.4# Power:100, 150, 20.0# Name:PFD_Pilot diff --git a/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/taxi.flt b/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/taxi.flt index 4f9deea2c7..c1d6450243 100644 --- a/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/taxi.flt +++ b/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/taxi.flt @@ -26,9 +26,9 @@ ADFActive=890 ADF2Active=890 DMESelected=1 ComTransmit=1 -ComReceiveBoth=False +ComReceiveBoth=True Com1Receive=True -Com2Receive=False +Com2Receive=True Com3Receive=False AudioNav1Listen=False AudioNav2Listen=False diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC.js index 51659b0c5b..9cfefb138e 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/FMC/CJ4_FMC.js @@ -100,6 +100,7 @@ class CJ4_FMC extends FMCMainDisplay { this._registered = true; }); }); + RegisterViewListener("JS_LISTENER_ATC"); // RegisterViewListener("JS_LISTENER_FLIGHTPLAN"); // this.addEventListener("FlightStart", async function () { @@ -279,6 +280,23 @@ class CJ4_FMC extends FMCMainDisplay { if (args[0].startsWith(apPrefix)) { this._navModeSelector.onNavChangedEvent(args[0].substring(apPrefix.length)); } + + const comPrefix = "WT_CJ4_COM"; + if (args[0].startsWith(comPrefix)) { + this.updateComSelect(args[0].substring(comPrefix.length, comPrefix.length+1)); + } + } + + /** + * Switch COMs and update according simvars + * @param {string} com The selected COM + */ + updateComSelect(com) { + if (com === "1") { + Coherent.call("ATC_SWITCH_TO_COM_1").then(() => { SimVar.SetSimVarValue("K:COM2_RECEIVE_SELECT", "number", 1); }); + } else { + Coherent.call("ATC_SWITCH_TO_COM_2").then(() => { SimVar.SetSimVarValue("K:COM1_RECEIVE_SELECT", "number", 1); }); + } } //Overwrite of FMCMainDisplay to disable always settings nav hold to GPS mode @@ -531,7 +549,7 @@ class CJ4_FMC extends FMCMainDisplay { if (isLnav) { let deltaAngle = Avionics.Utils.angleDiff(planeHeading, apHeading); this.driveFlightDirector(deltaAngle, bank); - } + } else if (signal && isIls) { const cdi = SimVar.GetSimVarValue("NAV CDI:" + nav, "number"); const loc = SimVar.GetSimVarValue("NAV LOCALIZER:" + nav, "degrees"); @@ -555,7 +573,7 @@ class CJ4_FMC extends FMCMainDisplay { this.driveFlightDirector(0, 0); } } - } + } else { if (SimVar.GetSimVarValue("L:WT_FLIGHT_DIRECTOR_BANK", "number") != 0) { this.driveFlightDirector(0, 0); From 3e2559c9224b46ad6f0675adc0599038700d4785 Mon Sep 17 00:00:00 2001 From: DG Date: Sat, 2 Jan 2021 19:46:00 +0100 Subject: [PATCH 15/85] CJ4: Fix bugs on PFD/MFD map (#754) * fix wpts not visible after cancel mod * remove some logs * fix pfd menu ranges * fix exception in getallwaypoints * remove some not needed map elements * apply correct overlay scaling to ppos in mfd too * mfd wind speed font size same as pfd * fix outer range display cut off --- .../Airliners/Shared/WT/NDCompass.js | 2 +- .../Instruments/Airliners/CJ4/MFD/CJ4_MFD.css | 2 +- .../Instruments/Airliners/CJ4/MFD/CJ4_MFD.js | 18 +-- .../Instruments/Airliners/CJ4/PFD/CJ4_PFD.js | 6 +- .../Airliners/CJ4/Shared/CJ4_Shared.js | 2 +- .../Airliners/CJ4/WTLibs/MapInstrument.js | 145 +++++++++--------- .../CJ4/WTLibs/Svg/SvgWaypointElement.js | 4 +- .../src/flightplanning/FlightPlanManager.ts | 4 + 8 files changed, 93 insertions(+), 90 deletions(-) diff --git a/src/workingtitle-vcockpits-instruments-airliners/html_ui/Pages/VCockpit/Instruments/Airliners/Shared/WT/NDCompass.js b/src/workingtitle-vcockpits-instruments-airliners/html_ui/Pages/VCockpit/Instruments/Airliners/Shared/WT/NDCompass.js index e38938bff1..6e07257164 100644 --- a/src/workingtitle-vcockpits-instruments-airliners/html_ui/Pages/VCockpit/Instruments/Airliners/Shared/WT/NDCompass.js +++ b/src/workingtitle-vcockpits-instruments-airliners/html_ui/Pages/VCockpit/Instruments/Airliners/Shared/WT/NDCompass.js @@ -66,7 +66,7 @@ class Jet_MFD_NDCompass extends Jet_NDCompass { fixedGroup.appendChild(arc.svg); let vec = new Vec2(1, 0.45); vec.SetNorm(circleRadius * 0.92); - this.addMapRange(fixedGroup, 30 - vec.x, 50 - vec.y, "white", "26", false, 1.0, false, "middle"); + this.addMapRange(fixedGroup, 30 - vec.x, 50 - vec.y, "white", "26", false, 1.0, false, "left"); var smallCircleRadius = 170; vec.SetNorm(smallCircleRadius * 0.82); this.addMapRange(fixedGroup, 40 - vec.x, 50 - vec.y, "white", "26", false, 0.5, false); diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/MFD/CJ4_MFD.css b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/MFD/CJ4_MFD.css index 4ca7bc667a..e38fd7c088 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/MFD/CJ4_MFD.css +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/MFD/CJ4_MFD.css @@ -404,7 +404,7 @@ cj4-mfd-element #Mainframe #Electricity #MainDisplay #SystemInfos2 .SystemFMS .c font-size: 26px; fill: green; } cj4-mfd-element #Mainframe #Electricity #MainDisplay #MapOverlay #NDInfo #TopBox text.Wind { - font-size: 18px; + font-size: 20px; fill: magenta; text-anchor: end; } cj4-mfd-element #Mainframe #MapOverlay #NDInfo #VORDMENavaids svg { diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/MFD/CJ4_MFD.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/MFD/CJ4_MFD.js index 71c1350864..27e244327c 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/MFD/CJ4_MFD.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/MFD/CJ4_MFD.js @@ -135,7 +135,7 @@ class CJ4_MFD extends BaseAirliners { el.style = 'transform: translate(-84px, -56px)'; } - if (this.mapDisplayMode === Jet_NDCompass_Display.ARC) { + if (this.mapDisplayMode === Jet_NDCompass_Display.ARC || this.mapDisplayMode === Jet_NDCompass_Display.PPOS) { el.setAttribute('width', '108%'); el.setAttribute('height', '108%'); el.style = 'transform: translate(-30px, -18px)'; @@ -154,8 +154,8 @@ class CJ4_MFD extends BaseAirliners { if (this.showTerrain) { this.map.showMap(true); - - if (this.mapDisplayMode === Jet_NDCompass_Display.ARC || this.mapDisplayMode === Jet_NDCompass_Display.ROSE) { + + if (this.mapDisplayMode === Jet_NDCompass_Display.ARC || this.mapDisplayMode === Jet_NDCompass_Display.ROSE) { this.map.showRoute(false); this.map.map.instrument.setAttribute('show-airplane', 'false'); } @@ -163,7 +163,7 @@ class CJ4_MFD extends BaseAirliners { this.map.showRoute(true); this.map.map.instrument.setAttribute('show-airplane', 'true'); } - + this.map.showWeather(false); this.mapOverlay.showWeather(false); this.map.showTerrain(true); @@ -171,7 +171,7 @@ class CJ4_MFD extends BaseAirliners { } else if (this.showWeather) { this.map.showMap(true); - + if (this.mapDisplayMode === Jet_NDCompass_Display.ARC || this.mapDisplayMode === Jet_NDCompass_Display.ROSE) { this.map.showRoute(false); this.map.map.instrument.setAttribute('show-airplane', 'false'); @@ -180,7 +180,7 @@ class CJ4_MFD extends BaseAirliners { this.map.showRoute(true); this.map.map.instrument.setAttribute('show-airplane', 'true'); } - + this.map.showTerrain(false); this.mapOverlay.showTerrain(false); this.map.showWeather(true); @@ -190,16 +190,16 @@ class CJ4_MFD extends BaseAirliners { if (this.mapDisplayMode === Jet_NDCompass_Display.ARC || this.mapDisplayMode === Jet_NDCompass_Display.ROSE) { this.map.showMap(false); this.map.showRoute(false); - + this.map.map.instrument.setAttribute('show-airplane', 'false'); } else { this.map.showMap(true); this.map.showRoute(true); - + this.map.map.instrument.setAttribute('show-airplane', 'true'); } - + this.map.showTerrain(false); this.mapOverlay.showTerrain(false); this.map.showWeather(false); diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/PFD/CJ4_PFD.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/PFD/CJ4_PFD.js index e8b7e0d382..8610ba85bf 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/PFD/CJ4_PFD.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/PFD/CJ4_PFD.js @@ -883,15 +883,15 @@ class CJ4_ILS extends NavSystemElement { onEnter() { } onUpdate(_deltaTime) { - console.log("onupdate"); + // console.log("onupdate"); if (this.ils) { this.altWentAbove500 = true; - console.log("this.ils"); + // console.log("this.ils"); let showLoc = 0; let showGs = 0; - console.log("this.gps.mapNavigationSource: " + this.gps.mapNavigationSource); + // console.log("this.gps.mapNavigationSource: " + this.gps.mapNavigationSource); if (this.gps.mapNavigationSource === 1 || this.gps.mapNavigationSource === 2) { const isLoc = SimVar.GetSimVarValue("NAV HAS LOCALIZER:" + this.gps.mapNavigationSource, "bool"); const isGs = SimVar.GetSimVarValue("NAV HAS GLIDE SLOPE:" + this.gps.mapNavigationSource, "bool"); diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/Shared/CJ4_Shared.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/Shared/CJ4_Shared.js index d8dec8dd77..f98ea8c242 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/Shared/CJ4_Shared.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/Shared/CJ4_Shared.js @@ -3717,7 +3717,7 @@ class CJ4_PopupMenu_PFD extends CJ4_PopupMenu_Handler { { this.addTitle("CONTROLS", this.textSize, 0.5); this.addList("NAV-SRC", this.textSize, ["FMS1", "VOR1", "VOR2"], [CJ4_PopupMenu_Key.NAV_SRC]); - this.addList("RANGE", this.textSize, ["10", "20", "40", "80", "160", "320"], [CJ4_PopupMenu_Key.MAP_RANGE]); + this.addList("RANGE", this.textSize, ["5", "10", "25", "50", "100", "200", "300"], [CJ4_PopupMenu_Key.MAP_RANGE]); } this.endSection(); this.beginSection(); diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/WTLibs/MapInstrument.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/WTLibs/MapInstrument.js index 704037580b..a73a32dff7 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/WTLibs/MapInstrument.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/WTLibs/MapInstrument.js @@ -92,7 +92,7 @@ class MapInstrument extends ISvgMapRootElement { this.cursorX = 50; this.cursorY = 50; this.bIsCursorDisplayed = false; - this.weatherRanges = [10, 20, 30, 40, 50, 60, 80, 100]; + this.weatherRanges = [5, 10, 25, 50, 100, 200, 300]; this.weatherHideGPS = false; this.isBushTrip = false; @@ -418,7 +418,7 @@ class MapInstrument extends ISvgMapRootElement { // this.mapNearestNDBList = new NearestNDBList(this.instrument); // this.mapNearestVorList = new NearestVORList(this.instrument); // this.testAirspaceList = new NearestAirspaceList(this.instrument); - this.roadNetwork = new SvgRoadNetworkElement(); + //this.roadNetwork = new SvgRoadNetworkElement(); this.cityManager = new SvgCityManager(this.navMap); this.airwayIterator = 0; this.airspaceIterator = 0; @@ -529,34 +529,34 @@ class MapInstrument extends ISvgMapRootElement { this.drawCounter++; this.drawCounter %= 100; this.npcAirplaneManager.update(); - if (this.showRoads && (this.getDisplayRange() <= Math.max(this.roadHighwayMaxRange, this.roadTrunkMaxRange, this.roadPrimaryMaxRange))) { - let t0 = performance.now(); - while (this.roadsBuffer.length > 0 && (performance.now() - t0 < 1)) { - let road = this.roadsBuffer.pop(); - if (road) { - if (road.path.length > 100) { - let truncRoad = { - id: 0, - path: road.path.splice(90), - type: road.type, - lod: road.lod - }; - this.roadsBuffer.push(truncRoad); - } - this.roadNetwork.addRoad(road.path, road.type, road.lod); - } - } - if (this.roadsBuffer.length < 100) { - Coherent.call("GET_ROADS_BAG_SIZE").then((size) => { - let iterator = this.smartIterator.getIteration(size - 1); - if (isFinite(iterator)) { - Coherent.call("GET_ROADS_BAG", iterator).then((roadBag) => { - this.roadsBuffer.push(...roadBag); - }); - } - }); - } - } + // if (this.showRoads && (this.getDisplayRange() <= Math.max(this.roadHighwayMaxRange, this.roadTrunkMaxRange, this.roadPrimaryMaxRange))) { + // let t0 = performance.now(); + // while (this.roadsBuffer.length > 0 && (performance.now() - t0 < 1)) { + // let road = this.roadsBuffer.pop(); + // if (road) { + // if (road.path.length > 100) { + // let truncRoad = { + // id: 0, + // path: road.path.splice(90), + // type: road.type, + // lod: road.lod + // }; + // this.roadsBuffer.push(truncRoad); + // } + // this.roadNetwork.addRoad(road.path, road.type, road.lod); + // } + // } + // if (this.roadsBuffer.length < 100) { + // Coherent.call("GET_ROADS_BAG_SIZE").then((size) => { + // let iterator = this.smartIterator.getIteration(size - 1); + // if (isFinite(iterator)) { + // Coherent.call("GET_ROADS_BAG", iterator).then((roadBag) => { + // this.roadsBuffer.push(...roadBag); + // }); + // } + // }); + // } + // } this.flightPlanManager.updateWaypointIndex(); //this.updateFlightPlanVisibility(); @@ -669,36 +669,36 @@ class MapInstrument extends ISvgMapRootElement { } } } - if (this.showAirways && (this.drawCounter % 50 === 40)) { - if (this.getDeclutteredRange() <= this.intersectionMaxRange) { - let intersection = this.intersectionLoader.waypoints[this.airwayIterator]; - if (intersection instanceof NearestIntersection) { - if (intersection.routes.length > 0 && !intersection.airwaysDrawn) { - for (let i = 0; i < intersection.routes.length; i++) { - if (intersection.routes[i]) { - let routeCoordinates = new LatLong(intersection.coordinates.lat, intersection.coordinates.long); - let coordinatesPrev = intersection.routes[i].prevWaypoint.GetInfos().coordinates; - if (coordinatesPrev) { - let routePrevStart = new LatLong(coordinatesPrev.lat, coordinatesPrev.long); - let coordinatesNext = intersection.routes[i].nextWaypoint.GetInfos().coordinates; - if (coordinatesNext) { - let routeNextStart = new LatLong(coordinatesNext.lat, coordinatesNext.long); - this.roadNetwork.addRoad([routePrevStart, routeCoordinates, routeNextStart], 101, 8); - this.roadNetwork.addRoad([routePrevStart, routeCoordinates, routeNextStart], 101, 12); - this.roadNetwork.addRoad([routePrevStart, routeCoordinates, routeNextStart], 101, 14); - intersection.airwaysDrawn = true; - } - } - } - } - } - } - this.airwayIterator++; - if (this.airwayIterator > this.intersectionLoader.waypoints.length) { - this.airwayIterator = 0; - } - } - } + // if (this.showAirways && (this.drawCounter % 50 === 40)) { + // if (this.getDeclutteredRange() <= this.intersectionMaxRange) { + // let intersection = this.intersectionLoader.waypoints[this.airwayIterator]; + // if (intersection instanceof NearestIntersection) { + // if (intersection.routes.length > 0 && !intersection.airwaysDrawn) { + // for (let i = 0; i < intersection.routes.length; i++) { + // if (intersection.routes[i]) { + // let routeCoordinates = new LatLong(intersection.coordinates.lat, intersection.coordinates.long); + // let coordinatesPrev = intersection.routes[i].prevWaypoint.GetInfos().coordinates; + // if (coordinatesPrev) { + // let routePrevStart = new LatLong(coordinatesPrev.lat, coordinatesPrev.long); + // let coordinatesNext = intersection.routes[i].nextWaypoint.GetInfos().coordinates; + // if (coordinatesNext) { + // let routeNextStart = new LatLong(coordinatesNext.lat, coordinatesNext.long); + // this.roadNetwork.addRoad([routePrevStart, routeCoordinates, routeNextStart], 101, 8); + // this.roadNetwork.addRoad([routePrevStart, routeCoordinates, routeNextStart], 101, 12); + // this.roadNetwork.addRoad([routePrevStart, routeCoordinates, routeNextStart], 101, 14); + // intersection.airwaysDrawn = true; + // } + // } + // } + // } + // } + // } + // this.airwayIterator++; + // if (this.airwayIterator > this.intersectionLoader.waypoints.length) { + // this.airwayIterator = 0; + // } + // } + // } if ((this.drawCounter % 10 === 1)) { this.navMap.mapElements = []; if (!this.isDisplayingWeatherRadar() || !this.weatherHideGPS) { @@ -708,7 +708,7 @@ class MapInstrument extends ISvgMapRootElement { * hack-y workaround of ensuring SvgRoadNetworkElement is always loaded into the map so it can properly update and hide * its subelements as needed. */ - this.navMap.mapElements.push(this.roadNetwork); + //this.navMap.mapElements.push(this.roadNetwork); // if (this.showTraffic) { // if (this.getDeclutteredRange() < this.npcAirplaneMaxRange) { @@ -727,6 +727,13 @@ class MapInstrument extends ISvgMapRootElement { } if (this.flightPlanManager && this.bIsFlightPlanVisible) { + let l = this.flightPlanManager.getWaypointsCount(0); + if (l > 1) { + + this.navMap.mapElements.push(this.flightPlanElement); + this.navMap.mapElements.push(...this.updateFplnWaypoints()); + } + if (SimVar.GetSimVarValue("L:MAP_SHOW_TEMPORARY_FLIGHT_PLAN", "number") === 1) { this.navMap.mapElements.push(this.tmpFlightPlanElement); let lTmpFlightPlan = this.flightPlanManager.getWaypointsCount(1); @@ -747,13 +754,6 @@ class MapInstrument extends ISvgMapRootElement { } } - let l = this.flightPlanManager.getWaypointsCount(); - if (l > 1) { - - this.navMap.mapElements.push(this.flightPlanElement); - this.navMap.mapElements.push(...this.updateFplnWaypoints()); - } - const todDist = SimVar.GetSimVarValue("L:WT_CJ4_TOD_DISTANCE", "number"); if (todDist > 0) { this.updateTodWaypoint(); @@ -848,7 +848,7 @@ class MapInstrument extends ISvgMapRootElement { this.navMap.mapElements.push(this.rangeCompassElement); } } - // this.navMap.mapElements.push(...this.maskElements); + //this.navMap.mapElements.push(...this.maskElements); // this.navMap.mapElements.push(...this.topOfCurveElements); this.navMap.mapElements = this.navMap.mapElements.sort((a, b) => { return b.sortIndex - a.sortIndex; }); } @@ -872,10 +872,9 @@ class MapInstrument extends ISvgMapRootElement { } updateFplnWaypoints() { if (this._fplnVersion < this.flightPlanManager.CurrentFlightPlanVersion) { - let l = this.flightPlanManager.getWaypointsCount(); + let l = this.flightPlanManager.getWaypointsCount(0); if (l > 1) { this._fplnNavMapElements = []; - console.log("update flightplan svgs"); for (let i = Math.max(0, this.flightPlanManager.getActiveWaypointIndex() - 1); i < l; i++) { let waypoint = this.flightPlanManager.getWaypoint(i, 0); if (waypoint && waypoint.ident !== "" && waypoint.ident !== "USER" && waypoint.ident !== "POI") { @@ -1621,9 +1620,9 @@ class MapInstrument extends ISvgMapRootElement { } MapInstrument.OVERDRAW_FACTOR_DEFAULT = Math.sqrt(2); -MapInstrument.ZOOM_RANGES_DEFAULT = [0.5, 1, 2, 3, 5, 10, 15, 20, 35, 50, 100, 150, 200]; +MapInstrument.ZOOM_RANGES_DEFAULT = [5, 10, 25, 50, 100, 200, 300]; -MapInstrument.RANGE_DISPLAY_SHOW_DEFAULT = false; +MapInstrument.RANGE_DISPLAY_SHOW_DEFAULT = true; MapInstrument.INT_RANGE_DEFAULT = 4; MapInstrument.INT_RANGE_MIN_DEFAULT = 0; diff --git a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/WTLibs/Svg/SvgWaypointElement.js b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/WTLibs/Svg/SvgWaypointElement.js index ae515b612e..3a6b4df2c2 100644 --- a/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/WTLibs/Svg/SvgWaypointElement.js +++ b/src/workingtitle-vcockpits-instruments-cj4/html_ui/Pages/VCockpit/Instruments/Airliners/CJ4/WTLibs/Svg/SvgWaypointElement.js @@ -305,7 +305,7 @@ class SvgWaypointTextElement extends SvgMapElement { let fontSize = this.waypointElement.getLabelFontSize(map); let text = this.waypointElement.ident; let c = document.createElement("canvas"); - let ctx = c.getContext("2d", { alpha: false }); + let ctx = c.getContext("2d"); ctx.font = fontSize + "px " + map.config.waypointLabelFontFamily; this._textWidth = ctx.measureText(text).width; this._textHeight = fontSize * 0.675; @@ -347,7 +347,7 @@ class SvgWaypointTextElement extends SvgMapElement { return; } - let context = canvas.getContext("2d", { alpha: false }); + let context = canvas.getContext("2d"); if (map.config.waypointLabelUseBackground) { context.fillStyle = "black"; context.fillRect(0, 0, this._textWidth + map.config.waypointLabelBackgroundPaddingLeft + map.config.waypointLabelBackgroundPaddingRight, this._textHeight + map.config.waypointLabelBackgroundPaddingTop + map.config.waypointLabelBackgroundPaddingBottom); diff --git a/src/wtsdk/src/flightplanning/FlightPlanManager.ts b/src/wtsdk/src/flightplanning/FlightPlanManager.ts index 2c96748839..391e12f197 100644 --- a/src/wtsdk/src/flightplanning/FlightPlanManager.ts +++ b/src/wtsdk/src/flightplanning/FlightPlanManager.ts @@ -790,6 +790,10 @@ export class FlightPlanManager { flightPlanIndex = this._currentFlightPlanIndex; } + if (this._flightPlans[flightPlanIndex] === undefined) { + return []; + } + return this._flightPlans[flightPlanIndex].waypoints; } From 8d1d78a2572489ee760e88a83b7364e0de29e80b Mon Sep 17 00:00:00 2001 From: dga711 Date: Sat, 2 Jan 2021 17:33:32 +0100 Subject: [PATCH 16/85] fadec dont calldispatch every frame --- .../panel/workingtitle-cj4-wasm.wasm | Bin 88060 -> 88058 bytes src/workingtitle-cj4-wasm/FdGauge.h | 4 +--- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/panel/workingtitle-cj4-wasm.wasm b/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/panel/workingtitle-cj4-wasm.wasm index c4b2b611fd7cef842b5f953bea03ff85775d9f3d..7096b7c14dde93fe413367b6f9f975371383f382 100644 GIT binary patch delta 4483 zcmaJ@4RBP|6~5>F>~8Xs?B;K?SvK+QZW0m*0V#@E0gZsjZ+?JOpb{tq3?MNQLO{qv z!f%X-zA?{=(*d=eskWtd#bBiwbo{AKwFCa3fTbuPY88u!)dKcAZ+9V>+MRiK@AbMJfScd6g)Qny8t+6;q?IkM6A^ysN%_D~)<%|^;Ge@7nkFg*&XRhonGed(Xs zPWdWX&dkou&DFEBYXrm-VcOaBI3eNVtR9V7z*^?rk!^ug`UL$gVWQ+2%42EH}c3?IqLUK7F|C(>2c# z8^{2VF58f{%sD=DWX>Tm9A3YZVAew{ut=d9TneRE~0M5oOE+`Y=#Lvpe~ ztIg`Jyl8UU)+9P^{$kVVsIN0aH8*eW&`#LCG;HdmnYX2tK8|*6StmsYJWwpr33IAB zfKEo+%<77359bN|GCO1;)=NUj&!#AA@vka2f6Kk{2CQS}|KgdPYS z>_`6SbqCue4s|2GNYgFq>CT|)RgLQsR^#-FOVbwd@x{Tc9FbtWKR(pn104s6Y@L%asF zq;-^%R|=tvg?1AD>l4g+^5l(4FdOK5{M`PU1iO*4gx(A(*or}4jUlA|GFu3jc0u;H zLtL07451Y&B6EDE5Dx>yB8J= z7hw<6dYNeR?SRK(yob5zy*VRBc7k|?$)ENn8-NJke#W!#+}fA(0il0e0O0|*b@eQwL&(v2ZCKP z?NC18;~2QB{QZz_tz9m90~Qm!U^dE}>g0Cb)_n$V(c7V6grb+3G@c~Z=>NF_dwb;e zdDGvkeRjg?$GgX3&%WtcG2T6_PRWnj@I!#@?lC4SZ8#$d{Pvtn?b9260&u*2cEX;L zW6qBz;3|c85QF30T%5mn`}84ShM~>PRC;lCFa-+AV7Jfg*e(ig0ub*WI}-&4fOz-V zz~%0_7wP8i5yjdf?TmpFQ?jR3hXBcr=D`e0&6gp3^-a?gq zQ1W0K-VMku%wn}1K+Hwl#2<_oW=S8ezyN2bjf%897<<7i!uiVHA^hgdBxN3|CX^5aqMTR*bQ_>s8&Us$mFA8`Ri zU>Eo%N)5RN<>J*bG?QOk98PMHOZ? zI-ztRAl2pO;<;yH)qI|n+XIW`OBv%=V16rRGN=DGB;D2J-i+xD`6H3#@&{Ro^X;|= z7Rz~7{uC2@1xDPRLhQuW-T*QVKxPUSHq4&m-huXM+bG+I+|3J=oP_2gD9`FI#8-II zGL?-`&)jI%ow!9BnQ8v!#L_g@%$_71Y4|7_pJ^7Jtd{WCdU7lNqOOm(QiwG)9z@Yu zC|$slRw_TmZ=g73?m1QHOw5m;dMTCXQ*i=vRBSc6`x7Uzx1LYmBjY^$Ohm<=P=&Z& z3cLE_k~oHM7!he{!eOF?K|P#dR`d8Z@0w;?J>4DO^08#U%Oynh;%!SWLD> z5s{V&aX)-M16S|HT&2WZ74S+X=ohfk0nqdM#PMp2S^oKGqpEhf5RK4kg~oU(92m`ui{ec*xEiMj}QTM<6A zdl~G40ov5H9qZ%6ia(@k5RNun;m@f{pIIXEN1Wj$NahV!!EK@}(d}P;MpR{PI@3f| z(QnT*l84_lj&g2ybeJnW+iX31x0h34-!S&Y;pRI6w@x(a>nc*4ae!LP+2?XnUqw$% zL~gi+Up7~r3(w|CR-!CivuE&diE>d8E=no_;%ey7;n#T{62qD8#=|*Wf`^k;ihkq^ z=nr_>k%|3yI3pt-jLP41tL|}}qB2US49EP;rD^7C=LgfL(QnUZ5xo^nyEsarA=YGx za;{#dX1A-sD3miU8Y*8cDXgfNnPFV$TVJ(LR&1|LE{{pBzcFm%|Ut6?hdQdK|!hCz1A)VO>%H- zp7q_^Ty%^a8iYNq7C9+jn$&6qo#fBrjLCm-kvcJ18j_)oaWqRg)@M!{CAmATfi9}+ zZc3)dbF6R~P3z7IkvpY(MHzjo<daaTwa%N`T zJfFSY)wpCy{aukr!_tQ4;*wcb*<^Z*e%8I8|D@ZdT2D`*G1haHAL(TpxF1h{B l)?X)3oi(SDG;8HVO0gP8(>2zYQ^;vusHV>Do*EjZ{udF?M;-tG delta 4489 zcmaJ_32;2i&52Qt8T^$gwH637gD0$E_Q76*K~uNc-a&va`q$gVWQ z-s&)@RWi@6FoK7efg?pvA1vqSn&+?uWB|w*EbF?%bHv=Sa<&oPXyJNT1Oj@XLf&A7 zR-_l{I>NI^zphlsjzCZk28#8o0wsE}UeXvSMNnmWsb1C+D3?a+a09Slph;%uw62OdH(m@35Ak8 z;XjZRO7k54gGr$*&*T3nDU|2s_>Vx~$>oYX-G4kOROS`?PbGz_ymJ4!q)?q#E#yNE zA#yxI&?3c+hpOnhfoGr?onDTvNWC^o2#3}!`|BXuokD0Oitv7!A;cH}T9Fc*z|TsB zT;Bl{IT46k8JeiDI=RkR@NWVAo#9E!mbA-oOS%wGqiK^9un|{(5!ly^Pf;$xKI!~i z5^hkwL+o)_<8_OiI_ND#(;~kxS(=2W_BDAL+zB?B-eY1wQoQW%dk{4kX*cwcJ=_rB zOPRZ|H|MnM)}!xY?xw!no4_wJcXMCPp2-}~KchEk1yej4WGk9>TYMG8?GRpLU{(Tn z1Hw-X%#H&--lIzZeA|)lQP{?k{Xx+E6|$(8Ay`|c?JorUS9C(;s>a)XPQG;b* zw3}3Nb@1I`suOunSL?`Y2c^4`Gku|Et=%gJ{t;fl_92HkX4R^d3 zy`#Dv1#;!6Uhf!IYg{3&{}&eQ{zqIu5!h3Cm@&1;QS%B4aDew1dQMVmsY6`d0WMb+ z`K*yC4dhGbbUrZQ+k%Xp#mK7P3m91MswVUCqhV@_eSWl2q8u}HtkmF57-Bihli+Ju zDf`Nk;un}zyR6Z(H=yuxoq+rF2xfH;5y~LYs>98j=e~g47V@ax>R7B#LnMX#3M|aQ zNaplAk#xs)cRAz{g&(`1G=P;j({8I{v7Sfu*D=92V5qxOh{v(CJAr%w8}Bp7M3q^1 z+-F#)ty8uxWj9aY)>U*npqZ;KLYz6y4U{k2VC}Di_$!Q@ZIn`Q4TSA1w3F~(n`Aoh zEjumAY@|#0x&3pJY$s)kiW7)rG2G286XJ&ybZK6tl=D<-&N@Cp`Z&XU>UeV+hmv)@ zu%+Qde3@aEoQOzxtUj?7kC@|&tyIJs8h4`fM<{iprB%y+YrpBfS>EI*H2*e*GNG}Svg)JNP-AWZV}=I5@He9eQ|bZ zlEr=1Z#p#XHsa5*DN?ZfHWnT9Ei@rI7PIKIL=lpf3Go1Yz6e(z#$BbvT@~|8Cg?XX z)BB+3_KBl$g<1d2Xd_g+R*12v)_!myt$BI@VK0_$e!A|{ew&CVBA&x?ACD`Mb zvm3KvwN?Jqy>$gIqkgsF+ z4jx&U)ji1~Uy7l_D}}fNX0HM1geGE8ILMtrp6Xe=UnXO47;F&^P%^?@%tpFbnZ`Hy z#yz|@8@ZwuVx@Pnl&L!9BH!Cn}k3>`Z$FTTw9OKd7qp$%5}d#vX>O+ad`5c{e;$y z)`Y}y@~Tnne0x2H;MSLmv`?7xdiyIGkvOI958^5wuUx+O~;U{<+6g_dIWN z+IU17sikzvu$h0mSVv#S&R@(V`XH9}^KgZ#qmv}cuF6oe+EwRDo7~pw&{fqYUm{(q z5JZYys1jcSa;HRUqf1&9eORLENoUqWuf!(bFYQxPZO7Df+dFE3ZMm9$O#Ys!Yi#m^ z(rHx(RAT$H8ni8!Ppx0BI&Jd9(gG=%^vrjH{QIa)rZrOIis(HuHFhmiXsjf8I->h* zG~UMflXpcc?NlJ`*%&RgQ$TWdMkm_o`cWEU<2=fH?WB%zNi|+I1rw@{TB(p{V4m|U zpKy`7&?Sw?P-ojdyv#kjD!SiEJ{zyGdsXx!nYKp{I4LA`cSb!fnq?8YHg)Z^(^2YL z;-Wp-T?>lHof6F`qUl{LYU#Wt&ziL$+7zO~t_MQ&Bt@qTC7)lt(w`YN^Izoe+Ax&1 zdwiMW=HdU267u0ZkZPSelm@To}WT)x;5&X zMB%8Tf!>X#M95F`qGb^(qWRHl@kn2gb^}~23x%vldBwu6^${9DbbIt*0}bqYbt(;4 F{{w-|Nv;3@ diff --git a/src/workingtitle-cj4-wasm/FdGauge.h b/src/workingtitle-cj4-wasm/FdGauge.h index 5d13b023bb..ad3d6bb0b0 100644 --- a/src/workingtitle-cj4-wasm/FdGauge.h +++ b/src/workingtitle-cj4-wasm/FdGauge.h @@ -250,6 +250,7 @@ class FdGauge FdCtrlInstance.init(); isConnected = true; + SimConnect_CallDispatch(hSimConnect, HandleAxisEvent, this); return true; } @@ -265,9 +266,6 @@ class FdGauge uint64_t timeDiff_ms = currTime_ms - this->prevTime_ms; if (isConnected == true) { - SimConnect_CallDispatch(hSimConnect, HandleAxisEvent, this); - - if (timeDiff_ms > 50) { FdCtrlInstance.update(globalThrottleAxis, deltaTime); this->prevTime_ms = currTime_ms; From 2d99df9fdd68fdfa6286ad6235bc6dcad45cedef Mon Sep 17 00:00:00 2001 From: dga711 Date: Sat, 2 Jan 2021 23:39:20 +0100 Subject: [PATCH 17/85] add flight model --- .../Airplanes/Asobo_CJ4/cameras.cfg | 3 +- .../Airplanes/Asobo_CJ4/flight_model.cfg | 694 ++++++++++-------- .../Airplanes/Asobo_CJ4/systems.cfg | 4 +- 3 files changed, 388 insertions(+), 313 deletions(-) diff --git a/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/cameras.cfg b/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/cameras.cfg index 442c116fe8..2a49033c47 100644 --- a/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/cameras.cfg +++ b/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/cameras.cfg @@ -3,7 +3,8 @@ major =1 minor =0 [VIEWS] -eyepoint = -16.385, -1.3, 3.15 ; (feet) longitudinal, lateral, vertical distance from reference datum +;---eyepoint = -16.385, -1.3, 3.15 ; (feet) longitudinal, lateral, vertical distance from reference datum +eyepoint = -16.37, -1.3, 3.35 ; (feet) longitudinal, lateral, vertical distance from reference datum ;===================== CAMERADEFINITION ===================== diff --git a/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/flight_model.cfg b/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/flight_model.cfg index e471e3346c..fb44818047 100644 --- a/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/flight_model.cfg +++ b/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/flight_model.cfg @@ -1,310 +1,384 @@ -[VERSION] -major = 1 -minor = 0 - -[WEIGHT_AND_BALANCE] -max_gross_weight = 17110 ; Empty weight, (LBS) -empty_weight = 10280 ; Empty weight, (LBS) -reference_datum_position = 0, 0, 0 ; Position of reference datum relative to FS(0,0,0) (FEET), z, x, y -empty_weight_CG_position = -2.0, 0, 2.5 ; Position of airplane empty weight CG relative to reference datum (FEET), z, x, y -CG_forward_limit = 0.145 ; Gravity center forward limit (longitudinal offset) for longitudinal stability -CG_aft_limit = 0.28 ; Gravity center after limit (longitudinal offset z) w.r.t reference datum for longitudinal stability (FEET) -empty_weight_pitch_MOI = 69403 ; Empty pitch moment of inertia, Jxx (SLUG SQ FEET) -empty_weight_roll_MOI = 13434 ; Empty roll moment of inertia, Jzz (SLUG SQ FEET) -empty_weight_yaw_MOI = 75997 ; Empty yaw moment of inertia, Jyy (SLUG SQ FEET) -empty_weight_coupled_MOI = 100 ; Empty transverse moment of inertia, Jyz (SLUG SQ FEET) -activate_mach_limit_based_on_cg = 0 ; Activate mach limitation depending on CG position (true if > 0 /false othewise). Mostly for Concorde). -activate_cg_limit_based_on_mach = 0 ; Activate cg limitation depending on mach value (true if > 0 /false othewise). Mostly for Concorde). -max_number_of_stations = 9 ; Number of payload stations -station_load.0 = 170, 17.5, -1.2, 4, TT:MENU.PAYLOAD.PILOT, 1 -station_load.1 = 170, 17.5, 1.2, 4, TT:MENU.PAYLOAD.COPILOT, 2 -station_load.2 = 170, 0, -1.2, 4, TT:MENU.PAYLOAD.PASSENGER_01, 3 -station_load.3 = 170, 0, 1.2, 4, TT:MENU.PAYLOAD.PASSENGER_02, 3 -station_load.4 = 0, 3.6, -1.2, 4, TT:MENU.PAYLOAD.PASSENGER_03, 3 -station_load.5 = 0, 3.6, 1.2, 4, TT:MENU.PAYLOAD.PASSENGER_04, 3 -station_load.6 = 0, -0.6, -1.2, 4, TT:MENU.PAYLOAD.PASSENGER_05, 3 -station_load.7 = 100, -7.5, 0, 0, TT:MENU.PAYLOAD.BAGGAGE_01, 6 -station_load.8 = 50, -10.5, 0, 0, TT:MENU.PAYLOAD.BAGGAGE_02, 6 - -[CONTACT_POINTS] -static_pitch = -1.7 ; degrees, pitch when at rest on the ground (+=Up, -=Dn) -static_cg_height = 2.75 ; feet, altitude of CG when at rest on the ground -gear_system_type = 1 ; gear system type (betweeen 0 and 4) 0 = electrical, 1 = hydraulic, 2 = pneumatic, 3 = manual, 4 = none, 5 = undefined -tailwheel_lock = 0 ; Is tailwheel lock available TRUE/FALSE -max_number_of_points = 10 ; Number of contact points -gear_locked_on_ground = 0 ; Defines whether or not the landing gear handle is locked to down when the plane is on the ground. -gear_locked_above_speed = -1 ; Defines the speed at which the landing gear handle becomes locked in the up position. (-1 = Disabled) -max_speed_full_steering = 30 ; Defines the speed under which the full angle of steering is available (in feet/second). -max_speed_decreasing_steering = 30 ; Defines the speed above which the angle of steering stops decreasing (in feet/second). -min_available_steering_angle_pct = 0.3 ; Defines the percentage of steering which will always be available even above max_speed_decreasing_steering (in percent over 100). -max_speed_full_steering_castering = 20 ; Defines the speed under which the full angle of steering is available for free castering wheels (in feet/second). -max_speed_decreasing_steering_castering = 40 ; Defines the speed above which the angle of steering stops decreasing for free castering wheels (in feet/second). -min_castering_angle = 0.05236 ; Defines the minimum angle a free castering wheel can take (in radians). -max_castering_angle = 3.14159265358979 ; Defines the maximum angle a free castering wheel can take (in radians). -point.0 = 1, 16.5, 0, -2.6, 750, 0, 0.7, 35, 0.29, 2.12, 0.33, 5, 5, 0, 260, 260, 2 -point.1 = 1, -4.25, -6, -3, 1500, 1, 0.77, 0, 0.14, 2.06, 0.33, 8, 8, 2, 260, 260, 2 -point.2 = 1, -4.25, 6, -3, 1500, 2, 0.77, 0, 0.14, 2.06, 0.33, 8, 8, 3, 260, 260, 2 -point.3 = 2, -6.5, -25, 1.6, 350, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 1 -point.4 = 2, -6.5, 25, 1.6, 350, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 1 -point.5 = 2, -17.4, 0, 1.5, 750, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 1 -point.6 = 2, 21.9, 0, 1.7, 350, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1 -point.7 = 2, -30, 0, 12, 350, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 1 -point.8 = 2, -3.5, 0, -0.7, 350, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1 -point.9 = 2, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1 - -[FUEL] -LeftMain = -3.5, -6, 0.5, 430, 5 ; For each tank: Tank position (z longitudinal, x lateral, y vertical) (FEET), total fuel capacity (GALLONS), unusable fuel capacity (GALLONS) -RightMain = -3.5, 6, 0.5, 430, 5 -Center1 = -3.6, 0, 0, 0, 0 -Center2 = -3.6, 0, 0, 0, 0 -Center3 = -3.6, 0, 0, 0, 0 -LeftAux = -3.6, 0, 0, 0, 0 -LeftTip = -3.6, 0, 0, 0, 0 -RightAux = -3.6, 0, 0, 0, 0 -RightTip = -3.6, 0, 0, 0, 0 -External1 = -3.6, 0, 0, 0, 0 -External2 = -3.6, 0, 0, 0, 0 -fuel_type = 2 ; 1 = OCTANE 100, 2 = JET_A, 3 = OCTANE 80, 4 = AUTO GAS, 5 = JET B -number_of_tank_selectors = 2 ; Max 4 -electric_pump = 1 -engine_driven_pump = 1 -manual_transfer_pump = 0 -manual_pump = 0 -anemometer_pump = 0 -fuel_dump_rate = 0.02 -default_fuel_tank_selector.1 = 1 ; Default fuel selector used in case of autostart for engine 1, default is ALL. -default_fuel_tank_selector.2 = 1 ; Default fuel selector used in case of autostart for engine 2, default is ALL. -default_fuel_tank_selector.3 = 1 ; Default fuel selector used in case of autostart for engine 3, default is ALL. -default_fuel_tank_selector.4 = 1 ; Default fuel selector used in case of autostart for engine 4, default is ALL. -fuel_transfer_pump.0 = 19, 20, 0.0714, 1 -fuel_transfer_pump.1 = 20, 19, 0.0714, 2 - -[AIRPLANE_GEOMETRY] -wing_area = 330 ; Wing area S (SQUARE FEET) -wing_span = 50.8 ; Wing span b (FEET) -wing_root_chord = 11 ; Wing root chord croot (FEET) -wing_camber = 1 ; (DEGREES) -wing_thickness_ratio = 0.02 ; Local thickness is local_chord(x)*wing_thickness_ratio, x = lateral coord -wing_dihedral = 3.7 ; Dihedral angle Lambda (DEGREES) -wing_incidence = 0 ; Wing incidence (DEGREES) -wing_twist = -4 ; Wing twist epsilon (DEGREES) -oswald_efficiency_factor = 0.75 ; Wing Oswald efficiency factor e (non dimensional) -wing_winglets_flag = 0 ; Has winglets true/false -wing_sweep = 16 ; Wing sweep (DEGREES) -wing_pos_apex_lon = 1.51747 ; Longitudinal (z) position of wing apex w.r.t reference datum (FEET) -wing_pos_apex_vert = 0 ; Vertical (y) position of wing apex w.r.t reference datum (FEET) -htail_area = 50 ; Horizontal tail area (SQUARE FEET) -htail_span = 22.3 ; Horizontal tail span (FEET) -htail_pos_lon = -28.5 ; Longitudinal (z) position of horizontal tail w.r.t reference datum (FEET) -htail_pos_vert = 12 ; Vertical (y) position of horizontal tail w.r.t reference datum (FEET) -htail_incidence = 2 ; Horizontal tail incidence (DEGREES) -htail_sweep = 20 ; Horizontal tail sweep angle (DEGREES) -htail_thickness_ratio = 0.04 ; Local thickness is local_chord(x)*htail_thickness_ratio, x = lateral coord -vtail_area = 40 ; Vertical tail area (SQUARE FEET) -vtail_span = 7 ; Vertical tail span (FEET) -vtail_sweep = 45 ; Vertical tail sweep angle (DEGREES) -vtail_pos_lon = -21 ; Longitudinal (z) position of vertical tail w.r.t reference datum (FEET) -vtail_pos_vert = 8 ; Vertical (y) position of vertical tail w.r.t reference datum (FEET) -vtail_thickness_ratio = 0.04 ; Local thickness is local_chord(x)*vtail_thickness_ratio, x = lateral coord -fuselage_length = 48 ; Nose to tail (FEET) -fuselage_diameter = 5.68 -fuselage_center_pos = 3, 0, 3 -elevator_area = 30 ; Elevator area (SQUARE FEET) -aileron_area = 14.1 ; Elevator area (SQUARE FEET) -rudder_area = 30 ; Elevator area (SQUARE FEET) -elevator_up_limit = 25.5 ; Elevator max deflection up angle (DEGREES) -elevator_down_limit = 12 ; Elevator max deflection down angle (absolute value) (DEGREES) -aileron_up_limit = 23 ; Aileron max deflection angle (DEGREES) -aileron_down_limit = 20 ; Aileron max deflection down angle (absolute value) (DEGREES) -rudder_limit = 16 ; Rudder max deflection angle (absolute value) (DEGREES) -rudder_trim_limit = 16 ; Rudder trim max deflection angle (absolute value) (DEGREES) -elevator_trim_limit = 15 ; Elevator trim max angle (absolute value) (DEGREES) -spoiler_limit = 60 ; Spoiler max deflection angle (absolute value) (DEGREES) -spoilerons_available = 0 ; Aircraft has spoilerons true/false -aileron_to_spoileron_gain = 4.6 ; Aileron influence on spoileron angle (non-dimensional) -min_ailerons_for_spoilerons = 5 ; Minimum aileron deflection (absolute value) in which spoilerons are active (DEGREES) -min_flaps_for_spoilerons = 0 ; Minimum flaps deflection (absolute value) in which spoilerons are active (DEGREES) -spoiler_extension_time = 2 ; Spoilers extension time (SECONDS) -spoiler_handle_available = 1 ; Spoiler handles available true/false -auto_spoiler_available = 0 ; Auto spoilers available true/false -auto_spoiler_min_speed = 0 ; Auto spoilers minimum trigger speed -positive_g_limit_flaps_up = 3 ; Flap positive load limit when up. Same dimension as gravity vector FEET/SECONDS^2 -positive_g_limit_flaps_down = 2.1 ; Flap positive load limit when down. Same dimension as gravity vector FEET/SECONDS^2 -negative_g_limit_flaps_up = -2.4 ; Flap negative load limit when up. Same dimension as gravity vector FEET/SECONDS^2 -negative_g_limit_flaps_down = -1.7 ; Flap negative load limit when down. Same dimension as gravity vector FEET/SECONDS^2 -load_safety_factor = 1 ; Flap negative load limit when down. Same dimension as gravity vector FEET/SECONDS^2 -elevator_trim_neutral = 2 ; Elevator trim max angle (absolute value) (DEGREES), for indicators only (no influence on flight model) -aileron_to_rudder_scale = 0 ; non-dimensional -flap_to_aileron_scale = 0 ; non-dimensional -fly_by_wire = 0 ; Fly-by-wire available true/false -elevator_elasticity_table = 0:1, 45:1, 200:0.33, 450:0.25 -aileron_elasticity_table = 0:1, 45:1, 200:0.33, 450:0.25 -rudder_elasticity_table = 0:1, 45:1, 200:0.33, 450:0.25 -elevator_trim_elasticity_table = 0:1, 45:1, 200:0.33, 450:0.25 - -[AERODYNAMICS] -lift_coef_pitch_rate = -23.65724 ; The change in lift per change in pitch rate -lift_coef_daoa = 0 ; lift per change in angle of attack rate -lift_coef_delta_elevator = -1.07922 ; The change in lift per change in elevator deflection -lift_coef_horizontal_incidence = 0 ; The change in lift per change in horizontal incidence angle -lift_coef_flaps = 0.5018 ; Change in lift due to flaps -lift_coef_spoilers = -0.1 ; Change in lift due to spoilers -drag_coef_zero_lift = 0.0227 ; The zero lift drag polar -drag_coef_flaps = 0.065 -drag_coef_gear = 0.035 -drag_coef_spoilers = 0.03 -side_force_slip_angle = -2.74637 ; (yaw angle) The change in side force per change in side slip angle -side_force_roll_rate = 0.56854 ; (roll velocity) The change in side force per change in roll rate -side_force_yaw_rate = 2.84314 ; (yaw velocity) The change in side force per change in yaw rate -side_force_delta_rudder = -2.54923 ; The change in side force per change in rudder deflection -pitch_moment_horizontal_incidence = 0 ; The change in pitch moment per change in horizontal incidence angle -pitch_moment_delta_elevator = -3.97964 ; The change in pitch moment per change in elevator deflection -pitch_moment_delta_trim = -3.97964 ; The change in pitch moment per change in trim -pitch_moment_pitch_damping = -419.7973 ; The change in pitch moment per change in pitch rate(PRIMARY PITCH STABILITY FACTOR). deg/s -pitch_moment_aoa_0 = -0.15332 ; Pitch moment at zero angle - of - attack -pitch_moment_daoa = 0 ; The change in pitch moment per change in angle of attack -pitch_moment_flaps = -0.05213 ; The pitch moment due to flaps -pitch_moment_gear = 0.00306 ; The pitch moment due to gear -pitch_moment_spoilers = 1.0 ; The pitch moment due to spoilers -pitch_moment_delta_elevator_propwash = -0.99491 -pitch_moment_pitch_propwash = 0 -roll_moment_slip_angle = 0.24939 ; The change in roll moment per sideslip angle(DIHEDRAL EFFECT) -roll_moment_roll_damping = -1.4369 -roll_moment_yaw_rate = -0.24061 -roll_moment_spoilers = 0 ; The change in roll moment due to spoilers -roll_moment_delta_aileron = -0.15163 ; (control)The change in roll moment per change in aileron deflection -roll_moment_delta_rudder = 0.33028 ; (control)The change in roll moment per change rudder deflection -roll_moment_delta_aileron_trim_scalar = -0.15163 ; Change in roll moment due to aileron trim -yaw_moment_slip_angle = 0.89291 ; The change in yaw moment per change sideslip angle(WEATHER VANING EFFECT) -yaw_moment_roll = 0.08554 ; (adverse yaw) The change in yaw moment per change in roll rate deg/s -yaw_moment_yaw_damping = -6.85431 ; (damping)The change in yaw moment per change in yaw rate(PRIMARY YAW STABILITY FACTOR deg/s) -yaw_moment_yaw_propwash = 0 ; (damping) -yaw_moment_delta_aileron = 0.00382 ; (adverse yaw) The change in yaw moment per change aileron deflection -yaw_moment_delta_rudder = 1.1374 ; (control)The change in yaw moment per change in rudder deflection PRIMARY YAW POWER FACTOR -yaw_moment_delta_rudder_propwash = 0.28435 ; (control) -yaw_moment_delta_rudder_trim_scalar = 1.1374 ; Change in yaw moment due to rudder trim -compute_aero_center = 0 -aero_center_lift = -2.6 ; Init to center -lift_coef_aoa_table = -3.15:0, -0.8:-1.185, -0.4:-0.987, -0.2:-0.698, -0.1:-0.489, 0:0.038, 0.2:1.154, 0.23:1.279, 0.26:1.39, 0.29:1.249, 0.31:1.159, 0.4:1.031, 0.8:1.207, 3.15:0 -lift_coef_ground_effect_mach_table = 0.054:1.25 -lift_coef_mach_table = 0:1 -lift_coef_delta_elevator_mach_table = 0:0 -lift_coef_daoa_mach_table = 0:0 -lift_coef_pitch_rate_mach_table = 0:0 -lift_coef_horizontal_incidence_mach_table = 0:0 -drag_coef_zero_lift_mach_tab = 0:0, 0.5:0, 0.55:0, 0.6:0, 0.65:0, 0.7:0, 0.75:0, 0.8:0, 0.85:0, 0.9:0, 0.95:0, 1:2, 1.1:2, 1.5:2 -side_force_slip_angle_mach_table = 0:0 -side_force_delta_rudder_mach_table = 0:0 -side_force_yaw_rate_mach_table = 0:0 -side_force_roll_rate_mach_table = 0:0 -pitch_moment_aoa_table = -3.15:0, -0.8:-1.599, -0.4:-1.272, -0.2:-0.686, -0.1:-0.348, 0:0, 0.2:0.742, 0.23:0.834, 0.26:0.92, 0.29:1.117, 0.31:1.224, 0.4:1.508, 0.8:1.962, 3.15:0 -pitch_moment_delta_elevator_aoa_table = -180:-1, -40:0.183, -20:0.697, -10:0.993, -5:1.091, 0:1, 5:0.815, 10:0.633, 20:0.298, 40:-0.164, 180:-1 ; AoA(alpha) is given in DEGREES -pitch_moment_horizontal_incidence_aoa_table = 0:1 ; AoA(alpha) is given in DEGREES -pitch_moment_daoa_aoa_table = 0:1 ; AoA(alpha) is given in DEGREES -pitch_moment_pitch_alpha_table = 0:1 ; AoA(alpha) is given in DEGREES -pitch_moment_delta_elevator_mach_table = 0:0 -pitch_moment_daoa_mach_table = 0:0 -pitch_moment_pitch_rate_mach_table = 0:0 -pitch_moment_horizontal_incidence_mach_table = 0:0 -pitch_moment_aoa_0_mach_table = 0:0 -roll_moment_aoa_table = 0:0 ; Cl (roll moment coef) versus AoA -roll_moment_slip_angle_aoa_table = 0:1 -roll_moment_roll_rate_aoa_table = 0:1 -roll_moment_delta_aileron_aoa_table = 0:1 -roll_moment_slip_angle_mach_table = 0:0 -roll_moment_delta_rudder_mach_table = 0:0 -roll_moment_delta_aileron_mach_table = 0:0 -roll_moment_yaw_rate_mach_table = 0:0 -roll_moment_roll_rate_mach_table = 0:0 -yaw_moment_aoa_table = 0:0 ; Cn (yaw moment coef) versus AoA -yaw_moment_slip_angle_aoa_table = 0:1 -yaw_moment_yaw_rate_aoa_table = 0:1 -yaw_moment_delta_rudder_aoa_table = 0:1 -yaw_moment_slip_angle_mach_table = 0:0 -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 ; 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.10000 -lift_coef_at_drag_zero_flaps = 0.10000 - -[FLIGHT_TUNING] -cruise_lift_scalar = 1 -parasite_drag_scalar = 1 -induced_drag_scalar = 1 -flap_induced_drag_scalar = 1 -elevator_effectiveness = 1 -elevator_maxangle_scalar = 0.5 -aileron_effectiveness = 0.5 -rudder_effectiveness = 1 -rudder_maxangle_scalar = 0.5 -pitch_stability = 0.25 -roll_stability = 0.25 -yaw_stability = 0.25 -pitch_gyro_stability = 1 -roll_gyro_stability = 1 -yaw_gyro_stability = 1 -elevator_trim_effectiveness = 1 -aileron_trim_effectiveness = 1 -rudder_trim_effectiveness = 1 -hi_alpha_on_roll = 0 -hi_alpha_on_yaw = 0 -p_factor_on_yaw = 0 -torque_on_roll = 0 -gyro_precession_on_roll = 0 -gyro_precession_on_yaw = 0 -engine_wash_on_roll = 0 ; Torque effect -wingflex_scalar = 1 -wingflex_offset = 0 -stall_coef_at_min_weight = 0.78 - -[REFERENCE SPEEDS] -full_flaps_stall_speed = 90 ; Knots True (KTAS) -flaps_up_stall_speed = 105 ; Knots True (KTAS) -cruise_speed = 451 ; Knots True (KTAS) -cruise_mach = 0.74 -crossover_speed = 285 ; Knots Indicated (KIAS) -max_mach = 0.77 -max_indicated_speed = 500 ; Red line (KIAS) -max_flaps_extended = 200 -normal_operating_speed = 305 -airspeed_indicator_max = 400 -rotation_speed_min = 115 ; Min speed required (Kts) -climb_speed = 138 ; Climb speed (Kts) -cruise_alt = 42000 ; (ft) -takeoff_speed = 115 ; Takeoff Speed (Kts) -spawn_cruise_altitude = 5000 ; Spawn Cruise Altitude (ft) -spawn_descent_altitude = 500 ; Spawn Descent Altitude (ft) -best_angle_climb_speed = 0 ; Best angle climb speed (Kts) -approach_speed = 118 ; Approach speed (Kts) -best_glide = 135 ; Best Glide (Kts) - -[INTERACTIVE POINTS] -number_of_interactive_points = 4 -interactive_point.0 = 0, 4, -30, -2.5, 3, 0, 0, -90, 0, 0, 0, 0, 0, 0 -interactive_point.1 = 0, 4, 30, -2.5, 3, 0, 0, 90, 0, 0, 0, 0, 0, 0 -interactive_point.2 = 0, -22, -13, -2.5, 4, 0, 0, -135, 0, 0, 0, 0, 0, 0 -interactive_point.3 = 0, -22, 23, -2.5, 4, 0, 0, 135, 0, 0, 0, 0, 0, 0 - -;===================== FLAPS ===================== - -[FLAPS.0] -type = 1 ; Flap type 0 = None, 1 = trailing edge, 2 = leading edge -system_type = 1 ; Flap system type 0 = electrical, 1 = hydraulic, 2 = pneumatic, 3 = manual, 4 = none -span-outboard = 0.57 ; Outboard span area (added area) (percentage, non dimensional) -extending-time = 5 ; Flap extension time (SECONDS) -damaging-speed = 275 ; Speed above which flap is damaged (Kts) -blowout-speed = 305 ; Speed above which flap is blown out (Kts) -maneuvering_flaps = 0 -lift_scalar = 1.6 ; Scalar coefficient to ponderate global flap lift coef (non dimensioned) -drag_scalar = 1.6 ; Scalar coefficient to ponderate global flap drag coef (non dimensioned) -pitch_scalar = 1 ; Scalar coefficient to ponderate global flap pitch coef (non dimensioned) -max_on_ground_position = 2 ; Dynamically set in-tool to last flap-position index by defaut when -1 is found. -flaps-position.0 = 0, -1, 0, 0, 0, 0, 0 -flaps-position.1 = 15, -1, 0.5, 0, 0, 0, 0 -flaps-position.2 = 35, -1, 1, 0, 0, 0, 0 - +[VERSION] +major = 1 +minor = 0 + +[WEIGHT_AND_BALANCE] +max_gross_weight = 17110 ; Empty weight, (LBS) +empty_weight = 10280 ; Empty weight, (LBS) +reference_datum_position = 0, 0, 0 ; Position of reference datum relative to FS(0,0,0) (FEET), z, x, y +;---empty_weight_CG_position = -2.0, 0, 2.5 ; Position of airplane empty weight CG relative to reference datum (FEET), z, x, y +;---default loading--- +;empty_weight_CG_position = -2.9, 0, 2.5 ; Position of airplane empty weight CG relative to reference datum (FEET), z, x, y +;---new loading--- +empty_weight_CG_position = -3.317, 0, 2.5 ; Position of airplane empty weight CG relative to reference datum (FEET), z, x, y +CG_forward_limit = 0.145 ; Gravity center forward limit (longitudinal offset) for longitudinal stability +CG_aft_limit = 0.28 ; Gravity center after limit (longitudinal offset z) w.r.t reference datum for longitudinal stability (FEET) +;---original-- +;empty_weight_pitch_MOI = 69403 ; Empty pitch moment of inertia, Jxx (SLUG SQ FEET) +;empty_weight_roll_MOI = 13434 ; Empty roll moment of inertia, Jzz (SLUG SQ FEET) +;empty_weight_yaw_MOI = 75997 ; Empty yaw moment of inertia, Jyy (SLUG SQ FEET) +;---modified x 1.5--- +empty_weight_pitch_MOI = 105000 ; Empty pitch moment of inertia, Jxx (SLUG SQ FEET) +empty_weight_roll_MOI = 20200 ; Empty roll moment of inertia, Jzz (SLUG SQ FEET) +empty_weight_yaw_MOI = 114000 ; Empty yaw moment of inertia, Jyy (SLUG SQ FEET) +empty_weight_coupled_MOI = 100 ; Empty transverse moment of inertia, Jyz (SLUG SQ FEET) +activate_mach_limit_based_on_cg = 0 ; Activate mach limitation depending on CG position (true if > 0 /false othewise). Mostly for Concorde). +activate_cg_limit_based_on_mach = 0 ; Activate cg limitation depending on mach value (true if > 0 /false othewise). Mostly for Concorde). +;---old layout with only 5 pax--- +;max_number_of_stations = 9 ; Number of payload stations +;station_load.0 = 170, 17.5, -1.2, 4, TT:MENU.PAYLOAD.PILOT, 1 +;station_load.1 = 170, 17.5, 1.2, 4, TT:MENU.PAYLOAD.COPILOT, 2 +;station_load.2 = 170, 0, -1.2, 4, TT:MENU.PAYLOAD.PASSENGER_01, 3 +,station_load.3 = 170, 0, 1.2, 4, TT:MENU.PAYLOAD.PASSENGER_02, 3 +,station_load.4 = 0, 3.6, -1.2, 4, TT:MENU.PAYLOAD.PASSENGER_03, 3 +,station_load.5 = 0, 3.6, 1.2, 4, TT:MENU.PAYLOAD.PASSENGER_04, 3 +,station_load.6 = 0, -0.6, -1.2, 4, TT:MENU.PAYLOAD.PASSENGER_05, 3 +,station_load.7 = 100, -7.5, 0, 0, TT:MENU.PAYLOAD.BAGGAGE_01, 6 +,station_load.8 = 50, -10.5, 0, 0, TT:MENU.PAYLOAD.BAGGAGE_02, 6 +;---new seat layout according cabin max 6 pax + couch--- +max_number_of_stations = 12 ; Number of payload stations +station_load.0 = 170, 16.0, -1.2, 4, TT:MENU.PAYLOAD.PILOT, 1 +station_load.1 = 170, 16.0, 1.2, 4, TT:MENU.PAYLOAD.COPILOT, 2 +station_load.2 = 170, 8.0, -1.2, 4, TT:MENU.PAYLOAD.PASSENGER_1, 3 +station_load.3 = 170, 8.0, 1.2, 4, TT:MENU.PAYLOAD.PASSENGER_2, 3 +station_load.4 = 170, 4.0, -1.2, 4, TT:MENU.PAYLOAD.PASSENGER_3, 3 +station_load.5 = 170, 4.0, 1.2, 4, TT:MENU.PAYLOAD.PASSENGER_4, 3 +station_load.6 = 170, 1.0, -1.2, 4, TT:MENU.PAYLOAD.PASSENGER_5, 3 +station_load.7 = 170, 1.0, -1.2, 4, TT:MENU.PAYLOAD.PASSENGER_6, 3 +station_load.8 = 0, 11.0, 1.2, 4, TT:MENU.PAYLOAD.COUCH, 3 +station_load.9 = 50, 13.0, -1.5, 0, TT:MENU.PAYLOAD.CABINET_FL, 6 +station_load.10 = 50, 13.0, 1.5, 0, TT:MENU.PAYLOAD.CABINET_FR, 6 +station_load.11= 200, -1.6, 1.5, 0, TT:MENU.PAYLOAD.BAGGAGE_RR, 6 + +[CONTACT_POINTS] +static_pitch = -1.7 ; degrees, pitch when at rest on the ground (+=Up, -=Dn) +static_cg_height = 2.75 ; feet, altitude of CG when at rest on the ground +gear_system_type = 1 ; gear system type (betweeen 0 and 4) 0 = electrical, 1 = hydraulic, 2 = pneumatic, 3 = manual, 4 = none, 5 = undefined +tailwheel_lock = 0 ; Is tailwheel lock available TRUE/FALSE +max_number_of_points = 10 ; Number of contact points +gear_locked_on_ground = 0 ; Defines whether or not the landing gear handle is locked to down when the plane is on the ground. +gear_locked_above_speed = -1 ; Defines the speed at which the landing gear handle becomes locked in the up position. (-1 = Disabled) +;---adjusted front gear steering--- +max_speed_full_steering = 13.5 ; =8 kts ;30 ; Defines the speed under which the full angle of steering is available (in feet/second). +max_speed_decreasing_steering = 67 ; =40 kts ; 30 ; Defines the speed above which the angle of steering stops decreasing (in feet/second). +min_available_steering_angle_pct = 0.2 ; Defines the percentage of steering which will always be available even above max_speed_decreasing_steering (in percent over 100). +max_speed_full_steering_castering = 20 ; =12 kts ;20 ; Defines the speed under which the full angle of steering is available for free castering wheels (in feet/second). +max_speed_decreasing_steering_castering = 100 ; =60 kts ;40 ; Defines the speed above which the angle of steering stops decreasing for free castering wheels (in feet/second). +min_castering_angle = 0.05236 ; =3° ;Defines the minimum angle a free castering wheel can take (in radians). +max_castering_angle = 1.05 ;=60° max deflection possible; was 3.14159265358979 = 180° ;Defines the maximum angle a free castering wheel can take (in radians). +;---adjusted front gear travel time--- +;point.0 = 1, 16.5, 0, -2.6, 750, 0, 0.7, 35, 0.29, 2.12, 0.33, 10, 10, 0, 260, 260, 2 +point.0 = 1, 16.5, 0, -2.6, 750, 0, 0.7, 60, 0.29, 2.12, 0.33, 5, 6, 0, 260, 260, 2 +;---adjusted main gear and travel time--- +;point.1 = 1, -4.25, -6, -3.0, 1500, 1, 0.77, 0, 0.14, 2.06, 0.33, 9, 9, 2, 260, 260, 2 +;point.2 = 1, -4.25, 6, -3.0, 1500, 2, 0.77, 0, 0.14, 2.06, 0.33, 9, 9, 3, 260, 260, 2 +point.1 = 1, -4.15, -6, -3.15, 1500, 1, 0.77, 0, 0.14, 2.06, 0.33, 9, 10, 2, 260, 260, 2 +point.2 = 1, -4.15, 6, -3.15, 1500, 2, 0.77, 0, 0.14, 2.06, 0.33, 9, 10, 3, 260, 260, 2 +point.3 = 2, -6.5, -25, 1.6, 350, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 1 +point.4 = 2, -6.5, 25, 1.6, 350, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 1 +point.5 = 2, -17.4, 0, 1.5, 750, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 1 +point.6 = 2, 21.9, 0, 1.7, 350, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1 +point.7 = 2, -30, 0, 12, 350, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 1 +point.8 = 2, -3.5, 0, -0.7, 350, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1 +point.9 = 2, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1 + +[FUEL] +;--- adjusted tanks position for new load stations--- +;LeftMain = -3.5, -6, 0.5, 430, 5 ; For each tank: Tank position (z longitudinal, x lateral, y vertical) (FEET), total fuel capacity (GALLONS), unusable fuel capacity (GALLONS) +;RightMain = -3.5, 6, 0.5, 430, 5 +LeftMain = -3.6, -6, 0.5, 430, 5 ; For each tank: Tank position (z longitudinal, x lateral, y vertical) (FEET), total fuel capacity (GALLONS), unusable fuel capacity (GALLONS) +RightMain = -3.6, 6, 0.5, 430, 5 +Center1 = -3.6, 0, 0, 0, 0 +Center2 = -3.6, 0, 0, 0, 0 +Center3 = -3.6, 0, 0, 0, 0 +LeftAux = -3.6, 0, 0, 0, 0 +LeftTip = -3.6, 0, 0, 0, 0 +RightAux = -3.6, 0, 0, 0, 0 +RightTip = -3.6, 0, 0, 0, 0 +External1 = -3.6, 0, 0, 0, 0 +External2 = -3.6, 0, 0, 0, 0 +fuel_type = 2 ; 1 = OCTANE 100, 2 = JET_A, 3 = OCTANE 80, 4 = AUTO GAS, 5 = JET B +number_of_tank_selectors = 2 ; Max 4 +electric_pump = 1 +engine_driven_pump = 1 +manual_transfer_pump = 0 +manual_pump = 0 +anemometer_pump = 0 +fuel_dump_rate = 0.02 +default_fuel_tank_selector.1 = 1 ; Default fuel selector used in case of autostart for engine 1, default is ALL. +default_fuel_tank_selector.2 = 1 ; Default fuel selector used in case of autostart for engine 2, default is ALL. +default_fuel_tank_selector.3 = 1 ; Default fuel selector used in case of autostart for engine 3, default is ALL. +default_fuel_tank_selector.4 = 1 ; Default fuel selector used in case of autostart for engine 4, default is ALL. +fuel_transfer_pump.0 = 19, 20, 0.0714, 1 +fuel_transfer_pump.1 = 20, 19, 0.0714, 2 + +[AIRPLANE_GEOMETRY] +wing_area = 330 ; Wing area S (SQUARE FEET) +wing_span = 50.8 ; Wing span b (FEET) +wing_root_chord = 11 ; Wing root chord croot (FEET) +wing_camber = 1 ; (DEGREES) +wing_thickness_ratio = 0.02 ; Local thickness is local_chord(x)*wing_thickness_ratio, x = lateral coord +wing_dihedral = 3.7 ; Dihedral angle Lambda (DEGREES) +wing_incidence = 0 ; Wing incidence (DEGREES) +wing_twist = -4 ; Wing twist epsilon (DEGREES) +oswald_efficiency_factor = 0.75 ; Wing Oswald efficiency factor e (non dimensional) +wing_winglets_flag = 0 ; Has winglets true/false +wing_sweep = 16 ; Wing sweep (DEGREES) +wing_pos_apex_lon = 1.51747 ; Longitudinal (z) position of wing apex w.r.t reference datum (FEET) +wing_pos_apex_vert = 0 ; Vertical (y) position of wing apex w.r.t reference datum (FEET) +htail_area = 50 ; Horizontal tail area (SQUARE FEET) +htail_span = 22.3 ; Horizontal tail span (FEET) +;---adjusted geometry according vectors--- +;---htail_pos_lon = -28.5 ; Longitudinal (z) position of horizontal tail w.r.t reference datum (FEET) +htail_pos_lon = -27.5 ; Longitudinal (z) position of horizontal tail w.r.t reference datum (FEET) +htail_pos_vert = 12 ; Vertical (y) position of horizontal tail w.r.t reference datum (FEET) +;---htail_incidence = 2 ; Horizontal tail incidence (DEGREES) +htail_incidence = 7.5 ; Horizontal tail incidence (DEGREES) +;---htail_sweep = 20 ; Horizontal tail sweep angle (DEGREES) +htail_sweep = 22 ; Horizontal tail sweep angle (DEGREES) +;---htail_thickness_ratio = 0.04 ; Local thickness is local_chord(x)*htail_thickness_ratio, x = lateral coord +htail_thickness_ratio = 0.035 ; 0.04 ;Local thickness is local_chord(x)*htail_thickness_ratio, x = lateral coord +vtail_area = 40 ; Vertical tail area (SQUARE FEET) +vtail_span = 7 ; Vertical tail span (FEET) +;---vtail_sweep = 45 ; Vertical tail sweep angle (DEGREES) +vtail_sweep = 50 ; Vertical tail sweep angle (DEGREES) +;---vtail_pos_lon = -21 ; Longitudinal (z) position of vertical tail w.r.t reference datum (FEET) +vtail_pos_lon = -19.0 ; Longitudinal (z) position of vertical tail w.r.t reference datum (FEET) +vtail_pos_vert = 8 ; Vertical (y) position of vertical tail w.r.t reference datum (FEET) +;---vtail_thickness_ratio = 0.04 ; Local thickness is local_chord(x)*vtail_thickness_ratio, x = lateral coord +vtail_thickness_ratio = 0.05 ; Local thickness is local_chord(x)*vtail_thickness_ratio, x = lateral coord +fuselage_length = 48 ; Nose to tail (FEET) +fuselage_diameter = 5.68 +fuselage_center_pos = 3, 0, 3 +elevator_area = 30 ; Elevator area (SQUARE FEET) +aileron_area = 14.1 ; Elevator area (SQUARE FEET) +rudder_area = 30 ; Elevator area (SQUARE FEET) +elevator_up_limit = 25.5 ; Elevator max deflection up angle (DEGREES) +elevator_down_limit = 12 ; Elevator max deflection down angle (absolute value) (DEGREES) +aileron_up_limit = 23 ; Aileron max deflection angle (DEGREES) +aileron_down_limit = 20 ; Aileron max deflection down angle (absolute value) (DEGREES) +rudder_limit = 16 ; Rudder max deflection angle (absolute value) (DEGREES) +rudder_trim_limit = 16 ; Rudder trim max deflection angle (absolute value) (DEGREES) +elevator_trim_limit = 15 ; Elevator trim max angle (absolute value) (DEGREES) +spoiler_limit = 60 ; Spoiler max deflection angle (absolute value) (DEGREES) +spoilerons_available = 0 ; Aircraft has spoilerons true/false +aileron_to_spoileron_gain = 4.6 ; Aileron influence on spoileron angle (non-dimensional) +min_ailerons_for_spoilerons = 5 ; Minimum aileron deflection (absolute value) in which spoilerons are active (DEGREES) +min_flaps_for_spoilerons = 0 ; Minimum flaps deflection (absolute value) in which spoilerons are active (DEGREES) +spoiler_extension_time = 2 ; Spoilers extension time (SECONDS) +spoiler_handle_available = 1 ; Spoiler handles available true/false +auto_spoiler_available = 0 ; Auto spoilers available true/false +auto_spoiler_min_speed = 0 ; Auto spoilers minimum trigger speed +positive_g_limit_flaps_up = 3 ; Flap positive load limit when up. Same dimension as gravity vector FEET/SECONDS^2 +positive_g_limit_flaps_down = 2.1 ; Flap positive load limit when down. Same dimension as gravity vector FEET/SECONDS^2 +negative_g_limit_flaps_up = -2.4 ; Flap negative load limit when up. Same dimension as gravity vector FEET/SECONDS^2 +negative_g_limit_flaps_down = -1.7 ; Flap negative load limit when down. Same dimension as gravity vector FEET/SECONDS^2 +load_safety_factor = 1 ; Flap negative load limit when down. Same dimension as gravity vector FEET/SECONDS^2 +elevator_trim_neutral = 4 ; Elevator trim max angle (absolute value) (DEGREES), for indicators only (no influence on flight model) +aileron_to_rudder_scale = 0 ; non-dimensional +flap_to_aileron_scale = 0 ; non-dimensional +fly_by_wire = 0 ; Fly-by-wire available true/false + +;---original--- +;elevator_elasticity_table = 0:1, 45:1, 200:0.33, 450:0.25 +;aileron_elasticity_table = 0:1, 45:1, 200:0.33, 450:0.25 +;rudder_elasticity_table = 0:1, 45:1, 200:0.33, 450:0.25 +;elevator_trim_elasticity_table = 0:1, 45:1, 200:0.33, 450:0.25 +;---modified AMM to match speed profile -- +; KIAS 0 120 170 240 295 +elevator_elasticity_table= 0:1.00, 50:1.00, 100:1.00, 200:0.90, 300:0.85 +aileron_elasticity_table= 0:1.00, 50:1.00, 100:1.00, 200:0.90, 300:0.85 +rudder_elasticity_table= 0:1.00, 50:1.00, 100:1.00, 200:0.90, 300:0.85 +elevator_trim_elasticity_table= 0:1.00, 50:1.00, 100:0.85, 200:0.75, 300:0.65 + +[AERODYNAMICS] +lift_coef_pitch_rate = -21.65623 +lift_coef_daoa = 0.0 +lift_coef_delta_elevator = -1.25480 +lift_coef_horizontal_incidence = 0.0 +lift_coef_flaps = 0.50180 +lift_coef_spoilers = -0.10000 +drag_coef_zero_lift = 0.02270 +;---drag adjustments--- +;drag_coef_flaps = 0.14530 +;drag_coef_gear = 0.00500 +drag_coef_spoilers = 0.10000 +drag_coef_flaps = 0.065 +drag_coef_gear = 0.035 +drag_coef_spoilers = 0.02 +side_force_slip_angle = -2.76027 +side_force_roll_rate = 0.46763 +side_force_yaw_rate = 3.17528 +side_force_delta_rudder = -2.95991 +pitch_moment_horizontal_incidence = 0.0 +pitch_moment_delta_elevator = -5.17207 +pitch_moment_delta_trim = -5.17207 +pitch_moment_pitch_damping = -384.10074 +pitch_moment_aoa_0 = -0.11408 +pitch_moment_daoa = 0.0 +pitch_moment_flaps = 0.01969 +pitch_moment_gear = 0.00306 +pitch_moment_spoilers = -0.03020 +pitch_moment_delta_elevator_propwash = -1.29302 +pitch_moment_pitch_propwash = 0.0 +roll_moment_slip_angle = 0.20555 +roll_moment_roll_damping = -1.26308 +roll_moment_yaw_rate = -0.23831 +roll_moment_spoilers = 0.0 +roll_moment_delta_aileron = -0.21060 +roll_moment_delta_rudder = 0.20046 +roll_moment_delta_aileron_trim_scalar = -0.21060 +yaw_moment_slip_angle = 0.95206 +yaw_moment_roll = 0.05510 +yaw_moment_yaw_damping = -7.35093 +yaw_moment_yaw_propwash = 0.0 +yaw_moment_delta_aileron = 0.00286 +yaw_moment_delta_rudder = 0.72557 +yaw_moment_delta_rudder_propwash = 0.18139 +yaw_moment_delta_rudder_trim_scalar = 0.72557 +compute_aero_center = 0 +;---adjusting to new load distribution--- +;aero_center_lift = -2.60000 +aero_center_lift = -2.77 +lift_coef_aoa_table = -3.15:0, -0.8:-1.073, -0.4:-0.795, -0.2:-0.980, -0.1:-0.656, 0:0.038, 0.20:1.275, 0.23:1.390, 0.26:1.194, 0.29:1.035, 0.31:0.973, 0.4:0.733, 0.8:1.078, 3.15:0 +lift_coef_ground_effect_mach_table = 0.054:1.25 +lift_coef_mach_table = 0:1 +lift_coef_delta_elevator_mach_table = 0:0 +lift_coef_daoa_mach_table = 0:0 +lift_coef_pitch_rate_mach_table = 0:0 +lift_coef_horizontal_incidence_mach_table = 0:0 +drag_coef_zero_lift_mach_tab = 0:0.000, 0.5:0.000, 0.55:0.000, 0.6:0.000, 0.65:0.000, 0.7:0.000, 0.75:0.000, 0.8:0.000, 0.85:0.000, 0.9:0.000, 0.95:0.000, 1.0:2.000, 1.1:2.000, 1.5:2.000 +side_force_slip_angle_mach_table = 0:0 +side_force_delta_rudder_mach_table = 0:0 +side_force_yaw_rate_mach_table = 0:0 +side_force_roll_rate_mach_table = 0:0 +pitch_moment_aoa_table = -3.15:0, -0.8:-1.131, -0.4:-0.526, -0.2:-0.613, -0.1:-0.436, 0:0, 0.20:0.767, 0.23:0.788, 0.26:0.887, 0.29:0.898, 0.31:0.868, 0.4:0.765, 0.8:1.364, 3.15:0 +pitch_moment_delta_elevator_aoa_table = -180:-1, -40:0.211, -20:0.180, -14:0.725, -7:0.955, 0:1, 7:1.023, 14:0.943, 20:0.390, 40:0.168, 180:-1 +pitch_moment_horizontal_incidence_aoa_table = 0:1 +pitch_moment_daoa_aoa_table = 0:1 +pitch_moment_pitch_alpha_table = 0:1 +pitch_moment_delta_elevator_mach_table = 0:0 +pitch_moment_daoa_mach_table = 0:0 +pitch_moment_pitch_rate_mach_table = 0:0 +pitch_moment_horizontal_incidence_mach_table = 0:0 +pitch_moment_aoa_0_mach_table = 0:0 +roll_moment_aoa_table = 0:0 +roll_moment_slip_angle_aoa_table = 0:1 +roll_moment_roll_rate_aoa_table = 0:1 +roll_moment_delta_aileron_aoa_table = 0:1 +roll_moment_slip_angle_mach_table = 0:0 +roll_moment_delta_rudder_mach_table = 0:0 +roll_moment_delta_aileron_mach_table = 0:0 +roll_moment_yaw_rate_mach_table = 0:0 +roll_moment_roll_rate_mach_table = 0:0 +yaw_moment_aoa_table = 0:0 +yaw_moment_slip_angle_aoa_table = 0:1 +yaw_moment_yaw_rate_aoa_table = 0:1 +yaw_moment_delta_rudder_aoa_table = 0:1 +yaw_moment_slip_angle_mach_table = 0:0 +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 +aileron_scaling_table = 0:1 +rudder_scaling_table = 0:1 +aileron_load_factor_effectiveness_table = 0:1 +lift_coef_at_drag_zero = 0.10000 +lift_coef_at_drag_zero_flaps = 0.10000 + +[FLIGHT_TUNING] +cruise_lift_scalar = 1 +parasite_drag_scalar = 1 +induced_drag_scalar = 1 +flap_induced_drag_scalar = 1 +;---original--- +;aileron_effectiveness = 0.4 +;elevator_effectiveness = 1 +;elevator_maxangle_scalar = 0.45 +;rudder_effectiveness = 1 +;rudder_maxangle_scalar = 0.33 +;---modified AMM reducing elevator and rudder for moving chord calculation--- +aileron_effectiveness = 0.45 +elevator_effectiveness = 0.70 +elevator_maxangle_scalar = 0.40 +rudder_effectiveness = 0.75 +rudder_maxangle_scalar = 0.40 +;---original--- +;pitch_stability = 0.25 +;roll_stability = 0.25 +;yaw_stability = 0.25 +;pitch_gyro_stability = 1 +;roll_gyro_stability = 1 +;yaw_gyro_stability = 1 +;---modified AMM to my standard settings--- +pitch_stability=1 +roll_stability=1 +yaw_stability=1 +;pitch_gyro_stability=0.25 +;roll_gyro_stability=0.25 +;yaw_gyro_stability=0.25 +;---modified AMM to less inertia settings -- +pitch_gyro_stability=0.20 +roll_gyro_stability=0.20 +yaw_gyro_stability=0.20 +aileron_trim_effectiveness = 1 +elevator_trim_effectiveness = 1 +rudder_trim_effectiveness = 1 +hi_alpha_on_roll = 0 +hi_alpha_on_yaw = 0 +p_factor_on_yaw = 0 +torque_on_roll = 0 +gyro_precession_on_roll = 0 +gyro_precession_on_yaw = 0 +engine_wash_on_roll = 0 ; Torque effect +wingflex_scalar = 1 +wingflex_offset = 0 +stall_coef_at_min_weight = 0.78 + +[REFERENCE SPEEDS] +full_flaps_stall_speed = 90 ; Knots True (KTAS) +flaps_up_stall_speed = 105 ; Knots True (KTAS) +cruise_speed = 451 ; Knots True (KTAS) +cruise_mach = 0.74 +crossover_speed = 285 ; Knots Indicated (KIAS) +max_mach = 0.77 +max_indicated_speed = 500 ; Red line (KIAS) +max_flaps_extended = 200 +normal_operating_speed = 305 +airspeed_indicator_max = 400 +rotation_speed_min = 115 ; Min speed required (Kts) +climb_speed = 138 ; Climb speed (Kts) +cruise_alt = 42000 ; (ft) +takeoff_speed = 115 ; Takeoff Speed (Kts) +spawn_cruise_altitude = 5000 ; Spawn Cruise Altitude (ft) +spawn_descent_altitude = 500 ; Spawn Descent Altitude (ft) +best_angle_climb_speed = 0 ; Best angle climb speed (Kts) +approach_speed = 118 ; Approach speed (Kts) +best_glide = 135 ; Best Glide (Kts) + +[INTERACTIVE POINTS] +number_of_interactive_points = 4 +interactive_point.0 = 0, 4, -30, -2.5, 3, 0, 0, -90, 0, 0, 0, 0, 0, 0 +interactive_point.1 = 0, 4, 30, -2.5, 3, 0, 0, 90, 0, 0, 0, 0, 0, 0 +interactive_point.2 = 0, -22, -13, -2.5, 4, 0, 0, -135, 0, 0, 0, 0, 0, 0 +interactive_point.3 = 0, -22, 23, -2.5, 4, 0, 0, 135, 0, 0, 0, 0, 0, 0 + +;===================== FLAPS ===================== + +[FLAPS.0] +type = 1 ; Flap type 0 = None, 1 = trailing edge, 2 = leading edge +system_type = 1 ; Flap system type 0 = electrical, 1 = hydraulic, 2 = pneumatic, 3 = manual, 4 = none +span-outboard = 0.57 ; Outboard span area (added area) (percentage, non dimensional) +extending-time = 5 ; Flap extension time (SECONDS) +damaging-speed = 275 ; Speed above which flap is damaged (Kts) +blowout-speed = 305 ; Speed above which flap is blown out (Kts) +maneuvering_flaps = 0 +lift_scalar = 1.6 ; Scalar coefficient to ponderate global flap lift coef (non dimensioned) +drag_scalar = 1.6 ; Scalar coefficient to ponderate global flap drag coef (non dimensioned) +pitch_scalar = 1 ; Scalar coefficient to ponderate global flap pitch coef (non dimensioned) +max_on_ground_position = 2 ; Dynamically set in-tool to last flap-position index by defaut when -1 is found. +flaps-position.0 = 0, -1, 0, 0, 0, 0, 0 +flaps-position.1 = 15, -1, 0.5, 0, 0, 0, 0 +flaps-position.2 = 35, -1, 1, 0, 0, 0, 0 + diff --git a/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/systems.cfg b/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/systems.cfg index 1cf2e8447f..d3d0d9e9d2 100644 --- a/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/systems.cfg +++ b/src/workingtitle-aircraft-cj4/SimObjects/Airplanes/Asobo_CJ4/systems.cfg @@ -49,8 +49,8 @@ lightdef.34=Type:13#Index:0#LocalPosition:-3,0,3#LocalRotation:0,0,0#EffectFile: [BRAKES] parking_brake =1 auto_brakes =0 -toe_brakes_scale =0.5 -differential_braking_scale =0 +toe_brakes_scale =0.65 : 0.5 +differential_braking_scale =1 ; 0 hydraulic_system_scalar =1 [ELECTRICAL] From 50bbc9c79fd4277e089ff7f07a7214b5b83fbc3a Mon Sep 17 00:00:00 2001 From: dga711 Date: Sun, 3 Jan 2021 01:14:54 +0100 Subject: [PATCH 18/85] better COMs solution --- .../ModelBehaviorDefs/Asobo_CJ4/Deice.xml | 2 +- .../ModelBehaviorDefs/Asobo_CJ4/Engine.xml | 2 +- .../Airplanes/Asobo_CJ4/model/CJ4_Cockpit.xml | 21 ++++++++++++------- .../Instruments/Airliners/CJ4/FMC/CJ4_FMC.js | 17 --------------- 4 files changed, 15 insertions(+), 27 deletions(-) diff --git a/src/workingtitle-aircraft-cj4/ModelBehaviorDefs/Asobo_CJ4/Deice.xml b/src/workingtitle-aircraft-cj4/ModelBehaviorDefs/Asobo_CJ4/Deice.xml index 624cd9e196..efdbceb36a 100644 --- a/src/workingtitle-aircraft-cj4/ModelBehaviorDefs/Asobo_CJ4/Deice.xml +++ b/src/workingtitle-aircraft-cj4/ModelBehaviorDefs/Asobo_CJ4/Deice.xml @@ -1,5 +1,5 @@ - +