ATC-pie: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 4: Line 4:
| image                  = ATC-pie-screenshot-KSFOmess.png
| image                  = ATC-pie-screenshot-KSFOmess.png
| alt                    = ATC-pie at the KSFO mess
| alt                    = ATC-pie at the KSFO mess
| developedby            = Michael Filhol (mickybadia)
| developedby            = Michael Filhol
| initialrelease        =  
| initialrelease        =  
| latestrelease          =  
| latestrelease          =  
| writtenin              = Python3, Qt5
| writtenin              = Python3
| os                    =  
| os                    =  
| platform              =  
| platform              = Qt5
| developmentstatus      = Active
| developmentstatus      = Active
| type                  = ATC client
| type                  = ATC client
Line 16: Line 16:
}}
}}


'''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.
'''ATC-pie''' is a radar [[air traffic control]] simulation program for the [[FlightGear]] network protocol. It is comparable to [[OpenRadar]], but essentially designed for realism. 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.
It is programmed in Python3 for Qt5, so both must be installed, as well as the python3-qt5 bindings. 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 ==
== Features ==
Line 31: Line 31:
* Notification system combining sounds and a time-tagged list
* Notification system combining sounds and a time-tagged list


=== Radar and transponder support ===
=== Transponder support ===
* Shows/hides airport tarmac and objects, runways and helipads, aircraft info boxes and assignments, navigation points...
* Realistic mode-dependant behaviour (modes 0, A, C, S)
* Choice for default mode for the many FlightGear aircraft models still not equipped
* Individual and general cheat modes to "see all" (override XPDR settings)
 
=== Radar scope ===
* Variety of show/hide options: airport tarmac, runways and helipads, navigation points, aircraft info boxes and assignments...
* Directly assign headings, altitudes/FLs and speeds by click&drag on radar contacts
* 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)
* 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
* Measuring tool for quick point-to-point heading & distance checks
* In-game custom text labels to annotate radar background
* In-game custom text labels to annotate radar background
Line 42: Line 45:
=== Radio ===
=== Radio ===
* [[FGCom 3.0|FGCom 3]] integration
* [[FGCom 3.0|FGCom 3]] integration
* Multiple radio management enabling simultaneous emission and monitoring
* ATIS recording
* Frequency-specific sound level selection
* Multiple radio management enabling simultaneous transmission on different frequencies
* Frequency-specific sound level selection enabling efficient monitoring
* Mouse and keyboard PTT
* Mouse and keyboard PTT
* ATIS recording


=== Strip management ===
=== Strip management ===
* Multiple racks and strip drag&drop along and across racks
* User-defined strip racks
* Strip drag&drop along and across racks
* Link strips to flight plans and radar contacts to merge editable details
* Link strips to flight plans and radar contacts to merge editable details
* FPL and radar conflicts reported
* FPL and radar conflicts reported
Line 55: Line 59:
* Interface with lenny64's flight plan filing [http://flightgear-atc.alwaysdata.net website] including in-game FPL retrieval, upload and editing
* Interface with lenny64's flight plan filing [http://flightgear-atc.alwaysdata.net website] including in-game FPL retrieval, upload and editing
* Work with local FPL copies and manage sync with online publication
* Work with local FPL copies and manage sync with online publication
<!--
<!--
== Screenshots ==
== Screenshots ==
<gallery>
<gallery>
</gallery>-->
</gallery>
-->


== Working principles ==
== Working principles ==
=== General ===
=== General ===
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:
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 [http://en.wikipedia.org/wiki/Secondary_surveillance_radar 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 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.
* 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.


=== Strips ===
=== Strips ===
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:
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;
* 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''; and
* details like aircraft type, airspeed, route... that can be specified by the pilots themselves when filing ''flight plans''; and
* parameter assignments: transponder code, altitude and heading when vectoring, etc.
* transponder code and flight parameter assignments (or vectors: heading, altitude/FL, speed).


=== Linking strips ===
=== Linking strips ===
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:
Double-clicking on a strip will open a strip detail sheet where those details can be manually edited, but each 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 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;
* 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).
* label the radar contact dot with the more informed linked details (e.g. assigned altitude).
Any detail mismatch between the strip and either a linked flight plan or radar contact will be reported for you to resolve.
Any detail mismatch between a strip and its 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 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 this assignment detail on the strip alongside the announced callsign, and wait for it to appear on the radar. This allows for what ATC-pie calls ''soft links'', in essence radar identification of an aircraft–strip pair such that:
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 it is visible (or cheated), 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 what ATC-pie calls ''soft links'', in essence radar identification of an aircraft–strip pair such that:
* the strip is assigned a transponder code;
* the strip is assigned a transponder code;
* no other strip is assigned the same code;
* no other strip is assigned the same code;
* the aircraft is the only one squawking that code in radar range.
* the aircraft is the only one squawking that code in radar range.


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.
Soft links are reported to you so you can properly link the two and consider the aircraft identified, before getting back to the pilot with subsequent instructions.


== Getting it to run ==
== Getting it to run ==
: ''Section to come after beta-testing phase is over.''
: ''Section to come after beta-testing phase is over. Probably on Feb. 1, 2015.''


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

Revision as of 12:34, 28 January 2015

ATC-pie
ATC-pie logo
ATC-pie at the KSFO mess
ATC-pie at the KSFO mess
Developed by Michael Filhol
Written in Python3
Platform Qt5
Development status Active
Type ATC client
License GNU GPL v3
Website

ATC-pie is a radar air traffic control simulation program for the FlightGear network protocol. It is comparable to OpenRadar, but essentially designed for realism. It has begun its beta-testing phase in January 2015.

It is programmed in Python3 for Qt5, so both must be installed, as well as the python3-qt5 bindings. 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

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

General

  • 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

Transponder support

  • Realistic mode-dependant behaviour (modes 0, A, C, S)
  • Choice for default mode for the many FlightGear aircraft models still not equipped
  • Individual and general cheat modes to "see all" (override XPDR settings)

Radar scope

  • Variety of show/hide options: airport tarmac, runways and helipads, navigation points, aircraft info boxes and assignments...
  • Directly assign headings, altitudes/FLs and speeds by click&drag on radar contacts
  • Radar identification assistant (unique squawk link between radar pick-up and strip assignment detection)
  • Measuring tool for quick point-to-point heading & distance checks
  • In-game custom text labels to annotate radar background

Radio

  • FGCom 3 integration
  • ATIS recording
  • Multiple radio management enabling simultaneous transmission on different frequencies
  • Frequency-specific sound level selection enabling efficient monitoring
  • Mouse and keyboard PTT

Strip management

  • User-defined strip racks
  • 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


Working principles

General

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 transponder code, possibly its altitude and even its type and callsign, depending on the mode set by the pilot.

Strips

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;
  • details like aircraft type, airspeed, route... that can be specified by the pilots themselves when filing flight plans; and
  • transponder code and flight parameter assignments (or vectors: heading, altitude/FL, speed).

Linking strips

Double-clicking on a strip will open a strip detail sheet where those details can be manually edited, but each 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 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;
  • 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.

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 it is visible (or cheated), 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 what ATC-pie calls soft links, in essence radar identification of an aircraft–strip pair 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.

Soft links are reported to you so you can properly link the two and consider the aircraft identified, before getting back to the pilot with subsequent instructions.

Getting it to run

Section to come after beta-testing phase is over. Probably on Feb. 1, 2015.

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