Skip to content
This repository has been archived by the owner on May 16, 2024. It is now read-only.

Commit

Permalink
Merge pull request #1092 from Working-Title-MSFS-Mods/cj4-preprelease…
Browse files Browse the repository at this point in the history
…-0.12.1

CJ4 v0.12.1 Prerelease
  • Loading branch information
cwburnett authored Apr 15, 2021
2 parents 0185c5a + 879cbf7 commit b97ecbb
Show file tree
Hide file tree
Showing 15 changed files with 233 additions and 145 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<AssetPackage Name="workingtitle-aircraft-cj4" Version="0.12.0">
<AssetPackage Name="workingtitle-aircraft-cj4" Version="0.12.1">
<ItemSettings>
<ContentType>CUSTOM</ContentType>
<Title>CJ4</Title>
Expand Down
2 changes: 1 addition & 1 deletion PackageDefinitions/workingtitle-aircraft-cj4.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<AssetPackage Name="workingtitle-aircraft-cj4" Version="0.12.0">
<AssetPackage Name="workingtitle-aircraft-cj4" Version="0.12.1">
<ItemSettings>
<ContentType>CUSTOM</ContentType>
<Title>CJ4</Title>
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Track Updates and Progress on Discord [https://discord.com/invite/Fa6w2xK](https

Project | Description | Current Version | Documentation
--------|-------------|-----------------|--------------
CJ4 | OPEN BETA - Performance and avionics improvements for the Citation CJ4 | [v0.12.0](https://github.com/Working-Title-MSFS-Mods/fspackages/releases/tag/cj4-v0.12.0) | [docs](https://github.com/Working-Title-MSFS-Mods/fspackages/tree/main/docs/workingtitle-cj4)
G1000 | Fixes and enhancements for the stock G1000 avionics package | [v0.3.4](https://github.com/Working-Title-MSFS-Mods/fspackages/releases/tag/g1000-v0.3.4) | [docs](https://github.com/Working-Title-MSFS-Mods/fspackages/tree/main/docs/workingtitle-g1000)
CJ4 | OPEN BETA - Performance and avionics improvements for the Citation CJ4 | [v0.12.1](https://github.com/Working-Title-MSFS-Mods/fspackages/releases/tag/cj4-v0.12.1) | [docs](https://github.com/Working-Title-MSFS-Mods/fspackages/tree/main/docs/workingtitle-cj4)
G1000 | Fixes and enhancements for the stock G1000 avionics package | [v0.3.5](https://github.com/Working-Title-MSFS-Mods/fspackages/releases/tag/g1000-v0.3.5) | [docs](https://github.com/Working-Title-MSFS-Mods/fspackages/tree/main/docs/workingtitle-g1000)
G3000 | Fixes and enhancements for the stock G3000 avionics package | [v0.5.1](https://github.com/Working-Title-MSFS-Mods/fspackages/releases/tag/g3000-v0.5.1) | [docs](https://github.com/Working-Title-MSFS-Mods/fspackages/tree/main/docs/workingtitle-g3000)
GX | Fixes and enhancements for the stock G3X Touch avionics package | [v0.1.0-dev6](https://github.com/Working-Title-MSFS-Mods/fspackages/releases/tag/gx-v0.1.0-dev6) | [docs](https://github.com/Working-Title-MSFS-Mods/fspackages/tree/main/docs/workingtitle-gx)
65 changes: 8 additions & 57 deletions docs/workingtitle-cj4/CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Working Title CJ4 v0.12.0
Welcome to the Working Title CJ4 v0.12.0. This version brings a boatload of bug fixes and tweaks, including a new custom vertical autopilot that has allowed us to add altitude capture for PTCH mode, TO/GA modes and improve the altitude capture mechanics of the autopilot.
# Working Title CJ4 v0.12.1
Welcome to the Working Title CJ4 v0.12.1. This version brings a boatload of bug fixes and tweaks, including a new custom vertical autopilot that has allowed us to add altitude capture for PTCH mode, TO/GA modes and improve the altitude capture mechanics of the autopilot.

## READ THE GUIDE
Please, please, please read the guide for instructions on using features. A lot of hard work went into writing the guide and the Discord channels are clogged with questions that are readily answered in the guide.
Expand All @@ -13,61 +13,12 @@ Installation is easy, simply copy the `workingtitle-aircraft-cj4` folder inside

# Changes

## VNAV CLIMB
VNAV Climb should now be working correctly - we know that we've warned many people in past versions to turn it off if it isn't working, but at this point we believe it works as designed. As a refresher, in the CJ4, VNAV in climb is NOT A PATH. It simply provides protection for the pilot to not exceed an AT or AT OR BELOW constraint in the departure procedure. The protection exists ONLY for waypoints that are loaded into the FMC as part of a DEPARTURE PROCEDURE. If you add other waypoints beyond the DP, those constraints will not be respected as climb constraints.

## AUTOPILOT/MODES
- Enabled APPR mode for ILS when tuned in PFD even when an approach is not loaded in the FMC.
- Added custom vertical autopilot to manage altitude capture and hold modes. (note: the ALT button is now tied to H:WT_CJ4_AP_ALT_PRESSED and the emissive lvar is L:WT_CJ4_ALT_HOLD)
- Added altitude capture for PTCH mode.
- Added altitude capture for TO/GA modes.
- Enabled ability to arm LNAV on the ground and set activation at 400' AGL.
- Fixed bug with not being able to turn off the Flight Director when FMA modes are annunciated - the FD button will now disable all modes when being turned off, as long as the AP is not on.
- Fixed bug that prevented VNAV button press from being read when APPR mode was active - now it is only force disabled when GP/GS have been captured and those are the active vertical modes.

## PFD
- Added PITCH REF value to the FMA when in PTCH mode.
- PFD Baro preset bug fixed where improper units would sometimes display with the baro preset window open.
- Fixed bugs with selected altitude < 0 or > 45,000; these values will not display AND the simvar values will not exceed those limits (you can't get stuck below 0 anymore).
- Removed inaccurate feature of resetting the FMA modes upon landing - they will now remain in the last selected modes until the FD is turned off.

## MFD
- Improved map/terrain mask (thanks Slip!).
- Improved ROSE/ARC display to better reflect the real aircraft.
- Improved min wind vector/speed display.
- Fixed bug where DES waypoint would appear even after it had been passed sometimes on the map.
- Improved gps track bug on MFD/PFD and enable during ground ops.
- Added ability for FMS Text VNAV window to display climb data even when no descent/arrival is picked, and also to show arrival/TOD data after climb constraints have passed.
- Fixed the Range Banana (altitude intercept arc) on the PFD/MFD to only display the point where the SELECTED altitude will be intercepted, not the VNAV altitude.

## FMC
- Added runway slope calculations to Takeoff and Landing Ref pages - you can now enter a slope and the relevant TOFL/LFL number will adjust accordingly.
- Added landing factor distance selection on Approach Ref page - you can now select the landing factor.
- Added ability to enter custom/new pax weight on PERF INIT page using format "/XXX" or "5/XXX" and the pax weight value is persistent.
- Added ability to enter Gross Weight on PERF INIT page to override ZFW and/or Pax/Cargo inputs.
- Fixed bug where the final approach fix calculation in LNAV sometimes chose the missed approach waypoint as the FAF.
- Fixed bug that sometimes caused the departure runway to be undefined (black FMC screen) after flight plan import.
- Adjusted DIRTO and Vertical Direct page and capabilities to fix bug not allowing a second vertical direct, not allowing a vertical direct to a current direct to waypoint.
- Added ability to select any vertical waypoint with a constraint for a direct to; when constraints are A/B or A/ the altitude targeted will be the ABOVE value.
- Fixed bug causing VREF/VAPP display error in FMC in certain circumstances.
- Removed departure runway altitude from flight plan and LEGS page.

## VNAV
- Fixed bug that would prevent a climb in cases where there is no SID, but a STAR exists and has constraints.
- Adjusted VNAV FMS Text window to display descent data as soon as the last departure constraint is passed, instead of waiting until the departure procedure has been completely flown.
- Fixed bug with missing some A/B or A/ constraints in the first descent segment in some rare cases.
- Changed behavior of path smoothing to cause the first descent segment to always be at the requested VPA in the VNAV DESCENT setup page.
- Fixed bug with VNAV calculations after a DIR TO.
- Adjusted behavior after FPLN change is made that adjusts the PATH; if the new PATH causes an out-of-activation range problem, AP mode changes to PTCH.
- Fixed bug where after PATH arms in an ABOVE PATH intercept situation, PATH won't disarm even if you deviate from intercept parameters.
- Extensive debugging and fixing of obscure/non-normal cases.

## FLIGHT MODEL
- Adjusted idle thrust.
- Adjusted 75% thrust error in thrust table.

## MODEL
- Adjusted behavior of the panel light knob to replicate the function of the knob in the real aircraft - full on is DAY setting, and this is the ONLY setting to get daytime charts.
- Fixed bugs with parsing TUN page inputs.
- Minor cleanup on DSPL MENU FMC page.
- Fixed bugs with leg altitude (constraint) parsing to address some incorrect constraints in some European approaches.
- Fix for erroneous sim autopilot altitude capture when using a hardware button tied to all the altitude slots and not just slot 1.
- Fix for some erroneous situations where VNAV PATH kicks you to PTCH incorrectly.
- Fix for sequencing missed approach on Go-Around after a new approach is selected.

## ⚠️ Known Issues
* In the latest versions of Navigraph data, some "lettered" or non-runway-specific approaches now appear as something like RNAV A - 00 and do not allow the selection of a landing runway, preventing using the Approach Refs page - this is something we will be working to address in the future.
Expand Down
79 changes: 79 additions & 0 deletions docs/workingtitle-cj4/Working Title CJ4 v0.12.0 Changes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Working Title CJ4 v0.12.0
Welcome to the Working Title CJ4 v0.12.0. This version brings a boatload of bug fixes and tweaks, including a new custom vertical autopilot that has allowed us to add altitude capture for PTCH mode, TO/GA modes and improve the altitude capture mechanics of the autopilot.

## READ THE GUIDE
Please, please, please read the guide for instructions on using features. A lot of hard work went into writing the guide and the Discord channels are clogged with questions that are readily answered in the guide.

GUIDE: https://docs.google.com/document/d/1qzxPMTSQRkvau8QOi7xUqNvjx9rbww_qHlso5AT5OnI

## 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.**

# Changes

## VNAV CLIMB
VNAV Climb should now be working correctly - we know that we've warned many people in past versions to turn it off if it isn't working, but at this point we believe it works as designed. As a refresher, in the CJ4, VNAV in climb is NOT A PATH. It simply provides protection for the pilot to not exceed an AT or AT OR BELOW constraint in the departure procedure. The protection exists ONLY for waypoints that are loaded into the FMC as part of a DEPARTURE PROCEDURE. If you add other waypoints beyond the DP, those constraints will not be respected as climb constraints.

## AUTOPILOT/MODES
- Enabled APPR mode for ILS when tuned in PFD even when an approach is not loaded in the FMC.
- Added custom vertical autopilot to manage altitude capture and hold modes. (note: the ALT button is now tied to H:WT_CJ4_AP_ALT_PRESSED and the emissive lvar is L:WT_CJ4_ALT_HOLD)
- Added altitude capture for PTCH mode.
- Added altitude capture for TO/GA modes.
- Enabled ability to arm LNAV on the ground and set activation at 400' AGL.
- Fixed bug with not being able to turn off the Flight Director when FMA modes are annunciated - the FD button will now disable all modes when being turned off, as long as the AP is not on.
- Fixed bug that prevented VNAV button press from being read when APPR mode was active - now it is only force disabled when GP/GS have been captured and those are the active vertical modes.

## PFD
- Added PITCH REF value to the FMA when in PTCH mode.
- PFD Baro preset bug fixed where improper units would sometimes display with the baro preset window open.
- Fixed bugs with selected altitude < 0 or > 45,000; these values will not display AND the simvar values will not exceed those limits (you can't get stuck below 0 anymore).
- Removed inaccurate feature of resetting the FMA modes upon landing - they will now remain in the last selected modes until the FD is turned off.

## MFD
- Improved map/terrain mask (thanks Slip!).
- Improved ROSE/ARC display to better reflect the real aircraft.
- Improved min wind vector/speed display.
- Fixed bug where DES waypoint would appear even after it had been passed sometimes on the map.
- Improved gps track bug on MFD/PFD and enable during ground ops.
- Added ability for FMS Text VNAV window to display climb data even when no descent/arrival is picked, and also to show arrival/TOD data after climb constraints have passed.
- Fixed the Range Banana (altitude intercept arc) on the PFD/MFD to only display the point where the SELECTED altitude will be intercepted, not the VNAV altitude.

## FMC
- Added runway slope calculations to Takeoff and Landing Ref pages - you can now enter a slope and the relevant TOFL/LFL number will adjust accordingly.
- Added landing factor distance selection on Approach Ref page - you can now select the landing factor.
- Added ability to enter custom/new pax weight on PERF INIT page using format "/XXX" or "5/XXX" and the pax weight value is persistent.
- Added ability to enter Gross Weight on PERF INIT page to override ZFW and/or Pax/Cargo inputs.
- Fixed bug where the final approach fix calculation in LNAV sometimes chose the missed approach waypoint as the FAF.
- Fixed bug that sometimes caused the departure runway to be undefined (black FMC screen) after flight plan import.
- Adjusted DIRTO and Vertical Direct page and capabilities to fix bug not allowing a second vertical direct, not allowing a vertical direct to a current direct to waypoint.
- Added ability to select any vertical waypoint with a constraint for a direct to; when constraints are A/B or A/ the altitude targeted will be the ABOVE value.
- Fixed bug causing VREF/VAPP display error in FMC in certain circumstances.
- Removed departure runway altitude from flight plan and LEGS page.

## VNAV
- Fixed bug that would prevent a climb in cases where there is no SID, but a STAR exists and has constraints.
- Adjusted VNAV FMS Text window to display descent data as soon as the last departure constraint is passed, instead of waiting until the departure procedure has been completely flown.
- Fixed bug with missing some A/B or A/ constraints in the first descent segment in some rare cases.
- Changed behavior of path smoothing to cause the first descent segment to always be at the requested VPA in the VNAV DESCENT setup page.
- Fixed bug with VNAV calculations after a DIR TO.
- Adjusted behavior after FPLN change is made that adjusts the PATH; if the new PATH causes an out-of-activation range problem, AP mode changes to PTCH.
- Fixed bug where after PATH arms in an ABOVE PATH intercept situation, PATH won't disarm even if you deviate from intercept parameters.
- Extensive debugging and fixing of obscure/non-normal cases.

## FLIGHT MODEL
- Adjusted idle thrust.
- Adjusted 75% thrust error in thrust table.

## MODEL
- Adjusted behavior of the panel light knob to replicate the function of the knob in the real aircraft - full on is DAY setting, and this is the ONLY setting to get daytime charts.

## ⚠️ Known Issues
* In the latest versions of Navigraph data, some "lettered" or non-runway-specific approaches now appear as something like RNAV A - 00 and do not allow the selection of a landing runway, preventing using the Approach Refs page - this is something we will be working to address in the future.
* Some external applications that use the GPS/Flight plan SimVars may not function correctly or as expected when FP Sync is off.
* Loading and saving flights can have bad results.
* Custom liveries can render FADEC inoperative if they ship with a panel.cfg. Painters should reference the new [REPAINT_README.md](https://github.com/Working-Title-MSFS-Mods/fspackages/blob/main/docs/workingtitle-cj4/REPAINT_README.md) file included in the docs folder of the Github repository.
* Autopilot modes cannot be triggered via key bindings or controllers and must currently be triggered in the cockpit with the mouse. External binding applications are adding support for LVars and HEvents. Used SimVars are documented [here](https://github.com/Working-Title-MSFS-Mods/fspackages/wiki/Sim-Variables)
* 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 erroneous 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 hand flying the approach with the given lateral and vertical guidance.
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ class CJ4_FMC_DsplMenuPage {
const altitudeActive = fmc._templateRenderer.renderSwitch(["ALTITUDE"], (CJ4_MapSymbols.hasSymbol(CJ4_MapSymbol.CONSTRAINTS) - 1));
const termWptsActive = fmc._templateRenderer.renderSwitch(["TERM WPTS"], (CJ4_MapSymbols.hasSymbol(CJ4_MapSymbol.TERMWPTS) - 1));
const vnavWindowSwitch = fmc._templateRenderer.renderSwitch(["OFF", "ON", "VNAV"], WTDataStore.get("WT_CJ4_MFD_DATA_WINDOW", 1));
const missedActive = fmc._templateRenderer.renderSwitch(["MISSEDAPPR"], (CJ4_MapSymbols.hasSymbol(CJ4_MapSymbol.MISSEDAPPR) - 1));

fmc.onLeftInput[2] = () => {
CJ4_MapSymbols.toggleSymbol(CJ4_MapSymbol.NAVAIDS).then(() => {
Expand Down Expand Up @@ -42,12 +41,6 @@ class CJ4_FMC_DsplMenuPage {
});
};

fmc.onRightInput[4] = () => {
CJ4_MapSymbols.toggleSymbol(CJ4_MapSymbol.MISSEDAPPR).then(() => {
CJ4_FMC_DsplMenuPage.ShowPage1(fmc);
});
};

fmc.onLeftInput[5] = () => {
let currentVal = WTDataStore.get("WT_CJ4_MFD_DATA_WINDOW", 1);
currentVal++;
Expand All @@ -68,10 +61,10 @@ class CJ4_FMC_DsplMenuPage {
[loNavaidsActive, altitudeActive + "[disabled s-text]"],
[""],
[intersectionsActive, airportsActive],
[""],
[termWptsActive, missedActive],
["WINDOW[blue s-text]", "SIDE[blue]"],
[vnavWindowSwitch, "L[green]/[white]R[s-text]>"]
["","DISPLAY [blue]"],
[termWptsActive, "MFD[green]/PFD[disabled s-text]"],
[" WINDOW[blue s-text]", "SIDE[blue] "],
[vnavWindowSwitch, "L[green]/R[disabled s-text]>[disabled]"]
]);

fmc.onPrevPage = () => {
Expand All @@ -84,26 +77,33 @@ class CJ4_FMC_DsplMenuPage {
}
static ShowPage2(fmc) {
let rngSelDisabled = WTDataStore.get("WT_CJ4_RANGE_SEL_DISABLED", 0);
const rngSelSwitch = (rngSelDisabled == 0) ? "green" : "";
const rngSelSwitch = fmc._templateRenderer.renderSwitch(["RNG: ALT SEL"], (rngSelDisabled == 1));
const ndbsActive = fmc._templateRenderer.renderSwitch(["NDBS"], (CJ4_MapSymbols.hasSymbol(CJ4_MapSymbol.NDBS) - 1));
const missedActive = fmc._templateRenderer.renderSwitch(["MISS APPR"], (CJ4_MapSymbols.hasSymbol(CJ4_MapSymbol.MISSEDAPPR) - 1));

fmc.clearDisplay();
fmc._templateRenderer.setTemplateRaw([
[" LEFT DISPLAY MENU[blue]", "2/2 [blue]"],
["", "", "MFD MAP DISPLAY[blue s-text]"],
["MISS APPR[s-text disabled]"],
[missedActive],
[""],
[ndbsActive],
[""],
["RNG: ALT SEL[s-text " + rngSelSwitch + "]"],
[rngSelSwitch],
[""],
["GNSS POS[s-text disabled]"],
["", "DISPLAY [blue s-text]"],
["ALTN FPLN[s-text disabled]", "MFD[green]/[white]PFD>[s-text white]"],
["ALTN FPLN[s-text disabled]", "MFD[green]/PFD[disabled s-text]"],
["", "SIDE [blue s-text]"],
["", "L[green]/[white]R[s-text]>"]
["", "L[green]/R[disabled s-text]>[disabled]"]
]);

fmc.onLeftInput[0] = () => {
CJ4_MapSymbols.toggleSymbol(CJ4_MapSymbol.MISSEDAPPR).then(() => {
CJ4_FMC_DsplMenuPage.ShowPage2(fmc);
});
};

fmc.onLeftInput[1] = () => {
CJ4_MapSymbols.toggleSymbol(CJ4_MapSymbol.NDBS).then(() => {
CJ4_FMC_DsplMenuPage.ShowPage2(fmc);
Expand Down
Loading

0 comments on commit b97ecbb

Please sign in to comment.