ATC-pie user guide: Difference between revisions

v1.3.1
(v1.3.0 released)
(v1.3.1)
Line 44: Line 44:
* the '''strip shelf''' (visible in the bottom right-hand corner of every strip panel), which removes the strip from your work bench and stores it as shelved.
* the '''strip shelf''' (visible in the bottom right-hand corner of every strip panel), which removes the strip from your work bench and stores it as shelved.


== Tower viewing ==
== Airport scene rendering ==


[[File:ATC-pie-screenshot-towerViewing.png|thumbnail|Tower viewing, following a departing aircraft]]
[[File:ATC-pie-screenshot-towerViewing.png|thumbnail|Tower viewing, following a departing aircraft]]
This feature allows you to overlook your airport and the connected (multi-player games) or simulated (solo and teaching sessions) traffic, like a controller from a tower viewpoint. It allows to choose from the tower positions specified in the source data if any, otherwise defaults to somewhere over the airport to allow towering of all available airports. It is disabled in CTR mode.
This feature allows you to overlook your airport and the connected (multi-player games) or simulated (solo and teaching sessions) traffic, like a controller from a tower viewpoint. It allows to choose from the tower positions specified in the source data if any, otherwise defaults to somewhere over the airport to allow towering of all available airports. It is disabled in CTR mode. Additionally, more views can be hooked up to your scene.


=== Tower view window ===
There are two ways of activating a tower view. You may let ATC-pie start its own suitably configured FlightGear process, or have it connect to an external viewer, manually set up and accepting connections.
There are two ways of activating a tower view. You may let ATC-pie start its own suitably configured FlightGear process, or have it connect to an external viewer, manually set up and accepting connections.


Line 57: Line 58:
Connecting to an '''external viewer''' allows to run FlightGear on a different machine and thereby relieve your session from the CPU load a local instance induces. If you want to do so, get a hint of the required positioning options you should start your viewer with, from the tower view tab in the system settings dialog. More options should also be considered, e.g. <code>--fdm=null</code>. Of course, scenery, models and liveries must also be available to the running process.
Connecting to an '''external viewer''' allows to run FlightGear on a different machine and thereby relieve your session from the CPU load a local instance induces. If you want to do so, get a hint of the required positioning options you should start your viewer with, from the tower view tab in the system settings dialog. More options should also be considered, e.g. <code>--fdm=null</code>. Of course, scenery, models and liveries must also be available to the running process.


In either case, once activated from the ''View'' menu, the tower view controller pane is enabled, from which you can turn to runway points, follow selected aircraft... Direct FlightGear input in the view window is also possible: right click and drag allows to look around, <code>x</code>/<code>X</code> keys change the zoom level, etc.
In either case, once activated from the ''View'' menu, the tower view '''control pane''' is enabled, from which you can turn to runway points, follow selected aircraft... Direct FlightGear input in the view window is also possible: right click and drag allows to look around, <code>x</code>/<code>X</code> keys change the zoom level, etc.


=== Additional scene views ===
You can connect '''additional viewers''' to your session, for example placed around your airport for exciting camera footage of challenging landings. You will not be able to control those viewers from ATC-pie like the tower viewer, but you will be able to activate/stop the connection with a switch in the application ''View'' menu. Additional viewers are registered by their host+port address, from the ''View'' menu at run-time or from a custom settings file (see <code>settings/Notice</code>), read at start-up and on explicit reload (''System'' menu).
You can connect '''additional viewers''' to your session, for example placed around your airport for exciting camera footage of challenging landings. You will not be able to control those viewers from ATC-pie like the tower viewer, but you will be able to activate/stop the connection with a switch in the application ''View'' menu. Additional viewers are registered by their host+port address, from the ''View'' menu at run-time or from a custom settings file (see <code>settings/Notice</code>), read at start-up and on explicit reload (''System'' menu).


Every additional viewer registered on host ''XXX'' and port ''YYY'' should be running on ''XXX'' and started with options <code>--multiplay=out,TTT,HHH,PPP</code> and <code>--multiplay=in,TTT,,YYY</code>, where:
Every such viewer registered on host ''XXX'' and port ''YYY'' should be running on ''XXX'' and started with options <code>--multiplay=out,TTT,HHH,PPP</code> and <code>--multiplay=in,TTT,,YYY</code>, where:
* ''HHH'' is the host on which ATC-pie is running;
* ''HHH'' is the host on which ATC-pie is running;
* ''PPP'' is the default 5009, or the chosen port number if ATC-pie was started with <code>--views-send-from</code>;
* ''PPP'' is the default 5009, or the chosen port number if ATC-pie was started with <code>--views-send-from</code>;
* ''TTT'' is the network polling frequency (100 is common practice; change as desired if you know what you are doing).
* ''TTT'' is the network polling frequency (100 is common practice; change as desired if you know what you are doing).


== Routes and conflict warnings ==
== Routes and separation warnings ==


ATC-pie analyses routes and assigned vectors to anticipate conflicts between controlled aircraft. This feature is essential in centre mode.
ATC-pie analyses routes and assigned vectors to anticipate conflicts between controlled aircraft.


