Difference between revisions of "ATC-pie"

From FlightGear wiki
Jump to navigation Jump to search
(Separated the "user guide" section and linked to it on a new page of its own)
m (Title level)
Line 149: Line 149:
ATC-pie identifies such pairs automatically and reports them to you so you can properly link the two and get back to the pilot: "radar identified".
ATC-pie identifies such pairs automatically and reports them to you so you can properly link the two and get back to the pilot: "radar identified".
=== Using ATC-pie ===
== Using ATC-pie ==
To download the program and learn more about how to use it, read the [[ATC-pie user guide]].
To download the program and learn more about how to use it, read the [[ATC-pie user guide]].
[[Category:ATC clients]]
[[Category:ATC clients]]

Revision as of 08:31, 23 August 2015

ATC-pie logo
ATC-pie at the KSFO mess
ATC-pie at the KSFO mess
Developed by Michael Filhol
Initial release February 1, 2015
Latest release August 22, 2015 (r6c)
Written in Python3
OS Any
Platform Qt5
Development status Active
Type ATC client
License GNU GPL v3

ATC-pie is an air traffic control simulation program featuring solo training and a multi-player game mode to connect to FlightGear networks. It is essentially designed for realism, and simulates many features of real-life ATC tasks such as transponder identification, strip rack and sequence management, handovers to/from neighbouring controllers, ATIS recording, flight plan editing, routing and conflict solving.

ATC-pie is free and open source, programmed in Python3 for Qt5 hence system-independant, only Python3 and its Qt5 bindings must be installed. That done, it is meant to work straight away, with no make/compile command to run or external resource to install (except for local tower viewing, which requires FlightGear and the appropriate scenery).

If you are looking for the user guide.

Program features

The features listed below have been tested on various Linux versions, Mac and Windows.

Game and environment

World data:

  • Real world METAR updates from selectable weather stations
  • Real world declination lookup and true/magnetic distinction
  • Airport and navigation data retrieved from the latest X-Plane file set
  • Custom additions possible in separate files

Multi-player and network environment:

  • Multi-player game mode with configurable FGMS connection
  • ATC handovers: strip exchange with OpenRadar and other ATC-pie instances in range
  • Interface with Lenny64's flight plan data base, including in-game FPL retrieval, filing and editing
  • In-app session announcement facility to post on Lenny64's popular ATC event page
  • Ignore contacts

Solo game mode:

  • Free combination choice of APP, TWR and DEP control positions for custom training
  • Handovers to/from virtual ATCs
  • Instruction interface and pilot read back
  • Adjustable difficulty (traffic density)
  • Departure–arrival and ILS–visual balance options
  • Configurable runways in use, entry and exit points


  • Floatable, dockable and closable GUI panes: strips, radios, text chat, etc. (window layout saved)
  • Notification system combining selectable sounds, status bar messages and a time-tagged history
  • General and airport-specific settings and notepads saved on close and restored on restart
  • Customisable colours

Radar and visual contacts


  • Full support and mode-dependant behaviour (off, A, C, S)
  • Choice of simulated mode for non-equipped aircraft models
  • Radar identification assistant (unique squawk link between radar pick-up and strip assignment detection)
  • Individual and general cheat modes to override XPDR settings or reveal those turned off

Radar scope:

  • Open multiple radar screens
  • Custom radar background drawing and image display (e.g. to display real procedure charts)
  • Variety of show/hide options for navigation points, vectors and route assignments, etc.
  • Quick point-to-point heading & distance measuring tool
  • Custom text labels to annotate radar background

Tower viewing:

  • Real-time rendering of the airport scene from tower viewpoint, available in all game modes
  • Internally started (requires FlightGear installed) or through connection to an external instance
  • View controller pane and direct free look/zoom from the view
  • Easy use of custom scenery and aircraft model addition/substitution

ATC management

Strips, racks, flight plans:

  • Strip drag&drop along and across user-defined racks, with configurable colours
  • Strip drop on neighbouring ATCs to hand over
  • Link strips to flight plans and radar contacts to merge editable details and inform radar display
  • Conflicts between linked elements reported
  • Work with local FPL copies and manage sync with online publication

Routes, vectors, conflicts:

  • Route parsing and drawing
  • Current leg and next waypoint display with geodesic calculations of headings and distances
  • Assign vectors and change routes with direct mouse gestures
  • Anticipated route conflict warning and separation incident alarm
  • Visible mismatches between assigned vectors and picked up positions



  • FGCom integration, incl. echo test and possible use of externally running client
  • ATIS recording with information letter and pre-filled preparation notepad
  • Multiple and single frequency transmissions
  • Frequency-specific sound level selection

Text chat:

  • Custom preset message list and automatic line completion
  • Preset and custom text aliases for context-sensitive replacements
  • Message history and single-click message recall
  • Hardcore communication sim possible by disabling unknown senders' callsigns


Playing solo mode with three coloured racks  
Tower viewing, following a departing aircraft  
Radar identification marked in blue  
Depiction of airport tarmac and objects  
Background image display  
Hand drawing for LSGG procedures  
All-in-one display of assignments  
Horizontal separation rings  
Route conflict warning  
Strip detail sheet with editable route  
ATIS recording feature with scrap notebook  

Working principles


You are the air traffic controller, and players will connect to the network (or AI traffic be simulated in solo mode) with different types of aircraft and transponder equipment. As in real life, the radar is SSR, hence will show you only (unless you cheat) what you pick up from on-board transponders in your range. That means:

  • If a transponder is off or on standby, you will not see the aircraft on your radar screen.
  • If a transponder is on, you will at least be able to see its position and read the transponder code, possibly its altitude and even its type and callsign, depending on the mode set by the pilot.


Your basic traffic flow and sequence working unit is the strip, each representing a controlled (or soon expected) aircraft. Strips are created, filled with details and moved along and across racks until handed over to a different controller or discarded. Strip details include:

  • most importantly, the aircraft's callsign, to be used on the radio;
  • information like aircraft type, airspeed, route... that can be specified by the pilots themselves when filing flight plans;
  • transponder code and flight parameter assignments (or vectors: heading, altitude/FL, speed).

Linking strips

Strip details can be manually edited, but every strip can also be linked to a flight plan and/or a visible radar contact on the scope screen—a strip can only be linked to one flight plan and one radar contact. Linking to a strip will automatically:

  • make the strip display the missing elements made available by the linked aircraft transponder or flight plan;
  • label the radar contact dot with the more informed linked details, e.g. assigned altitude.

Any detail mismatch between a strip and its linked flight plan or radar contact will be reported for you to resolve.

Radar identification

To identify an aircraft and link the right radar contact to a strip, an ATC can rely on different things. He can read an aircraft's callsign straight away if its transponder has mode S turned on, tell from reported positions and altitudes, or use a transponder code. For instance, say a VFR traffic makes an initial radio contact giving his callsign and approximate position. ATC will typically pull out a new blank strip and give the pilot a unique transponder code to squawk, writing it on the strip alongside the announced callsign, then wait for it to appear on the radar. This allows for radar identification of aircraft–strip pairs such that:

  • the strip is assigned a transponder code;
  • no other strip is assigned the same code;
  • the aircraft is the only one squawking that code in radar range.

ATC-pie identifies such pairs automatically and reports them to you so you can properly link the two and get back to the pilot: "radar identified".

Using ATC-pie

To download the program and learn more about how to use it, read the ATC-pie user guide.