Difference between revisions of "ATC-pie"

From FlightGear wiki
Jump to navigation Jump to search
m (Version update)
(New release (r10g))
Line 10: Line 10:
| developedby            = Michael Filhol
| developedby            = Michael Filhol
| initialrelease        = February 1, 2015
| initialrelease        = February 1, 2015
| latestrelease          = July 29, 2016 (r10f)
| latestrelease          = August 7, 2016 (r10g)
| writtenin              = Python3
| writtenin              = Python3
| os                    = Any
| os                    = Any
Line 36: Line 36:
Common data sources:
Common data sources:
* Airport and navigation data retrieved from the latest [http://data.x-plane.com X-Plane] file set
* Airport and navigation data retrieved from the latest [http://data.x-plane.com X-Plane] file set
* Custom additions in separate nav/AD data files
* Nav/AD data customisation in separate files
* Real world declination lookup and true/magnetic distinction
* Real world declination lookup and true/magnetic distinction
* Script to help importing data from .sct sector files (EuroScope/[http://www.vatsim.net VATSIM])
Solo games:
Solo games:

Revision as of 15:24, 7 August 2016

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 7, 2016 (r10g)
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 allowing to play solo games, connect to FlightGear multi-player networks and set up tutorial sessions for teacher supervision of an ATC student. It features modes for en-route (CTR) control as well as airport-based service (TWR, APP, GND...) where tower viewing is possible for all types of games. It is essentially designed for realism and simulates many tasks of real-life ATC such as transponder identification, strip rack and sequence management, handovers to/from neighbouring controllers, ATIS recording, flight plan editing, routing and conflict anticipation.

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 internal tower viewing, which requires FlightGear and the appropriate scenery).

Program features

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

General features

Available modes:

  • Various game and connection types: solo sessions, FlightGear multi-player, teacher–student tutoring
  • For all types: en-route centre or airport control mode

Common data sources:

  • Airport and navigation data retrieved from the latest X-Plane file set
  • Nav/AD data customisation in separate files
  • Real world declination lookup and true/magnetic distinction
  • Script to help importing data from .sct sector files (EuroScope/VATSIM)

Solo games:

  • Play CTR or a combination of TWR, GND, APP and DEP positions
  • 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 and entry/exit/routing points
  • Randomised weather

FlightGear multi-player games:

  • Configurable FGMS connections
  • Weather: real world METAR retrieval
  • ATC handovers: strip exchange with other ATC-pie and OpenRadar instances in range
  • Flight plans: interface with Lenny64's data base (the de facto FG standard), including in-game retrieval, filing and editing (work on local copies and manage sync with online status)
  • In-app facility to announce ATC sessions on Lenny64's popular event page

Teaching/learning sessions:

  • Teacher spawns and manipulates traffic visible to student (flight and transponder settings)
  • Strip exchange, configurable ATC neighbours and handover supervision by teacher
  • Wind control
  • Traffic snapshots and recall to repeat situations with the student


  • Floatable, dockable and closable GUI panes: strips, radios, text chat, etc. (window layout saved)
  • Notification system combining selectable sounds, status bar messages and time-tagged history
  • General and location-specific settings and notes saved on close and restored on restart
  • Custom alarm clocks with quick two-key timer set-up
  • Selectable weather stations

ATC surveillance

Radar and transponders:

  • Full transponder support and mode-dependant radar behaviour (off, A, C, S)
  • Radar identification assistant (detects unique squawk code matches between radar pick-up and strip assignment)
  • Primary radar activation (see targets without XPDR signals)
  • Open multiple radar screens
  • Configurable horizontal and vertical radar ranges and rotation speed
  • Custom radar background images (integrated OpenStreetMap image retrieval)
  • Custom text labels to annotate radar background
  • Quick point-to-point heading and distance measuring tool and access to Earth coordinates
  • Individual and general cheat modes
  • Ignore contacts
  • Customisable colours

Tower viewing (not in CTR mode):

  • Real-time rendering of the airport scene from tower viewpoint
  • Internally started (requires FlightGear installed) or through connection to an external instance
  • Controller pane to orient/zoom view or follow aircraft
  • Possible use of custom scenery and aircraft model addition/substitution
  • Additional views can be connected

Traffic management

Strips, racks, flight plans:

  • User-defined racks with configurable colours for linked radar contacts
  • Mouse drag to move strips along and across racks; 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

Routes, vectors, conflicts:

  • Route parsing, drawing and world map view
  • Route presets and quick retrieval between two end airports
  • Current leg and next waypoint display with geodesic calculations of headings and distances
  • Instruct taxi, assign vectors and change routes with direct mouse gestures
  • Anticipated path conflict warnings and separation incident alarm
  • Visible mismatches between assigned vectors and picked up positions (see all-in-one graphics)



  • FGCom integration, incl. echo test and possible use of externally running client
  • ATIS recording with pre-filled preparation notepad (see feature dialog)
  • Multiple frequency transmissions and monitoring
  • Frequency-specific sound level selection

Text chat:

  • Preset message list manager
  • Predefined and custom aliases for context-sensitive replacements (general, location- and ACFT-specific)
  • Message history and single-click dest. or message recall
  • Hardcore communication sim possible by disabling unknown senders' callsigns
  • Senders blacklist management (filter out trolls)


Working principles


You are the air traffic controller, and players will connect to the network (or AI/teacher traffic be simulated in solo/student modes) with different types of aircraft and transponder equipment. As in real life, the radar is SSR, hence will show you only (unless you cheat or activate the primary radar) what you pick up from on-board transponders in your range. This 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.


The ATC-pie strip detail sheet

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

Radar identification: both matched strip and radar contact marked in blue

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. If you have a question, check the FAQ for help or try the forum.