13,208
edits
m (Major cleanup; fix double redirect) |
|||
Line 1: | Line 1: | ||
{{WIP|Although still incomplete, the information it contains is valid and available. |nocat=}} | |||
{{see also|Howto:Implementing a simple GCA system}} | |||
{{Infobox addon | {{Infobox addon | ||
|name=Precision Approach Radar Addon | |name=Precision Approach Radar Addon | ||
Line 7: | Line 8: | ||
|contributors={{Usr|Rodolfo}} | |contributors={{Usr|Rodolfo}} | ||
}} | }} | ||
[[File:PAR.png|thumb|Precision Approach Radar screen]] | |||
The '''PAR''' (Precision Approach Radar) addon allows a Ground Controlled Approach (GCA) controller to deliver approach directives to the requesting aircraft. | |||
== Background == | |||
= Background = | |||
{{FGCquote | {{FGCquote | ||
|Is there any work on GCA (ground controlled approach) in progress, or have missed it? GCA is surprisingly accurate and easy to use, both as a pilot and a controller. |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=193941#p193941 | |Is there any work on GCA (ground controlled approach) in progress, or have missed it? GCA is surprisingly accurate and easy to use, both as a pilot and a controller. |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=193941#p193941 | ||
Line 24: | Line 20: | ||
}} | }} | ||
}} | }} | ||
= What PAR and GCA are = | |||
== What PAR and GCA are == | |||
* https://secretsofcoldwarradar.omeka.net/exhibits/show/cold-war-radar-technology/radar-equipment/ground-controlled-approach-and | * https://secretsofcoldwarradar.omeka.net/exhibits/show/cold-war-radar-technology/radar-equipment/ground-controlled-approach-and | ||
* https://aroundthepattern.com/training/ground-controlled-approaches-gca/ | * https://aroundthepattern.com/training/ground-controlled-approaches-gca/ | ||
Line 30: | Line 27: | ||
* http://www.rquirk.com/cdnradar/cor/chapter21.pdf | * http://www.rquirk.com/cdnradar/cor/chapter21.pdf | ||
= What can you expect from GCA = | == What can you expect from GCA == | ||
[[File:Gca1.png|left|thumb|Horizontal trajectory when pilot follows GCA instructions]] | |||
[[File:Gca2.png|thumb|Vertical trajectory when pilot follows GCA instructions]] | |||
Arriving in the vicinity of the airport with little or no visibility, the pilot can request the GCA service. | |||
The Controller, assisted by a PAR (''Precision Approach Radar''), will guide you through a safe path (both in heading and in altitude) that will take you to the head of the used runway. | |||
{{-}} | |||
== How to install == | |||
{{note|This is the latest version (Feb 22, 2018)}} | |||
<!--Latest modifications: | |||
* plot2D helpers available. | * plot2D helpers available. | ||
* {{key press|Track}} button at PAR screen chooses which aircraft must be tracked. | * {{key press|Track}} button at PAR screen chooses which aircraft must be tracked. | ||
Line 45: | Line 45: | ||
* {{key press|RWY}}, {{key press|FLIP}} and {{key press|+}} {{key press|-}} zoom buttons at PAR screen. | * {{key press|RWY}}, {{key press|FLIP}} and {{key press|+}} {{key press|-}} zoom buttons at PAR screen. | ||
}}--> | }}--> | ||
If your FGFS version accepts [[ | If your FGFS version accepts [[Addon]]s, you can download this feature from the {{fgaddon source|path=PAR|text=FGAddon repository}}. Download all the 12 files into the directory of your choice. | ||
Launch FlightGear including --addon argument, | Launch FlightGear including <code>--addon</code> argument, for example: | ||
<syntaxhighlight> | <syntaxhighlight> | ||
fgfs <usual args> --addon=/path/to/PARaddon/</syntaxhighlight> | fgfs <usual args> --addon=/path/to/PARaddon/ | ||
{{note | | </syntaxhighlight> | ||
{{note|From version 2017.4.0, the FlightGear launcher accepts the <code>--addon</code> option in his '''Settings > Additional Settings''' tab.}} | |||
Otherwise, you can install it as a submodule. Contact the author for further instructions. | Otherwise, you can install it as a submodule. Contact the author for further instructions. | ||
And that's all ! | And that's all ! | ||
== How to use it == | |||
When you are about 15 or 20 miles from your destination, tune the COM1 radio to an available ATC frequency (you can find them at '''Menu > Location > Airfield information''' or at the {{key press|F12}} dialog). | |||
Press the {{key press|>}} key to see the PAR instrument (you can open as many as you want). Verify the airport and runway destination. | |||
On the screen you should see not only your plane but all the flying MP/AI in range. Adjust zoom if necessary. | |||
Click the {{key press|GCA}} button to request GCA assistance. | |||
You will hear the GCA's answer ''"<callsign>, this will be a PAR approach to <airport> runway <rwy<."'' | |||
Now, as you do not want to cheat, you should click the {{key press|hide}} button. (Remember: This PAR is a ground instrument, not a flying one). | |||
But not worry, once you have landed (or anytime, indeed) you can press the {{key press|>}} key again to visualize and analyze your plotted trajectory. | |||
You will hear the GCA's answer ''" | |||
Now, as you do not want to cheat, you should click the {{key press|hide}} button. (Remember: | |||
But not worry, once you have landed (or anytime, indeed) you can press the {{key press| | Depending on your position and altitude, the GCA will give you a vector towards the base leg or towards the final one. Also will instruct to climb or descend if necessary. | ||
Follow closely those instructions making standard turns first, and half standard ones when indicated. | Follow closely those instructions making standard turns first, and half standard ones when indicated. | ||
Adopt about 90 to 110 kts IAS until you hear ''"Begin descent"'', and configure a "final" | |||
If you are | Adopt about 90 to 110 kts IAS until you hear ''"Begin descent"'', and configure a "final" altitude then. | ||
Correct your vertical speed if you hear ''" | |||
If you are advised ''"<Well/Slightly> <left/right> of course."'' then make "S" turns to fix that. Little ones if "Slightly", big ones if "Well". | |||
= Phraseology customization = | |||
You can customize the phraseology by editing the | Correct your vertical speed if you hear ''"<Above/Below> glidepath."'' | ||
== Phraseology customization == | |||
You can customize the phraseology by editing the <code>phraseology.xml</code> file. | |||
There you can find groups of tags like: | There you can find groups of tags like: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
Line 80: | Line 95: | ||
<foo type="string">to fly. </foo> | <foo type="string">to fly. </foo> | ||
. . . . </syntaxhighlight> | . . . . </syntaxhighlight> | ||
which will be read as a single sentence (''"Hello world. It is a good day to fly. "''). | which will be read as a single sentence (''"Hello world. It is a good day to fly. "''). | ||
=== Literals === | === Literals === | ||
Those in the example above are literal sentences that you can change by the strings you want. | Those in the example above are literal sentences that you can change by the strings you want. | ||
{{note | | {{note| | ||
* You should not include either " or ' . | * You should not include either <code>"</code> or <code>'</code>. | ||
* Punctuation is meaningfull. }} | * Punctuation is meaningfull.}} | ||
=== Substitutions === | === Substitutions === | ||
Strings starting by | Strings starting by <code>%</code> will call some '''property value'''. | ||
In the example above replace | In the example above replace <code>day</code> by <code>% /sim/startup/time-offset-type</code>. | ||
Now the sentence will be read as ''"Hello world. It is a good morning to fly. "'' or ''"Hello world. It is a good evening to fly. "'' depending on the time. | |||
{{note | | Now the sentence will be read as ''"Hello world. It is a good morning to fly. "'' or ''"Hello world. It is a good evening to fly. "'' depending on the time. | ||
{{note| | |||
* The called property must be a string.}} | * The called property must be a string.}} | ||
=== Concatenation === | === Concatenation === | ||
Strings starting by | Strings starting by <code>~</code> will append the sentence with another one. | ||
Try this: | Try this: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
Line 102: | Line 123: | ||
<foo type="string">Have a nice fly, </foo> | <foo type="string">Have a nice fly, </foo> | ||
<foo type="string">~short</foo> | <foo type="string">~short</foo> | ||
. . . . </syntaxhighlight>when calling ''foo'' you should hear ''"Have a nice fly, <your-callsign> , "'' | . . . . </syntaxhighlight>when calling ''foo'' you should hear ''"Have a nice fly, <your-callsign> , "'' | ||
=== Word Replacement === | === Word Replacement === | ||
If you find that the word ''Wind'' is not pronounced clearly, you can change it by ''Winnded'' or similar to increase its intelligibility.. | If you find that the word ''Wind'' is not pronounced clearly, you can change it by ''Winnded'' or similar to increase its intelligibility.. | ||
Better? Fine, but what about the message on the screen? | Better? Fine, but what about the message on the screen? | ||
Include a tag with the pattern <replace type="string">'''old''':'''new'''</replace> : | Include a tag with the pattern <replace type="string">'''old''':'''new'''</replace> : | ||
Line 111: | Line 133: | ||
. . . . | . . . . | ||
<replace type="string">Winnded:Wind</replace> | <replace type="string">Winnded:Wind</replace> | ||
. . . . </syntaxhighlight> | . . . . | ||
</syntaxhighlight> | |||
* To implement a setting dialog ( | == Roadmap == | ||
* To improve the terrain | * To implement a setting dialog (bound to the {{key press|set}} button) allowing further customizations. (As glideslope, TTS arguments, etc.)<!-- {{done}}--> | ||
* To improve the terrain <code>getVertProfilefunction</code> when unloaded tiles are needed.<!-- {{progressbar|20}}--> | |||
* General improvements & optimizations | * General improvements & optimizations | ||
== Behind the scene == | |||
Supporting all the graphic work: | Supporting all the graphic work: | ||
* [[Canvas Nasal API | * [[Canvas Nasal API]] | ||
* | * <code>Cplot2D.nas</code> | ||
* graph.nas | * <code>graph.nas</code> | ||
* [[Skinnable canvas window]] | * [[Skinnable canvas window]] | ||
( to be continued ... ) | ( to be continued ... ) |