ATC-pie FAQ: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(Organised in sections; added questions (came with r10))
(v1.6.4)
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{forum|83|ATC-Pie support & development}}
{{forum|83|ATC-Pie support & development}}


This page is a collection of questions frequently asked (at least twice) about [[ATC-pie]]. It is a good idea to search through it before repeating a question on the forum or anywhere.
This page is a collection of questions asked at least twice about [[ATC-pie]]. It is a good idea to search through it before repeating a question on the forum or anywhere.


== Things "not working" ==
== Things "not working" ==


=== How do I start anywhere else than bl*ody KSFO? ===
=== Why am I not seeing this aircraft on my radar? ===
Connected to FGMS: '''I know it is there: the pilot is sending chat messages and/or is visible on the online live map...'''


Use a command line argument: <code>./ATC-pie.py ICAO</code>
You only see an aircraft on your scopes if a radar contact is established, i.e. if it is visible to the primary radar or if the secondary radar (SSR) picks up a transponder signal from it.


The way to do this from a graphical desktop is system-dependant, but there is always a way. Otherwise, open a shell terminal to type the command above.
The following cases will therefore prevent you from seeing a connected aircraft:
* The radars are turned off. Turn on at least a primary radar from the ''Options'' menu, or an SSR capability from the ''Radar'' tab in the ''Local settings'' dialog (any setting other than "none" will pick up contacts).
* The aircraft is out of radar range. It can be under the radar floor (minimum signal pick-up alt.) or too far out. In the radar settings, check the floor ("SFC" will pick up all signals down to the ground) and horizontal range. Primary and secondary radars share the same range.
* Its onboard transponder is turned off (and primary is off); see [https://www.youtube.com/watch?v=kpPzRiwzx9Q&list=PL1EQKKHhDVJvvWpcX_BqeOIsmeW2A_8Yb&index=1 ATC-pie video tutorial 1]. You should tell the pilot to switch it on. Otherwise if you accept cheating, you can activate the "radar cheat mode" which will simulate a mode S transponder for all aircraft in horizontal range; see [https://www.youtube.com/watch?v=lSyH88HR-4w&index=3&list=PL1EQKKHhDVJvvWpcX_BqeOIsmeW2A_8Yb tutorial 3].


=== Why am I not seeing this aircraft on my radar? ===
=== Connected pilots do not receive my text messages. ===
This happens with pre-2017.2 clients if you are using the latest protocol to encode properties. Tick the FGMS system option to "use the legacy protocol" for property encoding. Everybody should be able to read you, but it will come at the expense of network throughput. Tell those pilots to upgrade their client.


'''I know it is there: the pilot is sending chat messages and/or is visible on the online live map...'''
=== FGCom radio is not working. ===
If you are using external clients, i.e. FGCom instances running outside of ATC-pie, you must troubleshoot them there. This section assumes you are trying with '''internal''' radio boxes. If you do not understand this distinction, the latter case is yours and you should read on.


You only see an aircraft on your screen if your radar picks up a transponder signal from it. The two following cases will therefore prevent you from seeing a connected aircraft:
First, try an echo test:
* The aircraft is out of radar range, i.e. under the radar floor (minimum signal pick-up height) or too far out. Open the ''General settings'' dialog, check the NM range setting and set the floor to "SFC" to pick up all signals.
* check that your sound is on, your volume loud and your microphone working (e.g. system sound monitor picking up a signal);
* Its onboard transponder is turned off; see [https://www.youtube.com/watch?v=kpPzRiwzx9Q&list=PL1EQKKHhDVJvvWpcX_BqeOIsmeW2A_8Yb&index=1 ATC-pie video tutorial 1]. You should tell the pilot to switch it on. Alternatively, you can switch on the primary radar system if you want to see all aircraft's positions, or activate the "radar cheat mode" if you want to go the radical way ([https://www.youtube.com/watch?v=lSyH88HR-4w&index=3&list=PL1EQKKHhDVJvvWpcX_BqeOIsmeW2A_8Yb tutorial 3]). NB: If the aircraft model does not support the transponder feature, it will be simulated by ATC-pie according to the fallback mode you have selected in the settings dialog. A non-equipped aircraft and a zero fallback mode will therefore make the aircraft invisible as well.
* close all open ATC-pie sessions and open a single instance;
* start the echo test from the ''System'' menu.


=== FGCom radio is not working. What is going on? ===
If you hear yourself when you speak, you may skip directly to item 3 below. Otherwise start with 1.
 
# Bad FGCom version/path setting
There can be a variety of reasons, all of them to rule out before reporting a bug in the program.
#: Verify the path to your FGCom executable in the system settings. It should point to the right executable file. Linux, Mac and Windows versions are initially packaged with the program under <code>resources/fgcom</code>, but you can use your own or FlightGear's if you have it installed.
# Echo testing
#: Start a single ATC-pie instance and try the echo test (''System'' menu). If it works, you may skip directly to item 4 below.
# Bad FGCom setting
#: Verify the path to your FGCom executable in the system settings, which should point to the right executable file under <code>resources/fgcom</code> and suit your operating system (see <code>Notice</code> file there). All three Linux, Mac and Windows versions are initially packaged with ATC-pie.
# FGCom server down
# FGCom server down
#: This can happen, unfortunately even for up to a few days. Check for responses from the server, e.g. with <code>ping fgcom.flightgear.org</code>.
#: This can happen, unfortunately even for up to a few days. Check for responses from the server, e.g. with <code>ping fgcom.flightgear.org</code>.
Line 31: Line 34:
#: If the server is up (responding to ping), check for errors in the logged FGCom output files in the <code>output</code> directory.
#: If the server is up (responding to ping), check for errors in the logged FGCom output files in the <code>output</code> directory.
# Port mess-up on your side
# Port mess-up on your side
#: If you are running multiple instances of ATC-pie, make sure you have no more than one radio box on every port. In any case, verify you only choose available ports that are not already in use by your operating system for example. Typically, default ports (from 16661 counting up) work fine, but you will have to change them for parallel instances, using the <code>--fgcom-ports</code> command line option (see section: ''starting the program''). To check what port a radio box is using, see its "on/off" button tooltip.
#: If you are running multiple instances of ATC-pie, make sure you have no more than one radio box on every port. To check what port a radio box is using, see its "on/off" button tooltip. You can change your FGCom settings from the system settings dialog. In any case, you should only choose available ports, not reserved by your operating system. Typically, ports from 16661 and counting up work fine.


=== Tower view is not starting. The menu option is ticked but nothing happens. ===
=== I cannot record an ATIS. ===
Assuming FGCom is working otherwise (confirm this with an echo test before reading on), but no beep is heard after pressing "record"...


Ruling out that FlightGear is not installed at all, your system path settings are probably wrong. From a terminal, find the right command to start FlightGear and enter it as ''FlightGear executable'' from the system settings. Do not add options of any kind; they will be taken care of internally. You may have to enter a ''FlightGear root directory'' as well, especially if you have the program files installed somewhere unexpected. Your entries will be saved after that.
Due to FGCom design, you may only record an ATIS if the requested frequency is enlisted as recordable on the distant server's "phone book" for the base airport (or the nearest one in CTR mode). The one for <code>fgcom.flightgear.org</code> was compiled a while ago, based on the latest <code>apt.dat</code> at the time. It filtered the frequencies through the two following conditions:
# it is of the "recorded" type (row code 50);
# its name contains the uppercase string "ATIS".


=== Why is my tower in the middle of the sea, and aircraft floating/landing on water? ===
Unless you have updated or edited the frequency data yourself, check against the airport <code>.dat</code> file sourced on your side, as it should still be similar. One of the two conditions is probably not met, or the frequency missing all together.


You are missing the FlightGear scenery data for your location, or ATC-pie does not know where it is. Check out the ''Tower viewing'' feature note in this article.
NB: the frequencies in the ATIS drop-down list of ATC-pie are matched against the condition (1), but not against the somewhat restrictive condition (2).


=== I cannot connect to my teacher as a student! ===
=== Tower view is not starting. ===
Ruling out that FlightGear is not installed at all, your system path settings are probably wrong. From a terminal or a file system navigator, find the right command to start FlightGear and enter it as ''FlightGear executable'' from the system settings. Do not add options of any kind; they will be taken care of internally. You may have to enter a ''FlightGear root directory'' as well, especially if you have the program files installed somewhere unexpected.


=== My tower is in the middle of the sea, and aircraft floating/landing on water! ===
You are missing the FlightGear scenery data for your location, or ATC-pie does not know where it is. If you have downloaded scenery and saved it somewhere, have you tried filling the scenery directory with that location in the system settings? Also check out the ''Tower viewing'' [[ATC-pie_user_guide#Tower_view_window|feature note]] in the user guide.
=== Simulated aircraft appear to dip underground or levitate over taxiways. ===
Do you have a ground elevation map for the location? Quoting from <code>CONFIG/elev/Notice</code>: "''When no elevation map is found for an airport, the field elevation value is used everywhere on the ground. This should be OK for a rough approximation on flat terrain, but ground traffic will not follow any slopes, thus may appear as floating above the ground, or digging into it.''"
Read the full notice for instructions on how to build your elevation map. Once you have one or decide that your field is flat enough, the next focus is on the FlightGear aircraft models. Each model has its own coordinate system chosen at developer's discretion. ATC-pie must be given the height difference between each model's origin and the aircraft touch-down point (gear wheels) to position aircraft more accurately. You can do this on a per-model basis with ":height" specifications in <code>CONFIG/acft/icao2fgfs</code>. Read the associated <code>Notice</code> file for more information.
A last possible altitude adjustment is available from the location options: "Altitude adjustment for FlightGear views". It applies the given offset to all traffic rendered by the views.
=== I cannot connect to my teacher as a student. ===
Using IPv4 addresses, this typically happens when the teacher is in a local area network behind a router. It is a common setup for home internet, in which the teacher's actual host address is not publicly accessible from outside his private network.
Using IPv4 addresses, this typically happens when the teacher is in a local area network behind a router. It is a common setup for home internet, in which the teacher's actual host address is not publicly accessible from outside his private network.


If you know what IPv6 is and that your network configuration will allow it, try using IPv6 addresses. Otherwise, the solution is either:
If you know what IPv6 is and that your network configuration will allow it, try using IPv6 addresses. Otherwise, the solution is either:
* for the teacher to configure his router to forward TCP packets from his router's IP and chosen service port to his local address;
* for the teacher to configure his router to forward TCP packets from his router's IP and chosen service port to his local host address;
* or to create a virtual network, using a third-party VPN service.
* or to create a virtual network, using a third-party VPN service.


== What is ...? What value/setting for ...? ==
== What is ...? Why is ...? What value/setting for ...? ==
 
=== What "social name" should I use in the FlightGear multi-player system settings? ===
Choose any name you would like to be recognised by on the network. In ATC-pie, it will appear in the tooltip over your callsign for connected ATCs who see you. This feature is only social in the sense that it does not refer to an account or to anything technical, but it makes sense as typical ATC callsigns (e.g. "VHHHtwr") remain mostly anonymous over MP. Use this field so that other players can identify you.


=== What is the FlightGear strip exchange server? Which one to use? ===
=== Are the vector headings true or magnetic? ===
Heading displays in ATC-pie are mostly magnetic so they can be read out to pilots. The only exceptions are for easier human identification, because true North is at the top of the map. For example, navigator and handover list tool tips are true radial headings from the radar position.


In FlightGear games, the strip exchange feature allows you to hand over strips to ATCs who are connected to the same server and within 180 NM from your position. The public server currently open for general multi-player use is <code>http://h2281805.stratoserver.net/FgFpServer</code>. To hand over a strip, drag it from its rack and drop it on the chosen callsign in the ATC handover list. Publicise your frequency so that ATCs around know what to tell pilots for them to contact you!
Also note: all directions are geodesic, i.e. initial headings to take on a great circle.


=== What nickname should I use for the FlightGear strip exchange server? Where to create an account? ===
=== What is the purpose of the flat "strip shelf" button in the strip panes? ===
More than a button, the strip shelf is where you should drop the contacts you release without a handover, e.g. parked traffic shutting down, VFR traffic flying out of your airspace, etc. Clicking on the shelf allows to browse the previously shelved strips, and to recall them, for example if shelved inadvertently.


This feature is not linked to any identification process; just choose any name you would like to be recognised by. It will appear in a tooltip over your callsign in the handover list of ATCs who will connect near enough to see you. In a sense, this feature is more social than technical, but makes sense as typical ATC callsigns remain mostly anonymous over MP. Use this field so that other players can identify you.
=== Why do I keep getting runway incursion alarms? ===
Because you have the runway occupation monitor turned on (''Options'' menu), while not using your runway boxes. The alarm triggers when the radar detects traffic stepping on a runway in either of the following situations:
* the runway is active (marked in use) and no strip is boxed for it;
* it is reserved but there is already traffic on the runway;
* it is reserved for a different aircraft: the boxed strip is linked to a contact that is not the entering aircraft, or the aircraft is linked to a strip different to the one boxed.


== Where is ...? How to ...? ==
Turning the runway occupation monitor off will deactivate all radar warnings regarding runways. If you are interested in the strip boxing and visual runway highlighting system but bothered by the alarm sound, you can mute the sound notification by unticking it in the notification dock pull-down menu.
 
== Where is ...? Can I ...? How to ...? ==


=== Can I draw SID and STAR procedures on the radar? ===
=== Can I draw SID and STAR procedures on the radar? ===
Yes, and virtually anything else, using background images. To learn about those:
* see the corresponding [[ATC-pie_user_guide#Background images|user guide section]];
* read the <code>CONFIG/bg-img/Notice</code> file;
* examine the (otherwise useless) packaged KSFO example.


Yes, and virtually anything else, using background images and hand drawings. To learn how:
'''If you have a sector file''' of the ".sct" format used in VATSIM/IVAO, you should try to import it with the provided drawing extraction tool. It will extract most of the contents for the open location and current map range, including SID/STAR procedures, and translate them to ATC-pie's native drawing format. It is generally the best solution if you know your procedures are included.
* see the corresponding user guide [[ATC-pie_user_guide#Background images|section]];
# Run the "extract drawings from sector file" option (''System'' menu) and select the file to extract from. In the output directory, the resulting files are:
* read the <code>resources/bg-img/Notice</code> file;
#* <code>ICAO.lst.extract</code>, a menu file for the generated drawings;
* examine the packaged KSFO example.
#* <code>bg-ICAO-*</code>, the extracted drawings in the native ATC-pie format;
#* <code>bg-extract.err</code>, a log of the errors detected in your sector file (do not be alarmed as they often contain many).
# Import the results:
#* move or copy-paste lines from <code>ICAO.lst.extract</code> to <code>CONFIG/bg-img/ICAO.lst</code>;
#* move the desired drawing files under <code>CONFIG/bg-img</code>, adjusting the paths in the <code>.lst</code> menu as you organise subdirectories.
# Post-editing (cleaning)
#: ATC-pie does its best to understand the objects in the sector file and to group things together depending on their type. But not everything can be guessed automatically. This last step is where you filter, merge and split objects, rename points, change colours, etc. to your liking.
#: Each generated drawing section (point list under a colour) is automatically labelled with the line number where it was sourced from in the sector file so you can easily trace it (<code>@nnn</code>). A tool like ''sed'' will help you get rid of all these unwanted suffixes once you have sorted and renamed your objects:
#:: <code>sed -ri 's/ +@[0-9]+$//' file_to_clean</code>
 
Tip: You can check your image configuration without restarting the program, by reloading from the ''System'' menu or pressing <code>Shift+Alt+F12</code>.
 
NB: ATC-pie does not package or source from sector files directly because their data is not free, and a lot of it is redundant with its own GPL-licensed X-plane source (GPL).


=== How do I assign SIDs and STARs to aircraft? ===
=== How do I assign SIDs and STARs to aircraft? ===
This question is asked quite a lot more than it is relevant to a real controller's task...
What people seem to be after when asking this question is a way to organise inbound traffic '''on arrival''', using STARs to manage multiple approach paths. The way to handle this is to stack your inbound strips on racks named after your STARs. Racks are indeed above all meant for efficient traffic sequencing. Every rack represents its own sequence of ordered aircraft, which is perfectly suited to control separate approach paths in parallel. With this technique, placing a strip on a STAR-named rack basically serves as the "assignment" itself. Similarly, runway-specific racks can keep track of separate landing sequences at large airports. Then you can set a colour to each rack for quick identification on the scope. Besides, turning on the approach spacing hints will help you optimise the separation times in the sequence all the way to touchdown.
If you otherwise meant to '''plan routes''' before they are flown, you are looking for something you should not be doing. Routes are lists of waypoints and instructions to follow between the two end airfields. Normally pulled straight from properly filed flight plans, routes are printed on strips prior to departure, then modified as the flights progress and passed along with handovers. Standard departure and arrival procedures (SIDs and STARs) can be referred to in those routes, but only by their entry or exit navpoints. They should not contain full procedure names like FUBAR1A since those depend on the active runways and might change any time before flying the corresponding leg. For example, routes ending with a STAR should end with "FUBAR STAR", which means that waypoint FUBAR is an entry point from which a published STAR must be followed. The keyword "STAR" is in fact a mere specification for the last route leg. Similarly, routes of the form "SID DUMMY ..." specify their first leg as a standard departure to the first waypoint DUMMY. "SID" and "STAR" keywords are recognised by ATC-pie and accounted for in the second line of the radar tag when appropriate (see feature note on routes).


This question is asked quite a lot more than it is relevant to a real controller's task... If you are certain this is what you want, you can always freely comment your strips with any information you want to save. But it is probably not.
One meaningful wish regarding this question is for easy '''reference in text chat''' messages. Firstly, using racks in the way suggested above, you can use the <code>$rack</code> alias which is substituted by the name of the rack on which the current strip selection is stacked. Otherwise, if the selected strip's route is found to contain "SID"/"STAR" keywords placed in the first/last route leg specifications, text aliases <code>$wpsid</code> and <code>$wpstar</code> will respectively expand to the first/last en-route waypoints of that route. For example, assuming route "SID DUMMY more route spec FUBAR STAR" in the selection, <code>$wpsid</code> will be replaced with "DUMMY" and <code>$wpstar</code> with "FUBAR". Now if you specifically want to assign a full procedure name like FUBAR1A to a contact and refer to it in a generic text chat message, include a line "sid=FUBAR1A" in your strip comments. It will pop up with the strip mouse-over tooltip, and create a custom <code>$sid</code> alias that will automatically be expanded in your sent messages when that strip is selected.


What people seem to be after when asking this question is a way to organise inbound traffic '''on arrival''', using STARs to manage multiple approach paths. If you like to do so and want a way to visualise and distinguish them, the best thing to do is to stack your inbound strips on racks named after your STARs. Racks are indeed not only a way of categorising traffic, but above all meant for efficient traffic sequencing. Every rack represents its own sequence of ordered aircraft, which is perfectly suited to control separate approach paths in parallel. With this technique, placing a strip on a STAR-named rack basically serves as the "assignment" itself, like one could use runway-specific racks at large airports to keep track of separate landing sequences. You can even set a colour to each rack for quick identification on the scope.
=== How to set the transition level? ===
You do not. You can however set the transition altitude in the location settings if your airport specification file does not already include one.


If you otherwise meant to '''plan routes''' before they are flown, you are probably looking for something you should not be doing. Routes are lists of waypoints and instructions to follow between the two end airfields. Normally pulled straight from properly filed flight plans, routes are copied onto strips prior to departure, then modified as the flights progress and passed along with handovers. Standard departure and arrival procedures (SIDs and STARs) can be referred to in those routes, but only by their entry or exit navpoints. They should not contain full procedure names like FUBAR1A since those depend on the active runways and might change any time before flying the corresponding leg. For example, routes ending with a STAR should end with "FUBAR STAR", which means that waypoint FUBAR is an entry point from which a published STAR must be followed. The keyword "STAR" is in fact a mere specification for the last route leg. Similarly, routes of the form "SID DUMMY ..." specify their first leg as a standard departure to the first waypoint DUMMY. "SID" and "STAR" keywords are recognised by ATC-pie and accounted for in the second line of the radar contact info box when appropriate (see feature note on routes).
The transition level displayed in the weather analysis is the lowest flight level that is still above the transition altitude. This does not mean the lowest to be expected in ATC clearances, which may be higher, e.g. for more vertical separation on either side of the transition layer or due to coordination with neighbouring zones and fields.


One last meaningful wish regarding this question is for easy '''reference to the assignment in text chat''' communications. Firstly, using racks in the way suggested above, you can simply use the <code>$rack</code> alias which is substituted by the name of the rack on which the current strip selection is stacked. Otherwise, if the selected strip's route is found to contain "SID"/"STAR" keywords placed in the first/last route leg specifications, text aliases <code>$wpsid</code> and <code>$wpstar</code> will respectively expand to the first/last en-route waypoints of that route. For example, assuming route "SID DUMMY more route spec FUBAR STAR" in the selection, <code>$wpsid</code> will be replaced with "DUMMY" and <code>$wpstar</code> with "FUBAR". Now if you specifically want to assign a full procedure name like FUBAR1A to a contact and refer to it in a generic text chat message, include a line "sid=FUBAR1A" in your strip comments. It will pop up with the strip mouse-over tooltip, and create a custom <code>$sid</code> alias that will automatically be expanded in your sent messages when that strip is selected.
=== Can I look up ILS frequencies? ===
Yes, in the ''environment info'' dialog.


=== Is there any access to ILS frequencies? ===
Besides, you can create aliases with the local notepad for a quick and integrated way of sending them through text chat, which will be saved when you close ATC-pie. For example, use the following format, one runway per line: <code>ils05=111.11 MHz</code>. See [[ATC-pie_user_guide#Public text chat|custom text aliases]] for more.


No. If you want a quick and integrated reading of ILS frequencies, you can look them up once and write them in the local notepad which will be saved when you close ATC-pie. Using the following format one runway per line, you even create local text aliases which you can use as shortcuts in chat messages: <code>ils05=111.11 MHz</code>. See [[ATC-pie_user_guide#Text chat|custom text aliases]] for more.
=== The navigation/airport data is outdated. How can I update it? ===


=== How do I customise the GUI and colours? ===
For '''airport data''' (taxiways, parking positions, frequencies, etc.), the included source is the last world-wide <code>apt.dat</code> compiled before it became too large to maintain as one huge file. We keep it there because it allows to run ATC-pie anywhere in the world without requiring external data, but its contents grows out of date with time. You should check for more recent sources on the [http://gateway.x-plane.com/airports/page X-plane airport gateway], directly accessible from the ''System'' menu, on a per-airport basis. Extract the <code>apt.dat</code> file from the download, rename it after the airport's ICAO code (keeping the extension, e.g. <code>KJFK.dat</code>), and place it in <code>CONFIG/ad</code> (also see the <code>Notice</code> there). Alternatively, for a quick manual touch-up of the included data, you can move and edit extracted files as explained in <code>resources/x-plane.extract/Notice</code>.


To change the '''radar colours''', edit the <code>settings/colours.ini</code> file. Each line holds the paint colour for the corresponding object type in a typical <code>#RRGGBB</code> (red-green-blue) format.
For '''navigation data''' (navaids, fixes, airways, etc.), the included data is the latest version of each file that was seen released as GPL, which makes some of it date back to 2013! You should provide more recent navigation data, as explained in <code>CONFIG/nav/Notice</code>.


Besides, ATC-pie is a Qt application and therefore allows you to customise all '''pieces of the GUI''' with ''stylesheets''. To change the general GUI looks, you may (either or both):
=== How do I customise the GUI and colours? ===
* change your Qt platform defaults for system-wide effect on all Qt applications;
To change the '''radar or strip drawing colours''', edit the <code>CONFIG/colours.ini</code> file. Each line holds the paint colour for the corresponding object type in a typical <code>#RRGGBB</code> (red-green-blue) format. To customise the '''main session window''', place a ''Qt stylesheet'' named <code>main-stylesheet.qss</code> in the <code>CONFIG</code> directory. ATC-pie will apply it to every session window. While you are working on your look and feel, use the reload feature from the "System" menu to avoid restarting after every change (<code>Shift+Alt+F12</code>).
* add a <code>-stylesheet=...</code> option with a [http://doc.qt.io/qt-5/stylesheet.html Qt stylesheet] file name on the command line to affect ATC-pie only.


Send us screenshots and share your settings if you find a setup looking really cool! :-)
Send us screenshots and share your files if you find a setup looking really cool! :-)


== Miscellaneous ==
== Miscellaneous ==


=== What's with the funny name? ===
=== What's with the funny name? ===
ATC-pie is written in Python, and I reckoned that the ''pyXXX'' naming habit was becoming a little dull, so I merely switched things around. You can surely do the rest of the math in terms of spelling, and later impact on the logo.
ATC-pie is written in Python, and I reckoned that the ''pyXXX'' naming habit was becoming a little dull, so I merely switched things around. You can surely do the rest of the math in terms of spelling, and later impact on the logo.


=== Why is the learning curve so steep? People would use your program more if you did/provided [...] ===
=== Why is the learning curve so steep? People would use your program more if you did/provided [...] ===
Often continued with: '''(you must understand that) this is not VATSIM!'''


Often followed with: '''(you must understand that) this is not VATSIM!'''
We do have a [https://sourceforge.net/p/atc-pie/wiki/Wishlist wish list] and will consider any feature or help request. However, though it has a few cheats, ATC-pie has always choosen realism as a criterion for implementation and design, over the mere incentive of converting otherwise happy users of other programs. It is a good thing that different philosophies and work flows are available out there, and there would be much less interest in having them all copy each other, fighting over users instead of understanding that not all of them wish for the same experience. If serious simulation or learning new skills sound like threats to fun for you, you have a perfectly valid reason not to opt for ATC-pie.
 
We do have a [https://sourceforge.net/p/atc-pie/wiki/Wishlist wish list] and will consider any feature or help request. However, though it has a few cheats, ATC-pie has always choosen realism as a criterion for implementation and design, over the mere incentive of converting otherwise happy users of other programs. It is a good thing that different philosophies and work flows are available out there, and there would be much less interest in having them all copy each other, fighting over users rather than understanding that not all of them wish for the same game experience. If serious simulation or learning new skills sound like threats to fun for you, you have a perfectly valid reason not to opt for ATC-pie.


[[Category:ATC-pie]]
[[Category:ATC-pie]]

Revision as of 13:51, 22 March 2020

This page is a collection of questions asked at least twice about ATC-pie. It is a good idea to search through it before repeating a question on the forum or anywhere.

Things "not working"

Why am I not seeing this aircraft on my radar?

Connected to FGMS: I know it is there: the pilot is sending chat messages and/or is visible on the online live map...

You only see an aircraft on your scopes if a radar contact is established, i.e. if it is visible to the primary radar or if the secondary radar (SSR) picks up a transponder signal from it.

The following cases will therefore prevent you from seeing a connected aircraft:

  • The radars are turned off. Turn on at least a primary radar from the Options menu, or an SSR capability from the Radar tab in the Local settings dialog (any setting other than "none" will pick up contacts).
  • The aircraft is out of radar range. It can be under the radar floor (minimum signal pick-up alt.) or too far out. In the radar settings, check the floor ("SFC" will pick up all signals down to the ground) and horizontal range. Primary and secondary radars share the same range.
  • Its onboard transponder is turned off (and primary is off); see ATC-pie video tutorial 1. You should tell the pilot to switch it on. Otherwise if you accept cheating, you can activate the "radar cheat mode" which will simulate a mode S transponder for all aircraft in horizontal range; see tutorial 3.

Connected pilots do not receive my text messages.

This happens with pre-2017.2 clients if you are using the latest protocol to encode properties. Tick the FGMS system option to "use the legacy protocol" for property encoding. Everybody should be able to read you, but it will come at the expense of network throughput. Tell those pilots to upgrade their client.

FGCom radio is not working.

If you are using external clients, i.e. FGCom instances running outside of ATC-pie, you must troubleshoot them there. This section assumes you are trying with internal radio boxes. If you do not understand this distinction, the latter case is yours and you should read on.

First, try an echo test:

  • check that your sound is on, your volume loud and your microphone working (e.g. system sound monitor picking up a signal);
  • close all open ATC-pie sessions and open a single instance;
  • start the echo test from the System menu.

If you hear yourself when you speak, you may skip directly to item 3 below. Otherwise start with 1.

  1. Bad FGCom version/path setting
    Verify the path to your FGCom executable in the system settings. It should point to the right executable file. Linux, Mac and Windows versions are initially packaged with the program under resources/fgcom, but you can use your own or FlightGear's if you have it installed.
  2. FGCom server down
    This can happen, unfortunately even for up to a few days. Check for responses from the server, e.g. with ping fgcom.flightgear.org.
  3. FGCom subprocess error
    If the server is up (responding to ping), check for errors in the logged FGCom output files in the output directory.
  4. Port mess-up on your side
    If you are running multiple instances of ATC-pie, make sure you have no more than one radio box on every port. To check what port a radio box is using, see its "on/off" button tooltip. You can change your FGCom settings from the system settings dialog. In any case, you should only choose available ports, not reserved by your operating system. Typically, ports from 16661 and counting up work fine.

I cannot record an ATIS.

Assuming FGCom is working otherwise (confirm this with an echo test before reading on), but no beep is heard after pressing "record"...

Due to FGCom design, you may only record an ATIS if the requested frequency is enlisted as recordable on the distant server's "phone book" for the base airport (or the nearest one in CTR mode). The one for fgcom.flightgear.org was compiled a while ago, based on the latest apt.dat at the time. It filtered the frequencies through the two following conditions:

  1. it is of the "recorded" type (row code 50);
  2. its name contains the uppercase string "ATIS".

Unless you have updated or edited the frequency data yourself, check against the airport .dat file sourced on your side, as it should still be similar. One of the two conditions is probably not met, or the frequency missing all together.

NB: the frequencies in the ATIS drop-down list of ATC-pie are matched against the condition (1), but not against the somewhat restrictive condition (2).

Tower view is not starting.

Ruling out that FlightGear is not installed at all, your system path settings are probably wrong. From a terminal or a file system navigator, find the right command to start FlightGear and enter it as FlightGear executable from the system settings. Do not add options of any kind; they will be taken care of internally. You may have to enter a FlightGear root directory as well, especially if you have the program files installed somewhere unexpected.

My tower is in the middle of the sea, and aircraft floating/landing on water!

You are missing the FlightGear scenery data for your location, or ATC-pie does not know where it is. If you have downloaded scenery and saved it somewhere, have you tried filling the scenery directory with that location in the system settings? Also check out the Tower viewing feature note in the user guide.

Simulated aircraft appear to dip underground or levitate over taxiways.

Do you have a ground elevation map for the location? Quoting from CONFIG/elev/Notice: "When no elevation map is found for an airport, the field elevation value is used everywhere on the ground. This should be OK for a rough approximation on flat terrain, but ground traffic will not follow any slopes, thus may appear as floating above the ground, or digging into it."

Read the full notice for instructions on how to build your elevation map. Once you have one or decide that your field is flat enough, the next focus is on the FlightGear aircraft models. Each model has its own coordinate system chosen at developer's discretion. ATC-pie must be given the height difference between each model's origin and the aircraft touch-down point (gear wheels) to position aircraft more accurately. You can do this on a per-model basis with ":height" specifications in CONFIG/acft/icao2fgfs. Read the associated Notice file for more information.

A last possible altitude adjustment is available from the location options: "Altitude adjustment for FlightGear views". It applies the given offset to all traffic rendered by the views.

I cannot connect to my teacher as a student.

Using IPv4 addresses, this typically happens when the teacher is in a local area network behind a router. It is a common setup for home internet, in which the teacher's actual host address is not publicly accessible from outside his private network.

If you know what IPv6 is and that your network configuration will allow it, try using IPv6 addresses. Otherwise, the solution is either:

  • for the teacher to configure his router to forward TCP packets from his router's IP and chosen service port to his local host address;
  • or to create a virtual network, using a third-party VPN service.

What is ...? Why is ...? What value/setting for ...?

What "social name" should I use in the FlightGear multi-player system settings?

Choose any name you would like to be recognised by on the network. In ATC-pie, it will appear in the tooltip over your callsign for connected ATCs who see you. This feature is only social in the sense that it does not refer to an account or to anything technical, but it makes sense as typical ATC callsigns (e.g. "VHHHtwr") remain mostly anonymous over MP. Use this field so that other players can identify you.

Are the vector headings true or magnetic?

Heading displays in ATC-pie are mostly magnetic so they can be read out to pilots. The only exceptions are for easier human identification, because true North is at the top of the map. For example, navigator and handover list tool tips are true radial headings from the radar position.

Also note: all directions are geodesic, i.e. initial headings to take on a great circle.

What is the purpose of the flat "strip shelf" button in the strip panes?

More than a button, the strip shelf is where you should drop the contacts you release without a handover, e.g. parked traffic shutting down, VFR traffic flying out of your airspace, etc. Clicking on the shelf allows to browse the previously shelved strips, and to recall them, for example if shelved inadvertently.

Why do I keep getting runway incursion alarms?

Because you have the runway occupation monitor turned on (Options menu), while not using your runway boxes. The alarm triggers when the radar detects traffic stepping on a runway in either of the following situations:

  • the runway is active (marked in use) and no strip is boxed for it;
  • it is reserved but there is already traffic on the runway;
  • it is reserved for a different aircraft: the boxed strip is linked to a contact that is not the entering aircraft, or the aircraft is linked to a strip different to the one boxed.

Turning the runway occupation monitor off will deactivate all radar warnings regarding runways. If you are interested in the strip boxing and visual runway highlighting system but bothered by the alarm sound, you can mute the sound notification by unticking it in the notification dock pull-down menu.

Where is ...? Can I ...? How to ...?

Can I draw SID and STAR procedures on the radar?

Yes, and virtually anything else, using background images. To learn about those:

  • see the corresponding user guide section;
  • read the CONFIG/bg-img/Notice file;
  • examine the (otherwise useless) packaged KSFO example.

If you have a sector file of the ".sct" format used in VATSIM/IVAO, you should try to import it with the provided drawing extraction tool. It will extract most of the contents for the open location and current map range, including SID/STAR procedures, and translate them to ATC-pie's native drawing format. It is generally the best solution if you know your procedures are included.

  1. Run the "extract drawings from sector file" option (System menu) and select the file to extract from. In the output directory, the resulting files are:
    • ICAO.lst.extract, a menu file for the generated drawings;
    • bg-ICAO-*, the extracted drawings in the native ATC-pie format;
    • bg-extract.err, a log of the errors detected in your sector file (do not be alarmed as they often contain many).
  2. Import the results:
    • move or copy-paste lines from ICAO.lst.extract to CONFIG/bg-img/ICAO.lst;
    • move the desired drawing files under CONFIG/bg-img, adjusting the paths in the .lst menu as you organise subdirectories.
  3. Post-editing (cleaning)
    ATC-pie does its best to understand the objects in the sector file and to group things together depending on their type. But not everything can be guessed automatically. This last step is where you filter, merge and split objects, rename points, change colours, etc. to your liking.
    Each generated drawing section (point list under a colour) is automatically labelled with the line number where it was sourced from in the sector file so you can easily trace it (@nnn). A tool like sed will help you get rid of all these unwanted suffixes once you have sorted and renamed your objects:
    sed -ri 's/ +@[0-9]+$//' file_to_clean

Tip: You can check your image configuration without restarting the program, by reloading from the System menu or pressing Shift+Alt+F12.

NB: ATC-pie does not package or source from sector files directly because their data is not free, and a lot of it is redundant with its own GPL-licensed X-plane source (GPL).

How do I assign SIDs and STARs to aircraft?

This question is asked quite a lot more than it is relevant to a real controller's task...

What people seem to be after when asking this question is a way to organise inbound traffic on arrival, using STARs to manage multiple approach paths. The way to handle this is to stack your inbound strips on racks named after your STARs. Racks are indeed above all meant for efficient traffic sequencing. Every rack represents its own sequence of ordered aircraft, which is perfectly suited to control separate approach paths in parallel. With this technique, placing a strip on a STAR-named rack basically serves as the "assignment" itself. Similarly, runway-specific racks can keep track of separate landing sequences at large airports. Then you can set a colour to each rack for quick identification on the scope. Besides, turning on the approach spacing hints will help you optimise the separation times in the sequence all the way to touchdown.

If you otherwise meant to plan routes before they are flown, you are looking for something you should not be doing. Routes are lists of waypoints and instructions to follow between the two end airfields. Normally pulled straight from properly filed flight plans, routes are printed on strips prior to departure, then modified as the flights progress and passed along with handovers. Standard departure and arrival procedures (SIDs and STARs) can be referred to in those routes, but only by their entry or exit navpoints. They should not contain full procedure names like FUBAR1A since those depend on the active runways and might change any time before flying the corresponding leg. For example, routes ending with a STAR should end with "FUBAR STAR", which means that waypoint FUBAR is an entry point from which a published STAR must be followed. The keyword "STAR" is in fact a mere specification for the last route leg. Similarly, routes of the form "SID DUMMY ..." specify their first leg as a standard departure to the first waypoint DUMMY. "SID" and "STAR" keywords are recognised by ATC-pie and accounted for in the second line of the radar tag when appropriate (see feature note on routes).

One meaningful wish regarding this question is for easy reference in text chat messages. Firstly, using racks in the way suggested above, you can use the $rack alias which is substituted by the name of the rack on which the current strip selection is stacked. Otherwise, if the selected strip's route is found to contain "SID"/"STAR" keywords placed in the first/last route leg specifications, text aliases $wpsid and $wpstar will respectively expand to the first/last en-route waypoints of that route. For example, assuming route "SID DUMMY more route spec FUBAR STAR" in the selection, $wpsid will be replaced with "DUMMY" and $wpstar with "FUBAR". Now if you specifically want to assign a full procedure name like FUBAR1A to a contact and refer to it in a generic text chat message, include a line "sid=FUBAR1A" in your strip comments. It will pop up with the strip mouse-over tooltip, and create a custom $sid alias that will automatically be expanded in your sent messages when that strip is selected.

How to set the transition level?

You do not. You can however set the transition altitude in the location settings if your airport specification file does not already include one.

The transition level displayed in the weather analysis is the lowest flight level that is still above the transition altitude. This does not mean the lowest to be expected in ATC clearances, which may be higher, e.g. for more vertical separation on either side of the transition layer or due to coordination with neighbouring zones and fields.

Can I look up ILS frequencies?

Yes, in the environment info dialog.

Besides, you can create aliases with the local notepad for a quick and integrated way of sending them through text chat, which will be saved when you close ATC-pie. For example, use the following format, one runway per line: ils05=111.11 MHz. See custom text aliases for more.

The navigation/airport data is outdated. How can I update it?

For airport data (taxiways, parking positions, frequencies, etc.), the included source is the last world-wide apt.dat compiled before it became too large to maintain as one huge file. We keep it there because it allows to run ATC-pie anywhere in the world without requiring external data, but its contents grows out of date with time. You should check for more recent sources on the X-plane airport gateway, directly accessible from the System menu, on a per-airport basis. Extract the apt.dat file from the download, rename it after the airport's ICAO code (keeping the extension, e.g. KJFK.dat), and place it in CONFIG/ad (also see the Notice there). Alternatively, for a quick manual touch-up of the included data, you can move and edit extracted files as explained in resources/x-plane.extract/Notice.

For navigation data (navaids, fixes, airways, etc.), the included data is the latest version of each file that was seen released as GPL, which makes some of it date back to 2013! You should provide more recent navigation data, as explained in CONFIG/nav/Notice.

How do I customise the GUI and colours?

To change the radar or strip drawing colours, edit the CONFIG/colours.ini file. Each line holds the paint colour for the corresponding object type in a typical #RRGGBB (red-green-blue) format. To customise the main session window, place a Qt stylesheet named main-stylesheet.qss in the CONFIG directory. ATC-pie will apply it to every session window. While you are working on your look and feel, use the reload feature from the "System" menu to avoid restarting after every change (Shift+Alt+F12).

Send us screenshots and share your files if you find a setup looking really cool! :-)

Miscellaneous

What's with the funny name?

ATC-pie is written in Python, and I reckoned that the pyXXX naming habit was becoming a little dull, so I merely switched things around. You can surely do the rest of the math in terms of spelling, and later impact on the logo.

Why is the learning curve so steep? People would use your program more if you did/provided [...]

Often continued with: (you must understand that) this is not VATSIM!

We do have a wish list and will consider any feature or help request. However, though it has a few cheats, ATC-pie has always choosen realism as a criterion for implementation and design, over the mere incentive of converting otherwise happy users of other programs. It is a good thing that different philosophies and work flows are available out there, and there would be much less interest in having them all copy each other, fighting over users instead of understanding that not all of them wish for the same experience. If serious simulation or learning new skills sound like threats to fun for you, you have a perfectly valid reason not to opt for ATC-pie.