From FlightGear wiki
Revision as of 14:16, 16 January 2015 by Mickybadia (talk | contribs)
Jump to navigation Jump to search
ATC-pie logo
Developed by Michael Filhol (mickybadia)
Written in Python3, Qt5
Development status Active
Type ATC client
License GNU GPL v3

ATC-pie is an air traffic control simulation program for the FlightGear network, comparable to OpenRadar. It has begun its beta-testing phase in January 2015.

It is programmed in Python3 for Qt5, so both platforms and the python3-qt5 bindings must be installed. That done, it is meant to work straight away, with no other resource to install or make/compile command to run. No need to install or update FlightGear, download scenery or fetch any external resource before it can run.


Features listed below are already implemented and supposedly stable. Also see the ATC-pie wish list.


  • floatable/dockable GUI panes: strips, radios, text chat, etc.
  • general and airport-specific settings saved on close and restored on restart
  • real METAR updates with selectable weather station
  • real declination lookup and true/magnetic distinction
  • data retrieved from the latest X-Plane file set
  • notification system combining sounds and a time-tagged list

Radar and transponder support

  • shows/hides airport tarmac and objects, runways and helipads, aircraft info boxes and assignments, navigation points...
  • directly assign headings, altitudes/FLs and speeds by click&drag on radar contacts
  • full transponder support (modes either 0, A, C, S), and choice for default mode for the many FlightGear aircraft models that are not equipped
  • radar identification assistant (unique squawk link between radar pick-up and strip assignment detection)
  • individual aircraft and general cheat modes to "see all" (override XPDR settings)
  • measuring tool for quick point-to-point heading & distance checks
  • in-game custom text labels to annotate radar background


  • FGCom 3 integration
  • multiple radio management enabling simultaneous emission and monitoring
  • frequency-specific sound level selection
  • mouse and keyboard PTT
  • ATIS recording

Strip management

  • multiple racks and strip drag&drop along and across racks
  • link strips to flight plans and radar contacts to merge editable details
  • FPL and radar conflicts reported

Flight plans

  • interface with lenny64's flight plan filing website including in-game FPL retrieval, upload and editing
  • work with local FPL copies and manage sync with online publication

General principles

You are the air traffic controller, and players will connect to the network 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 code it is "squawking", 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. Details written on strips include:

  • most importantly, the aircraft's callsign, to be used on the radio;
  • its type, airspeed and all sorts of other details that can be specified by the pilots themselves when filing flight plans;
  • parameter assignments: squawk code, altitude and heading when vectoring, etc.

Double-clicking on a strip will open a strip detail sheet where those details can be manually edited, but strips can also be linked with a middle button click, each 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 to 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. Any detail mismatch between the strip and either a linked flight plan or radar contact will be reported for you to resolve.

To identify an aircraft and link the right radar contact to a strip, ATC can rely on different things. He can read an aircraft's callsign straight away if it is visible (or cheated), tell from reported positions and altitudes, or use a unique squawk code and wait for it to appear on the radar. 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 code to squawk, writing this assignment detail on the strip alongside the announced callsign. This allows for what ATC-pie calls soft links, i.e. radar identification of an aircraft--strip pair such that:

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

Soft links are reported to you so you can properly link the two and consider the aircraft identified... and inform them and give them subsequent instructions.

Getting it to run

((section to come after beta-testing phase is over))

If you are a regular or occasional controller with aviation background interested in trying it out, please contact the author at email(mickybadia, gmail, com).

Using ATC-pie

((all sorts of possible things here: quick reference, keyboard shortcuts...))