=== Routes ===
[[File:ATC-pie-screenshot-routeDetailsView.png|thumbnail|Route details dialog with world path drawn, available when both end airfields are recognised]]
[[File:ATC-pie-screenshot-routeDetailsView.png|thumbnail|Route details dialog with world path drawn, available when both end airfields are recognised]]
A '''route''' is parsed for every strip with recognised departure and destination airports (entry fields both turned green), as follows:
A '''route''' is analysed for every strip with recognised departure and destination airports (entry fields both turned green), as follows:
* route tokens are whitespace-separated;
* route tokens are whitespace-separated;
* each recognised navpoint token (world navigation aid, airfield, fix, RNAV point) creates a ''waypoint'' on the path to destination, and a route ''leg'' from the previous point (a final leg connects the last point to the destination airport);
* each recognised navpoint token (world navigation aid, airfield, fix, RNAV point) creates a ''waypoint'' on the path to destination, and a route ''leg'' from the previous point (a final leg connects the last point to the destination airport);
* if ambiguous (navpoint names are not all unique around the world), a waypoint is always the nearest homonym to the point beginning the leg;
* if ambiguous (navpoint names are not all unique around the world), a waypoint is always the nearest homonym to the point beginning the leg;
* other tokens are kept as route leg specifications to the following waypoint (allows for airway or procedure names for example).
* other tokens are kept as route leg specifications to the following waypoint (e.g. airways between fixes).


[[File:ATC-pie-screenshot-routeDrawing.png|thumbnail|Assigned routes are drawn as dashed lines on the radar scope when linked to contacts]]
[[File:ATC-pie-screenshot-routeDrawing.png|thumbnail|Assigned routes are drawn as dashed lines on the radar scope when linked to contacts]]
Routes on flight plans and strips are viewable in a route dialog, showing leg details and the geodesic paths on a world map. Also, when a specified route is linked to a radar contact, ATC-pie works out its current leg based on distance to destination, and:
Routes on flight plans and strips are viewable in a route dialog, showing geodesic paths, headings and leg distances on a world map. When a specified route is linked to a radar contact, ATC-pie works out its current leg based on distance to destination, and:
* the route to go is drawn as a dashed line on the radar scope (according to scope "show" options);
* details of the current leg are displayed in the selection info pane, and the route viewing button enabled;
* details of the current leg are displayed in the selection info pane, and the route dialog enabled for full route viewing;
* the strip shows only the remainder of the route for this contact;
* the strip shows only the remainder of the route for this contact;
* the info box contains the next waypoint and the heading leading the aircraft to it on a great circle, unless:
* the route to go is drawn as a dashed line on the radar (unless aircraft is inbound and near enough);
* the radar tag contains the next waypoint and the heading leading the aircraft to it on a great circle, unless:
** the current route leg is the first, and the keyword "SID" appears in its specification: "SID ''wp''" is displayed, where ''wp'' is the first waypoint on the route;
** the current route leg is the first, and the keyword "SID" appears in its specification: "SID ''wp''" is displayed, where ''wp'' is the first waypoint on the route;
** the current route leg is the last, and the keyword "STAR" appears in its specification: "STAR ''wp''" is displayed, where ''wp'' is the last en-route waypoint.
** the current route leg is the last, and the keyword "STAR" appears in its specification: "STAR ''wp''" is displayed, where ''wp'' is the last en-route waypoint.
NB: If either of the DEP or ARR airports are missing or unidentified, radar tags show the strip destination detail (ARR) if it is filled, possibly with a heading if it is recognised.


