ATC-pie FAQ: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(r10h)
(v1.8.7)
 
(22 intermediate revisions by 2 users 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? ===
=== This aircraft is connected but I am not seeing it on my radar. ===
As in real life, the main radar technology is [http://en.wikipedia.org/wiki/Secondary_surveillance_radar SSR], which only shows what is picked up from on-board transponders in its range. It coexists with primary radar, which detects aircraft regardless of transponders but offers no information other than position (angle and distance), i.e. neither of callsign, altitude, type, IAS, etc.


Use a command line argument: <code>./ATC-pie.py ICAO</code>
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 SSR setting other than "none" will pick up contacts.
* The aircraft is out of radar range, either too far out or under the radar floor. Check the horizontal range and floor settings ("SFC" will pick up all signals down to the ground). Primary and secondary radars share the same range.
* Its onboard transponder is turned off (and primary radar 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].


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 aircraft vectoring tool does not come up when I click and drag out of radar contacts. ===
Your radar contact is not linked. Link it to a strip to enable registering the mouse-issued vectors. Radar and strip displays will then be informed according to the current options, e.g. altitude reaching point, unfollowed vector warnings, etc.


=== Why am I not seeing this aircraft on my radar? ===
=== FGCom is not working. ===
First, note that there are two variants of FGCom: the standard FGCom-mumble plug-in available in FlightGear and FSD sessions, and the legacy (deprecated) alternate available in FlightGear sessions only. They are ''not'' interoperable: users can only hear and interact with others using the same variant and server.


'''I know it is there: the pilot is sending chat messages and/or is visible on the online live map...'''
'''FGCom-mumble''' is a plug-in that must be run with an external ''Mumble'' client (minimum version 1.4.0 to support plugins) connected to a chosen server. See the project [https://github.com/hbeni/fgcom-mumble/releases release] and wiki pages to download and install it. The control port in ATC-pie must be set to the one FGCom-mumble is listening on. To troubleshoot:
* open a single ATC-pie instance;
* check that your sound is on, your volume loud and your system picking up a signal from your microphone;
* start an FGCom-mumble configuration test from the system tools menu;
* speak in the microphone while the echo test is running.


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:
For the FlightGear '''standalone''' variant (selectable in the ''system settings''), the FGCom command in the system settings should be a valid command or path to an FGCom executable file. If you have FlightGear installed on your machine, you can point to the FGCom executable already available with it. On Linux, the default "fgcom" command usually does the job. Otherwise, get one from ATC-pie's [https://sourceforge.net/projects/atc-pie/files/fgcom-standalone/ SourceForge file list]. Try the entry from a terminal in the ATC-pie directory to manually check that it runs correctly, and try the echo test available from the settings box. Other things you might check if you really do not want to switch to FGCom-mumble:
* 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.
* server status: check for responses from the chosen server, e.g. with <code>ping</code>;
* 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.
* subprocess error: after turning a first radio on, check the FGCom error logs in the <code>OUTPUT</code> directory;
* port mess-up: make sure you choose an unused port number for each created radio at run time.


=== FGCom radio is not working. What is going on? ===
=== 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 here; 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.


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.
=== 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 read the [[ATC-pie_installation_guide#Airport scene rendering|related section]] in the installation guide.


First, try an echo test:
=== Simulated aircraft dip underground or levitate over taxiways. ===
* check that your sound is on, your volume loud and your microphone working (e.g. system sound monitor picking up a signal);
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 dipping into it.''" Read the full notice for instructions on how to build your elevation map.
* 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.
Once you have an elevation map, the next focus is on the FlightGear aircraft models. Because 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 do this on a per-model basis with ":height" specifications in <code>CONFIG/acft/icao2fgfs</code>. Read the associated <code>Notice</code> section for more information.
# Bad FGCom version/path setting
#: Verify the path to your FGCom executable in the system settings. It 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 the program.
# 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>.
# FGCom subprocess error
#: 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
#: 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. ===
=== Phone lines have broken, choppy or dragged out sound ===
You and the other parties must adjust microphone sensitivity. Toggle the phone squelch adjustment box from the system menu and tune the spinbox next to the "call" button in the ATC coordination panel. Lower values will decrease the threshold for sound pick-up and likely break the sound less, but can generate more lag in the communications. The right balance depends on your local configuration, so a few test calls with other connected ATCs will be necessary to decide on the best acceptable value.


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.
=== 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.


=== Why is my tower in the middle of the sea, and aircraft floating/landing on water? ===
== What is ...? Why is ...? What value/setting for ...? ==


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.
=== What "social name" should I use for FlightGear/FSD sessions? ===
Choose any name you would like to be recognised by on the network. In ATC-pie, it will appear in the tool tip 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. Use this field to identify yourself on the network.


=== I cannot connect to my teacher as a student! ===
=== 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.


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.
=== What is "radio direction finding"? ===
RDF is a system that detects the horizontal direction of radio sources when signals are received. Its most common uses are:
* to locate ACFT making new radio contacts on their first transmissions;
* to give bearings to the airport to disoriented VFR pilots.
 
Setting up your location as equipped with RDF will essentially provide two things:
* a status bar indication of the form "hdg/qdm" in the main window, where "hdg" is the heading of the currently detected radio signal (direction to source, or "---" if none), and "qdm" the opposite heading of the last received signal (bearing from source, displayed until the next signal is received);
* the option to draw a line on radar scopes when a signal is received, making it easy to visualise the transmitting ACFT as the line should hit its target.
 
=== Are the vector headings true or magnetic? ===
Heading displays in ATC-pie are mostly magnetic so they can be read out to pilots. The exceptions are the navigator and handover list tool tips, which show true radial headings from the radar position, and the teacher's wind section to match the generated ATIS string.
 
Also note: all directions are geodesic, i.e. initial headings to take on a great circle.
 
=== How do approach spacing hints work? ===
When the option is turned on, an approach spacing hint will show on every strip verifying the following conditions:
* it is racked in sequence behind another marked with the same (recognised) destination;
* both are linked to an airborne aircraft with a known ground speed;
* the time hint value (see below) does not exceed 30 minutes.


If you know what IPv6 is and that your network configuration will allow it, try using IPv6 addresses. Otherwise, the solution is either:
The hint value for a strip is an estimated time difference between the linked aircraft touchdown and that of the traffic ahead, assuming:
* 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;
* both present ground speeds;
* or to create a virtual network, using a third-party VPN service.
* for the leading aircraft, a straight path to destination;
* for the tailing aircraft, a path straight to the leading one first, then straight to destination.


== What is ...? What value/setting for ...? ==
Caution, some judgement is required depending on the aircraft positions, because the actual paths to expect can vary from those above. For example, the interpretation of the hint should be different whether both aircraft are aligned with the runway or coming from opposite directions. But with some practice, the rate of the changes still help to optimise spacing when the displayed values don't.


=== What is the FlightGear strip exchange server? Which one to use? ===
=== What do the various markings along the approach centre line mean? ===
The regularly spaced groups along a centre line represent altitudes on the approach plane. Each group sums up to an AMSL value in accordance with the set flight path angle (also see ''Display conventions'' in the quick reference):
* straight line = 1,000 ft;
* solid diamond = 5,000 ft.


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!
The other markers drawn with thicker lines are the positions of the ILS marker beacons (OM, MM, IM), the line pattern representing the sound triggered by the beacon in the pilot's headset. They are sourced on program start-up from the navigation data (<code>CONFIG/nav/navaid.dat</code>).


=== What nickname should I use for FlightGear multi-player? ===
=== 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.


Choose any name you would like to be recognised by as playing the ATC. It will appear in a tooltip over your callsign in the ATC neighbours list of those connecting near enough to see you. In a sense, this feature is more social than technical, but makes sense as typical ATC callsigns (e.g. "VHHHtwr") remain mostly anonymous over MP. Use this field so that other players can identify you.
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 general settings.


== Where is ...? How to ...? ==
== Where is ...? 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_installation_guide#Background images|installation guide section]];
* read the <code>CONFIG/bg/Notice</code> file.


Yes, and virtually anything else, using background images. To learn about those:
=== How do I assign SIDs and STARs to aircraft? ===
* see the corresponding user guide [[ATC-pie_user_guide#Background images|section]];
This question is asked quite a lot more than it is relevant to a real controller's task...
* read the <code>resources/bg-img/Notice</code> 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 the included <code>sectorExtract.py</code> script. Probably your best solution if you know your procedures are included. Here is how to use it:
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.
# Choose an output directory
#: It is where you want the output files to be generated. You can create your own target directory, or choose the <code>output</code> directory of ATC-pie but mind that it is probably not empty (NB: the <code>cleanUp.sh</code> script will clean it nicely). It is ''not'' recommended to choose <code>resources/bg-img</code> directly.
# Run the script: <code>sectorExtract.py sector_file centre:radius output_dir</code> where ''centre'' (Earth coordinates) and ''radius'' (range in nautical miles) specify the wanted coverage of the input sector file, centred on a point.
#: In the output directory, the resulting files are:
#:* <code>geo-*</code>, <code>proc-*</code>, <code>boundaries-*</code>, containing the extracted drawings translated for ATC-pie;
#:* <code>extract.lst</code>, a list of the generated drawing files in the expected format;
#:* <code>extract.err</code>, a log of the errors detected in your sector file (do not be alarmed as they often have many).
# Import the results:
#* move the drawing files under <code>resources/bg-img</code> and adjust the paths in <code>extract.lst</code> if you create subdirectories;
#* rename the latter to <code>resources/bg-img/ICAO.lst</code> replacing ''ICAO'' by the location code where to draw the imported files.
# Post-editing
#: Each drawing block (point list under a colour) is labelled automatically with something that describes it best, and contains the line number it was sourced from in the sector file. ATC-pie does its best to understand the objects that are in the sector and to group things together depending on their type. But not everything can be guessed automatically, so you get a lot a files and useless things. This last step is now where you must merge, split, delete objects, rename points, change colours, etc. to your liking.


=== How do I assign SIDs and STARs to aircraft? ===
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 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.
=== Can I look up ILS frequencies? ===
Yes, in the ''environment info'' dialog.


=== Can I access 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.


Not with built-in features. But 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 will even create local text aliases for convenient shortcuts in chat messages: <code>ils05=111.11 MHz</code>. See [[ATC-pie_user_guide#Text chat|custom text aliases]] for more.
=== The airport/navigation data is outdated. How can I update it? ===


=== How do I customise the GUI and colours? ===
The included '''airport data''' (taxiways, parking positions, frequencies, etc.) is the latest but outdated world-wide <code>apt.dat</code> file compiled by ''X-plane'' ages ago. We keep it there because it allows to run ATC-pie anywhere in the world without requiring external data, but for any serious work at a specific airfield, you should provide the latest source available on the [http://gateway.x-plane.com/airports/page X-plane airport gateway], directly accessible from the ''System'' menu. Extract the <code>apt.dat</code> file from the downloaded package, 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> (see the <code>Notice</code> there). Alternatively, for a quick manual touch-up of the old data, you can use the locally extracted file (see <code>OUTPUT/Notice</code>).


To change the '''radar or strip 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.
The included '''navigation data''' (navaids, fixes, airways, etc.) is the latest GPL version seen for each relevant ''X-plane'' file, also all out of date today. 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.conf</code> file. Each line specifies the paint colour for an object type, in a typical hex <code>RRGGBB</code> (red-green-blue) format or as an SVG colour keyword name like "white". 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.
* 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]]

Latest revision as of 15:46, 31 January 2023

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"

This aircraft is connected but I am not seeing it on my radar.

As in real life, the main radar technology is SSR, which only shows what is picked up from on-board transponders in its range. It coexists with primary radar, which detects aircraft regardless of transponders but offers no information other than position (angle and distance), i.e. neither of callsign, altitude, type, IAS, etc.

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 SSR setting other than "none" will pick up contacts.
  • The aircraft is out of radar range, either too far out or under the radar floor. Check the horizontal range and floor settings ("SFC" will pick up all signals down to the ground). Primary and secondary radars share the same range.
  • Its onboard transponder is turned off (and primary radar 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.

The aircraft vectoring tool does not come up when I click and drag out of radar contacts.

Your radar contact is not linked. Link it to a strip to enable registering the mouse-issued vectors. Radar and strip displays will then be informed according to the current options, e.g. altitude reaching point, unfollowed vector warnings, etc.

FGCom is not working.

First, note that there are two variants of FGCom: the standard FGCom-mumble plug-in available in FlightGear and FSD sessions, and the legacy (deprecated) alternate available in FlightGear sessions only. They are not interoperable: users can only hear and interact with others using the same variant and server.

FGCom-mumble is a plug-in that must be run with an external Mumble client (minimum version 1.4.0 to support plugins) connected to a chosen server. See the project release and wiki pages to download and install it. The control port in ATC-pie must be set to the one FGCom-mumble is listening on. To troubleshoot:

  • open a single ATC-pie instance;
  • check that your sound is on, your volume loud and your system picking up a signal from your microphone;
  • start an FGCom-mumble configuration test from the system tools menu;
  • speak in the microphone while the echo test is running.

For the FlightGear standalone variant (selectable in the system settings), the FGCom command in the system settings should be a valid command or path to an FGCom executable file. If you have FlightGear installed on your machine, you can point to the FGCom executable already available with it. On Linux, the default "fgcom" command usually does the job. Otherwise, get one from ATC-pie's SourceForge file list. Try the entry from a terminal in the ATC-pie directory to manually check that it runs correctly, and try the echo test available from the settings box. Other things you might check if you really do not want to switch to FGCom-mumble:

  • server status: check for responses from the chosen server, e.g. with ping;
  • subprocess error: after turning a first radio on, check the FGCom error logs in the OUTPUT directory;
  • port mess-up: make sure you choose an unused port number for each created radio at run time.

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 here; 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 read the related section in the installation guide.

Simulated aircraft 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 dipping into it." Read the full notice for instructions on how to build your elevation map.

Once you have an elevation map, the next focus is on the FlightGear aircraft models. Because 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 do this on a per-model basis with ":height" specifications in CONFIG/acft/icao2fgfs. Read the associated Notice section for more information.

Phone lines have broken, choppy or dragged out sound

You and the other parties must adjust microphone sensitivity. Toggle the phone squelch adjustment box from the system menu and tune the spinbox next to the "call" button in the ATC coordination panel. Lower values will decrease the threshold for sound pick-up and likely break the sound less, but can generate more lag in the communications. The right balance depends on your local configuration, so a few test calls with other connected ATCs will be necessary to decide on the best acceptable value.

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 for FlightGear/FSD sessions?

Choose any name you would like to be recognised by on the network. In ATC-pie, it will appear in the tool tip 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. Use this field to identify yourself on the network.

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.

What is "radio direction finding"?

RDF is a system that detects the horizontal direction of radio sources when signals are received. Its most common uses are:

  • to locate ACFT making new radio contacts on their first transmissions;
  • to give bearings to the airport to disoriented VFR pilots.

Setting up your location as equipped with RDF will essentially provide two things:

  • a status bar indication of the form "hdg/qdm" in the main window, where "hdg" is the heading of the currently detected radio signal (direction to source, or "---" if none), and "qdm" the opposite heading of the last received signal (bearing from source, displayed until the next signal is received);
  • the option to draw a line on radar scopes when a signal is received, making it easy to visualise the transmitting ACFT as the line should hit its target.

Are the vector headings true or magnetic?

Heading displays in ATC-pie are mostly magnetic so they can be read out to pilots. The exceptions are the navigator and handover list tool tips, which show true radial headings from the radar position, and the teacher's wind section to match the generated ATIS string.

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

How do approach spacing hints work?

When the option is turned on, an approach spacing hint will show on every strip verifying the following conditions:

  • it is racked in sequence behind another marked with the same (recognised) destination;
  • both are linked to an airborne aircraft with a known ground speed;
  • the time hint value (see below) does not exceed 30 minutes.

The hint value for a strip is an estimated time difference between the linked aircraft touchdown and that of the traffic ahead, assuming:

  • both present ground speeds;
  • for the leading aircraft, a straight path to destination;
  • for the tailing aircraft, a path straight to the leading one first, then straight to destination.

Caution, some judgement is required depending on the aircraft positions, because the actual paths to expect can vary from those above. For example, the interpretation of the hint should be different whether both aircraft are aligned with the runway or coming from opposite directions. But with some practice, the rate of the changes still help to optimise spacing when the displayed values don't.

What do the various markings along the approach centre line mean?

The regularly spaced groups along a centre line represent altitudes on the approach plane. Each group sums up to an AMSL value in accordance with the set flight path angle (also see Display conventions in the quick reference):

  • straight line = 1,000 ft;
  • solid diamond = 5,000 ft.

The other markers drawn with thicker lines are the positions of the ILS marker beacons (OM, MM, IM), the line pattern representing the sound triggered by the beacon in the pilot's headset. They are sourced on program start-up from the navigation data (CONFIG/nav/navaid.dat).

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 general settings.

Where is ...? How to ...?

Can I draw SID and STAR procedures on the radar?

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

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 airport/navigation data is outdated. How can I update it?

The included airport data (taxiways, parking positions, frequencies, etc.) is the latest but outdated world-wide apt.dat file compiled by X-plane ages ago. We keep it there because it allows to run ATC-pie anywhere in the world without requiring external data, but for any serious work at a specific airfield, you should provide the latest source available on the X-plane airport gateway, directly accessible from the System menu. Extract the apt.dat file from the downloaded package, rename it after the airport's ICAO code keeping the extension (e.g. KJFK.dat), and place it in CONFIG/ad (see the Notice there). Alternatively, for a quick manual touch-up of the old data, you can use the locally extracted file (see OUTPUT/Notice).

The included navigation data (navaids, fixes, airways, etc.) is the latest GPL version seen for each relevant X-plane file, also all out of date today. 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.conf file. Each line specifies the paint colour for an object type, in a typical hex RRGGBB (red-green-blue) format or as an SVG colour keyword name like "white". 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.

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.