ATC-pie: Difference between revisions

Jump to navigation Jump to search
2,834 bytes removed ,  11 February 2015
no edit summary
mNo edit summary
No edit summary
Line 6: Line 6:
| developedby            = Michael Filhol
| developedby            = Michael Filhol
| initialrelease        = Febuary 1, 2015
| initialrelease        = Febuary 1, 2015
| latestrelease          = Febuary 1, 2015
| latestrelease          = Febuary 11, 2015
| writtenin              = Python3
| writtenin              = Python3
| os                    = Any
| os                    = Any
Line 25: Line 25:


=== General ===
=== General ===
* Floatable/dockable GUI panes: strips, radios, text chat, etc.
* Real METAR updates with selectable weather station
* Real METAR updates with selectable weather station
* Real declination lookup and true/magnetic distinction
* Real declination lookup and true/magnetic distinction
* Data retrieved from the latest [http://data.x-plane.com X-Plane] file set
* Data retrieved from the latest [http://data.x-plane.com X-Plane] file set
* In-app announcement of ATC session on Lenny64's popular [http://flightgear-atc.alwaysdata.net ATC event page]
* In-app announcement of ATC session on Lenny64's popular [http://flightgear-atc.alwaysdata.net ATC event page]
* General and airport-specific settings saved on close and restored on restart
* Notification system combining sounds and a time-tagged list
* Network text chat system
* Network text chat system
* Strip route management
* Manage ignored contacts
* Manage ignored contacts
* Personal notepads (general and airport-specific) saved across sessions


=== Transponder support ===
=== Transponder support ===
Line 59: Line 54:
* Use of separate (externally running) FGCom possible
* Use of separate (externally running) FGCom possible


=== Strip management ===
=== Strip, route and flight plan management ===
* User-defined strip racks
* Strip drag&drop along and across user-defined strip racks racks
* Strip drag&drop along and across racks
* Link strips to flight plans and radar contacts to merge editable details and inform radar display
* Link strips to flight plans and radar contacts to merge editable details and inform radar display
* Interface with Lenny64's [http://flightgear-atc.alwaysdata.net flight plan data base] including in-game FPL retrieval, filing and editing
* FPL, transponder and vectoring assignment conflicts reported
* FPL, transponder and vectoring assignment conflicts reported
* Strip route management and next waypoint display
* Work with local FPL copies and manage sync with online publication


=== Flight plans ===
=== GUI ===
* Interface with Lenny64's [http://flightgear-atc.alwaysdata.net flight plan data base] including in-game FPL retrieval, filing and editing
* Floatable/dockable GUI panes: strips, radios, text chat, etc.
* Work with local FPL copies and manage sync with online publication
* General and airport-specific settings saved on close and restored on restart
* Notification system combining selectable sounds, status bar messages and a time-tagged history
* Personal notepads (general and airport-specific) saved across sessions


<!--
== Screenshots ==
== Screenshots ==
<gallery>
{{Gallery
</gallery>
|ATC-pie-screenshot-radarIdentification.png|Radar identification marked in blue (unique strip–transponder match)
-->
|ATC-pie-screenshot-LFPGcloseUp.png|Fine airport tarmac depiction
|ATC-pie-screenshot-stripDetailSheet.png|Strip detail sheet with editable route
|ATC-pie-screenshot-ATISdialog.png|ATIS recording feature with scrap notebook
}}


== Working principles ==
== Working principles ==
Line 103: Line 104:
== User guide ==
== User guide ==


This section is pretty much the only documentation there is for now. A better one might come one day, but there should be enough here to get anyone started.
This section is very poor standalone documentation. It helps one download and run ATC-pie, and lists a few tips on some of its features. Yet better sources to learn the program are:
* the in-app ''quick reference'' from the help menu (summary of mouse/keyboard gestures, etc.);
* the tutorial videos (to be announced).
 
Anyone motivated to write a full user guide is obviously welcome to contact the developer.


=== Getting it to run ===
=== Getting it to run ===
Line 118: Line 123:


==== Starting the program ====
==== Starting the program ====
Depending on your system and preference, you might be double-clicking, typing stuff or pulling your hair out. In any case what you need to start the program is to run a Python3 interpreter on the <code>ATC-pie.py</code> file in the top-level directory. To start at a chosen airport location, say with code ICAO, use a system command-line argument, which may look as simple as:
Depending on your system and preference, you might be double-clicking, typing stuff or pulling your hair out. In any case what you need to start the program is to run a Python3 interpreter on the <code>ATC-pie.py</code> file in the top-level directory. To start at a chosen airport location, say with code ICAO, add a system command-line argument, which may look as simple as:
: <code>./ATC-pie.py ICAO</code>
: <code>./ATC-pie.py ICAO</code>


Line 125: Line 130:
=== Tips ===
=== Tips ===


Here are a few unsorted tips to help you navigate the program...
Here are a few tips to help you navigate and use the program.
* '''Callsigns''' typically start with the ICAO code of a controlled airport, and end with a hint on the provided service: twr, gnd... With no callsign given, you will appear as "ICAOobs" on network connect. Note that FGMS restricts callsigns lengths to 7 characters. :-(
* '''Callsigns''' typically start with the ICAO code of a controlled airport, and end with a hint on the provided service: twr, gnd... With no callsign given, you will appear as "ICAOobs" on network connect. Note that FGMS restricts callsigns lengths to 7 characters. :-(
* For more efficient text chat, a growing list of '''text aliases''' exist (<code>$wind</code>, <code>$qnh</code>, <code>$icao</code>...), which you can use in instant and preset chat messages. They expand to the current value on message send.
* For more efficient text chat, a growing list of '''text aliases''' exist (<code>$wind</code>, <code>$qnh</code>, <code>$icao</code>...) for both instant and preset chat messages. They automatically expand to the current value when message is sent.
* In airport input fields, a single dot will be replaced by your ICAO position. Use this as a '''shortcut from/to your airport''' when filling strip/FPL details.
 
Any strip with valid departure and arrival airports will contain a '''parsed route'''. Recognised navpoints in the route field (whitespace-sparated tokens) create waypoints on the way to arrival. All other tokens are stored as route leg specifications to the following waypoint. The current route leg of the selected aircraft (leg spec + waypoint) is displayed in the info pane.
 
==== Information display ====
 
* '''Heading displays''' are mostly magnetic so they can be read out to pilots. The only exception perhaps are the navigator tooltips, for easier identification on the scope.
* '''Heading displays''' are mostly magnetic so they can be read out to pilots. The only exception perhaps are the navigator tooltips, for easier identification on the scope.
* The '''transition level''' is by definition the lowest flight level that is still above the transition altitude. This does not mean the lowest assignable FL, which may take more vertical separation.
* The '''transition level''' is by definition the lowest flight level that is still above the transition altitude. This does not mean the lowest assignable FL, which may take more vertical separation.
* The grouped '''tick marks along the localiser line''' (when shown) indicate best altitudes AMSL for final approach along the defined slope rate. Every mark in a group is 1,000 ft.
* The grouped '''tick marks along the localiser line''' (when shown) indicate best altitudes AMSL for final approach along the defined slope rate. Every mark in a group is 1,000 ft.
* The '''FGCom version setting''' is the name of a subdirectory in <code>resources/fgcom</code>. See <code>Notice</code> file there.
* "OK" near the '''route field''' on the strip detail sheet means that the route could be parsed correctly; otherwise "!!" is displayed. This does not matter, only the info boxes will be showing destination (or nothing if unknown) instead of next waypoint.
* "OK" near the "route" field on the strip detail sheet means that the route could be parsed correctly; otherwise "!!" is displayed. This does not matter, only the info boxes will be showing destination (or nothing if unknown) instead of next waypoint.
 
==== Radio ====


Say you are TWR coordinating with GND at an airport and you want to '''monitor both radio frequencies''' while you are only in charge of one. You can set this up by starting your own radio box on TWR frequency, and turn on a second one to monitor GND, setting the volume to "soft" on the latter so that you can always tell if a message is for you to answer or not.
Say you are TWR coordinating with GND at an airport and you want to '''monitor both radio frequencies''' while you are only in charge of one. You can set this up by starting your own radio box on TWR frequency, and turn on a second one to monitor GND, setting the volume to "soft" on the latter so that you can always tell if a message is for you to answer or not.


Resolving '''strip–FPL conflicts''':
The '''FGCom version setting''' is the name of a subdirectory in <code>resources/fgcom</code>. See <code>Notice</code> file there.
 
==== Resolving conflicts ====
 
Strip–FPL conflicts:
* to confirm all strip details: open the strip detail sheet, tick the "push details to FPL" box and save to propagate the strip details;
* to confirm all strip details: open the strip detail sheet, tick the "push details to FPL" box and save to propagate the strip details;
* to confirm all FPL details: reset the strip to overwrite its details with those of the linked flight plan;
* to confirm all FPL details: reset the strip to overwrite its details with those of the linked flight plan;
* to confirm some details of each source:
* to confirm some details of each source: open the strip detail sheet, get rid of the bad details and save without pushing to the flight plan to fall back on the first case where all strip details can be confirmed.
*# open the strip detail sheet;
*# get rid of the bad details and save without pushing to the flight plan;
*# you are back to the first case where you can confirm all strip details.


Resolving '''FPL local–online conflicts''':
Flight plan local–online conflicts:
* to update the online version with your local modifications, double-click the flight plan and tick the "publish" box before saving (if still decorated red, there was a network problem or the change was rejected by the server);
* to update the online version with your local modifications, double-click the flight plan and tick the "publish" box before saving (if still decorated red, there was a network problem or the change was rejected by the server);
* to discard all local modifications of an online FPL, remove the FPL from the list and check for new flight plans again (the deleted entry should be retrieved with online state).
* to discard all local modifications of an online FPL, remove the FPL from the list and check for new flight plans again (the deleted entry should be retrieved with online state).
=== Quick reference ===
==== Display conventions and colour codes ====
Aircraft body:
* square: aircraft is properly equipped with a transponder (properties are found in FGMS packets received)
* circle: no transponder on board (no point instructing to squawk)---warning: if reported, alt./FL value in this case is a geometric distance, not a pressure-altitude, hence approximate when comparing to other aircrafts' values
* solid shape: contact is linked to a strip (you control it)
* outlined only: unlinked contact (somebody else might be)
* "X": ignored contact
* "?": contact has timed out (gone or having network problems)
Info box (radar tags):
* First line: callsign or "?" if unknown; aircraft type/model if known
* Second line:
** if contact is linked to a strip: next known waypoint on route or destination
** otherwise: transponder code (empty if not equipped or off and cheating)
* Third line: reported altitude or "alt?" if none; vario char ('^' climbing, 'v' descending, '=' neither, '-' N/A); assigned alt. if any; assigned or current ground speed
Courses and assignments:
* course line: solid if heading assigned, dotted otherwise; red if flying off assigned course, grey otherwise
* altitude arc (drawn if alt./FL too different from assigned): solid arc shows point at which assignment will be reached assuming vertical speed of 500 ft/min, dotted if reach point is beyond arc
* speed marks: each mark shows distance flown in 1 minute at assigned speed, current speed or TAS (first available); grey if correct speed or none assigned, red otherwise (marks then point to either accelerate or decelerate to reach assignment)
Strips:
* black: unlinked strip
* blue: soft link detected, matching aircraft marked as well
* green: linked strip with no conflicts
* red: linked strip with unfollowed vector assignments ("!!vect", see ''courses and assignments'' above) or transponder conflicts to resolve ("!!XPDR", open detail sheet for more info)
* "!!FPL": conflicts with flight plan
FPLs:
* black: local (not published) flight plan
* green: FPL is online, and in sync unless modified by somebody else online
* red: FPL exists online, but local modifications have been made
==== GUI gestures and key strokes ====
Keyboard:
* CTRL: ''PTT'' all radios whose "kbd PTT" boxes are ticked (works within major dialogs too)
* F2: create ''new blank strip''
* SHIFT+F2: create ''new strip linked'' to selection
Mouse hover:
* entry in navigator pane: ''show'' a tool tip with true heading and distance from radar
* unpinned navpoint on radar scope: ''show'' short name, and frequency/channel if navaid
Left mouse button alone:
* click on aircraft body, info box, strip or FPL: ''select''
* click on navpoint: ''set filter'' in navigator
* click on radar background: ''deselect''
* click on text chat message: ''recall'' dest./message in entry line
** own message: recalls both
** other: fill dest. and focus message field
* click&drag info box: ''move box''
* click&drag aircraft body if a strip is linked: ''assign heading'' to aircraft
* double-click on aircraft body or info box: ''edit linked strip'' if any
* double-click on navpoint: ''pin/unpin'' label
* double-click on notification: notification-dependant
Left mouse button with modifier key:
* SHIFT+click strip with linked radar contact: ''indicate aircraft'' location
* SHIFT+click&drag aircraft body if a strip is linked: ''assign alt/FL or speed'' to aircraft
* SHIFT+double-click on aircraft body: ''remove hdg/alt./FL/speed assignments''
* SHIFT+double-click on info box: ''reset'' box position
* SHIFT+double-click on radar background: ''add'' custom text label
* SHIFT+double-click on custom text label: ''remove'' label
Middle mouse button:
* click on aircraft body, info box, strip or FPL: ''link'' to current selection if any and if possible
* SHIFT+click on aircraft body, info box or FPL (if selected and linked): ''unlink'' from strip
Right mouse button:
* click&drag anywhere on radar scope: ''pan'' view
* SHIFT+click&drag anywhere on radar scope: heading and distance ''measuring tool''


[[Category:ATC clients]]
[[Category:ATC clients]]
265

edits

Navigation menu