See tutorial [https://www.youtube.com/watch?v=LfdukpBc90w video 7] for a demonstration of routes.
See tutorial [https://www.youtube.com/watch?v=LfdukpBc90w video 7] for a demonstration of routes.


NB: If no route can be interpreted (missing or unidentified DEP or ARR), info boxes will show the strip destination detail (ARR) if it is filled, possibly with a heading if it is recognised.
=== Conflicts and anticipation ===
 
[[File:ATC-pie-screenshot-routeConflictDetection.png|thumbnail|Route conflict depiction]]
[[File:ATC-pie-screenshot-routeConflictDetection.png|thumbnail|Route conflict depiction]]
ATC-pie also features a '''conflict prediction system''', which can be activated or turned off from the ''Options'' menu. It uses route and vector assignments to anticipate and alert you of ''path conflicts'' so you can take action and prevent separation losses.
ATC-pie features a '''conflict prediction system''', which can be activated or turned off from the ''Options'' menu. It uses route and vector assignments to anticipate and alert you of path conflicts so you can take action and prevent separation losses.


When looking for conflicts, a horizontal (ground projection) path is considered for every aircraft with a linked strip and an assigned route or heading. An aircraft is assumed to follow its route, unless a heading vector is given in which case it is assumed to be flying the assigned straight course. When the projections of two aircraft intersect, a conflict is anticipated if the respective intervals between the current and assigned altitudes overlap. When an aircraft's altitude is unknown, the assigned altitude will be assumed. If an altitude assignment is missing, a ''possible'' conflict is reported.
When looking for conflicts, a horizontal (ground projection) path is considered for aircraft with a linked strip and an assigned route or heading. An aircraft is assumed to follow its route, unless a heading vector is given in which case it is assumed to be flying the assigned straight course. When the projections of two aircraft intersect, a conflict is anticipated if the respective intervals between the current and assigned altitudes overlap. When an aircraft's altitude is unknown, the assigned altitude will be assumed. If an altitude assignment is missing, a ''possible'' conflict is reported.


Another possible alarm is the ''separation incident'', a serious ATC mistake which calls for immediate action. The table below summarises the different levels of conflicts, ranked in decreasing order of emergency.
Another possible alarm is the ''separation incident'', a serious ATC mistake which calls for immediate action. The table below summarises the different levels of conflicts, ranked in decreasing order of emergency.
Line 181: Line 185:
NB: Instructions from the panel are always issued to the callsign entered in the top field, which should fill automatically on aircraft or strip selection when a callsign is known. Therefore, make sure you do not mess up your strip links or your instructions will realistically be acknowledged and followed by the wrong aircraft.
NB: Instructions from the panel are always issued to the callsign entered in the top field, which should fill automatically on aircraft or strip selection when a callsign is known. Therefore, make sure you do not mess up your strip links or your instructions will realistically be acknowledged and followed by the wrong aircraft.


=== Need a scenario? ===
Things you can train for:
Things you can train for:
* towering a single runway with mixed traffic: select TWR position and an equal balance of departures and arrivals;
* towering a single runway with mixed traffic: select TWR position and an equal balance of departures and arrivals;
Line 195: Line 200:


When '''playing teacher''':
When '''playing teacher''':
* The teaching console dock is enabled, which you should keep visible for efficient control of the student's environment.
* The teaching console dock is enabled, which you should keep visible to control of the student's environment.
* New traffic can be created at any time with a simple SHIFT+click&drag on the radar, specifying the place and face heading of the wanted traffic. A dialog pops up and allows you to choose a callsign (one is initially generated), altitude and other details. If near a parking position or runway threshold, you can place it on the ground instead, ready to taxi or for departure.
* You create new traffic with SHIFT+click&drag on the radar, specifying the place and face heading of the wanted traffic. A dialog pops up and allows you to choose a callsign (one is initially generated), altitude and other details. If near a ground route node, a parking position or runway threshold, you can place it on the ground instead, ready to taxi or for departure (NB: parking overrides position/heading input).
* Traffic is initially created in an "unspawned" state, in other words visible to you (marked "?") but not to the student. This allows you to change its transponder mode or get it into a certain state before spawning it into the student's world.
* Traffic is initially created in an "unspawned" state (round-shaped blip on radar), in other words visible to you but not to the student. This allows you to set its transponder or get it into a certain state before spawning it into the student's world.
* Controlling the traffic is done in the same way as in solo sessions without voice, i.e. with the click&drag vector and taxi tools and through the instruction dock. The only difference is that you control the selected aircraft directly, regardless of your strip links and details. You therefore do not need a strip and a correctly filled callsign to instruct a pilot, though it is a good idea to have one linked if you want your vectors drawn on the radar. The traffic creation dialog offers to create a linked strip with every new aircraft.
* Controlling the traffic is done in the same way as in solo sessions without voice, i.e. using the click&drag vector and taxi tools and the instruction dock. The only difference is that you control the selected aircraft directly, regardless of your strip links and details. You therefore do not need a strip and a correctly filled callsign to instruct a pilot, though it is a good idea to have one if you want your vectors registered and drawn on the radar. The traffic creation dialog offers to create a linked strip with every new aircraft.
* You may pause the whole simulation, or freeze each aircraft individually. Frozen aircraft result in stationary flights on radars.
* You may pause the whole simulation, or freeze each aircraft individually. Frozen aircraft will result in stationary flights on the student's radar.


'''Strip exchange''' is possible, either between both parties ("offline" exchanges) or between the student and the virtual ATCs (in-sim handovers). As the teacher, you must drop every strip on "Student" and select as prompted whom the strip should appear from on the student's side. As the student, drop your strip on any of the ATCs in the neighbours list to simulate a handover, or on "Teacher" if only showing it to your mentor. All student handovers are made visible to the teacher for supervision. Interestingly, for his convenience in further control of the traffic, the teacher's strips do not disappear on handovers.
'''Strip exchange''' is possible, either between both parties ("offline" exchanges) or between the student and the virtual ATCs (in-sim handovers). As the teacher, you must drop every strip on "Student" and select as prompted whom the strip should appear from on the student's side. As the student, drop your strip on any of the ATCs in the neighbours list to simulate a handover, or on "Teacher" if only showing it to your mentor. All student handovers are made visible to the teacher for supervision. Interestingly, for his convenience in further control of the traffic, the teacher's strips do not disappear on handovers.
265

edits