Tuesday, October 13, 2015

Updates...

V4.Beta updates...
  • NEW! VFR can now be very close to reality thanks to the use of advanced Taxi charts when flying Region Flight Plans. Advanced means that Taxi charts can now contain extra informations like TMA(s) information (size, ceilings and floors), FIS or region controls
  • NEW! Left hand or right hand runways can be edited
  • NEW! Missed approach charts are supported (Not tested for quite a long!) 
  • NEW! Different kind of reports avoilable (VFR): position, altitude, radial, when leaving area, after a given time, traffic pattern (VFR).
  • NEW! Reverse fligth plan check-box allow to fly reverse a fligth plan without extra edit (not used a lot, probalbly buggy!) 
  • NEW! AFIS is now supported with different behaviour than actual TOWER control
  • NEW! Tens of features here and there (sometimes no bug free yet!!):
    • ATC can close the airport temporarily and cancel your approach
    • ATC can ask fo a go around at the last moment
    • ATC can ask you to wait at a holding pattern if you are to high above the expected altitude
    • ATC can advise you of restricted/prohibited airspaces
    • Etc.
  • NEW! Synthesized voices can be mixed with radio effects for more realism
  • When requesting GUIDANCE (new request), the ATC gives you precise vectors to the next checkpoint until you leave its airspace.
  • The ATC talks to other planes but!... "virtual" planes at this stage! I mean these planes are randomly generated within EasyATC for communications but not for visual display. Their requests are randomly generated depending on their state in the flight plan (take-off, landing, leaving area, etc.). Requests and clearances are not accurate at all. It's just to bring some life and being more realistic: you have now to ba aware of the callsigns to react when the ATC calls is for you!
  • The ATC can be paused if you need keyboard input for another app for example
  • Some warnings are displayed when saving charts to avoid many issues when using the flight plan
  • Top-of-descent and Awake ATC requests added. No problem if you don't use these requests. I just added to make ATC conversations matching what happens in IFR flights as can be seen in this video
  • Flight plans can now be edited by "recording"the plane positions in the X-Plane map!
  • When flying a Region flight plan and asking for landing to a given airport, EasyATC dynamically update the flight plan with the most appropriate STAR from the available arrival charts. The controller then ask to proceed to the entrance waypoint of the STAR.
  • When auto-filling a flight plan message boxes are displayed only when necessary.
  • When saving a flight plan, a message box is displayed if something wrong or something that could downgrade the flight experience is detected on the waypoints. A Help button opens the appropriate web page in the EasyATC blog to help in solving the issue.
  • ATC sometimes makes mistakes (and rectify immediatly, of course!). This looks pointless but when heard, gives definitly a sense of humanity to the synthesize voices!
  • ATC sometimes ask the pilot to repeat his last request!
  • Not necessary to merge the STAR, SID or Taxi charts in the flight planner: pick a "Cruise" flight from a given fix or navaid to another (usually SID exit and STAR entrance) and EasyATC automatically loads appropriate charts to fulfill the flight plan by searching among all the available charts.
  • After landing, if the ATC is busy (or randomly if not busy), he asks for transponder standby
  • When a holding short in the Taxi chart is close to the middle of the runway, the ATC asks to backtrack the appropriate runway
  • Now voices sound like radio voices. Better immersion for sure! Blended radio noises are separated wav files that can be customized. The radio effect can be disabled.
  • "Microsoft Speech" synthetic voices now work (only "System Speech" voices was working in previous versions). 
  • When filled in the first waypoint of a STAR chart, the Custom message field  is used as the name of the approach when the ATC says the expected landing message.
  • Random altitude changed by the ATC was full of bugs (too often, yo-yo effect, was breaking SID and STARS, was sometimes giving a too low altitude so that the communication was lost!, etc...). Now fully debugged
  • DME arc in IFR was pretty buggy too (unconsistent out of the track message, bad headings, not enough error margin, etc...). All seems fixed now.
  • Alternate waypoints/shortcuts was completely broken! Still some hidden bugs probably but much better now...
  • In IFR the ATC was asking for reports too often
  • Some fixes in STAR update in IFR flights: was changing too often, better processing of the wind direction when picking-up the appropriate STAR
  • Fixes in Altitude change request.
  • All states and messages are written in a Log.txt file (reseted each time the ATC is enabled). Nice thing to help me in debugging your failed flights!
  • In SIDS or STARS, the ATC can now ask for speed changes
  • The voice speed rate changes in some circumstances (see Voices section)
  • All the constants of the program are now customizable.
  • Autofill of the cruise altitude in the flight planner now fits precisely the flight rules (was sometimes wrong)
  • Listening to an ATIS does not reset the last contacted ATC!
  • Hundreds of bugs fixed... and new ones unfortunatly!
Released V2.3 updates...
  • Flight planner - Invalid fequencies are automatically fixed (in previous versions last digit was always "0". For example 118.020 is now 118.025)
  • You can now prevent the ATC voices to match the language you selected. This allow EasyATC to use all the installed voices instead of using always the same one(s).
  • ATC can sometimes change the cruise altitude and ask for a climb or a descent
  • The ATC can repeat his last message even after a "did you copy?" message
  • ATC gives the QNH only when flying below the transition layer or when descending from above to below transition layer.
  • Better processing of the waypoints to avoid U-turns to move back on track while the next waypoint is pretty much straight forward.
  • New request : after a landing, the pilot have now to say that the runway is vacated (RunwayExit request) before the Tower asks to contact ground.
  • Transit out request can be used when taxiing: in this case, the pilot asks for leaving the frequency.
  • When the NavAid1 contains the "ILS" string ("ILS" or "ILS N2" or whatever...) and the Freq 1 field is filled, the ATC gives the ILS frequency when saying the expected landing message.
  • Emergency bugs fixed and better handled by the ATC
  • In Taxi charts, you can now put the Identifier you want for the holding points (but the first line must remain the name of the airport and be APRON Type). Custom message is not used anymore. See Taxi chart section for more detailed information...
  • Tens of bugs fixed...
Released V2.2 updates...
  • Taxiing is now availale!
  • Play sound in flight planner is back
  • Say again request bug fixed
  • Pilot's voice can be muted
  • Pilot's auto-readback can be disabled. You must press a key to readback
  • Take-off runway depends on the wind direction
  • Alternate airports
  • "Regional Flight Plan": an easy way to have a simplified ATC without editing a real flight plan for the guys who want more simplicity! 
  • Airfield traffic pattern: when approaching an airport, press the Landing Pattern key and the pilot will talk the expected phraseology depending on the position and heading of your plane (downwind, cross wind, left or right hand, etc.)
Released V2.1 updates...
  • When using a key for requesting, the key input work anyway in others applications (the key event was stopped in EasyATC in version 2.0)
  • Help icons open this web site
  • Coordinates converter is opened only when double-clicking on coordinates columns
  • Coordinates are in the right columns when importing fms file in flight planner
Released V2.0...
Next planned updates...
Planned for V4.0. By priority...
  • Refine airfield infos in Taxi charts (ILS...)
  • Make the ATC talking to other planes
  • Line-up on runway before take-off
  • Expect visual approach message
  • Confirm cleared to land and/or approach
  • ATC complain when landing on the bad runway
  • Taxi code clean-up
  • Be able to fly without any flight plan by loading X-Plane airports data dynamically.
X-Plane dataref access
  • Something more relevent that txt files...

Bug tracking...

Known bugs in EasyATC 2.0...

Requests and clearances
  • When requesting to land after take-off, the ATC gives a clearance to land but does'nt change the flight plan and so still ask for flying away from the airport (climb, heading, etc.)
  • Heading change request is available but is not working properly yet. The clearance is delivered but then things can go wrong in many ways
  • Pilot's requests/Disabled does not work as expected
  • Say again request does not work when asked after the message loop interval if the ATC had nothing to say on last speech)

ATC...

Requests...
To listen the ATC you must request first. See the Requests section for the available requests. If the ATC still not talk, have a look to the FAQ...

ATC Type...
The ATC you talk with can belong to one of the following kind of control areas. The ATC type is edited in the flight planner through a dropdown list.
As in real life, the clearances or information the ATC will give depend on the kind of ATC it is: you cannot have a taxi clearance from a CENTER or DEPARTURE controller!
The ATC Type is also used to build the callsign of the ATC in the messages. ATC callsign (for example Dallas) and ATC Type (Departure) are concatenated to build the whole callsign (Dallas Departure).

APPROACH or DEPARTURE
At this stage there is no much difference in terms of ATC behaviour between Approach and Departure. Select the one you want for the spoken callsign. When talking to that type of ATC...
  • VFR flight becomes VFR special 
  • Landing information (not clearance) can be delivered
  • APPROACH can ask for holding patterns (only IFR)
  • Can deliver flight clearance (see Taxi chart section)
CENTER or FIS
GROUND
INFO

  • Same behaviour than CENTER and FIS
  • Not that this Type is used as a "tag" when editing the runways in a Taxi chart

TMA
TOWER
ATC behavior...
Many things can be improved in the way the ATC gives you clearances. That the most interesting part of the plugin to program! So feel free to give me feedbacks...
WIP...

Debug display...

The debug information is displayed underneath the messages display.
The typical debug display...


Plane states...
To/From
  • To/From - The Identifiers of the waypoints the plane is the closer.
  • Distance - Distance between the plane and the waypoint 
  • Trigger - The radius of the waypoint (when distance is lower than trigger and you fly reasonnably at the waypoint altitude as defined in the flight plan, the next flight segment is activated)
Out the track
  • Indicates if the plane si triggering or not the track between the two waypoints 
 Track altitude
  • Indicates if the plane altitude is between the two waypoints expected altitudes. See Waypoints section for details on how triggering works...
ATC cannot talk...
If the ATC cannot talk to you "ATC COMx CANNOT SPEAK..." is displayed underneath plane state information. The following reasons can be displayed...

Unable to find an ATC with xxx frequency
The frequency you use on your COM1 (COM2 is not implemented yet) is not in the flight plan

 Pilot didn't talk to xxx
You didn't request (or your request has been lost, bug...)

COMx is muted
Make sure your COM1 is not muted

ATC frequency (xxx) is different from plane COMx frequency (xxx)
I think this is deprecated now...

Plane is xxx miles from xxx (xxx miles max.)
You are too far from the closest waypoint that have this frequency (in the flight plan). Note that the altitude matters! The more you fly high, the farther you can talk to ATCs!

Expected state...
Most of the states are labelled the same way than the Plane state but the values can be different! Imagine you have planned to land on a given airport but you fly above it without landing, the ATC will remain stuck on this airport until you land on it! So the Plane state values will indicate the closests waypoints from your plane, but the Expected state will indicate the ATC expectations.
Extra expected states are...

Back on track
  • When the ATC considers the plane is back on the track. Should be removed on next updates (just for me when debugging)...
  • The flight mode the plane is for the ATC
  • This can be temporary. When flying VFR, for example, in some circumstances, the ATC can handle the plane in VFR special mode within a given time frame before setting him back to VFR.
Holding short
  • The name of the holding point you are supposed to taxi before bein cleared to take-off, and the distance between your plane and this point. See Taxi charts...



Charts...

A flight plan is a bunch of waypoints. A quick-start flight plan can be made of one single group of waypoints. A group of waypoints is a chart. A realistic flight plan should be made of three charts at least.
  • The SID
  • The "en-route" chart
  • The STAR
Google that if you are not familiar with those terms. SID and STARS are generally IFR flight stuff but many airports have some VFR approach and departure rules and waypoints. The flight planner allow to edit that kind of realistic procedures.

Let's see first what kind of flight plans you can do. Then we will have a look on how exactly a chart is edited in the flight planner...

Requests and clearances...

Thanks to keyboard inputs you can talk to the ATC.

Affectations...
Clic Settings/Requests
    1. Select the line in the list you want to change then press the key you want to use for the given request. The key you pressed must appear in the Key column.
    2. WARNING!: you must use keys that are not used for any other command in X-Plane!  If not, Assume that "A" key is requesting for take-off clearance in EasyATC and is toggling gears, when you will press this key after take-off to move up gears, the pilot's voice will request for a take-off clearance!
    3. Clic Save button when all affectations are done
How to request...

  1. Press the key of the request
  2. The ATC menu item of EasyATC is turning blue
    • This means the ATC and the AIs let you talk
    • I added this option for people like me who want to request by speaking and not only by pressing a key and using the pilot's synthesized voice.
  3. Then, once you have spoken your request, press the Return key to actually send the request to EasyATC and get an answer... I hope...

Requests...
Awake ATC
The pilot simply announce its situation in short way. This is inspired by what it seems to be usually said in IFR when contacting the first time an approach controller. See this video.

Altitude up or down
This request consists in asking for a given number of feets to climb or descend. The pilot asks for the next waypoint expected altitude more or less the ALTITUDE_CHANGE_REQUEST_FEET value in the constants you can edit as you wish (1000 ft by default).
So, assuming you fly at 10,000 ft, and the next waypoint Altitude is 12,000 ft if you want to fly at 14,000 ft, you have to request twice: a first time to obtain 13,000 ft and a second one to be cleared o 14,000 ft.
This is not very user friendly and will be improved one day, but asking for altitude change is not something you ask every 5 minutes, so...
In some circumstances, the ATC can deny and the will ask you to maintain the expected altitude. The probability of deny can be changed with the ALTITUDE_CHANGE_REQUEST_DENIED_PROBABILITY constant. Note that you cannot change altitude within an approach

Flight
Before asking for a take-off clearance, you must request for a flight clearance. If you don't use a Taxi chart in your flight plan, the TOWER of you start airport will give you this clearance. If you have a Taxi chart, you must contact the controller of the APRON waypoint of the Taxi chart.

Guidance
The ATC gives you vectors to follow precisely the expected track. You must request again each time the controller changes. If you request Guidance whereas you are already in this mode, the ATC stops giving you vectors.
Note that the flight mode does not change. If you are lost and wants your flight to be handled til the next landing you can request for an IFR flight.

Heading left or right
Request for a new heading of a given angle offset toward the left or the right. I never use this request so it's probably buggy. Actually, the ATC inserts a new waypoint at 20 miles from the plane in the requested direction (the plane heading +/- the given angle).
The angle can be edited with the HEADING_CHANGE_REQUEST_DEGREES constant (30 degrees by default)

Landing
The pilot asks for landing instructions. Pay attention on the frequency you use! If you talk to Paris Tower while approaching Bordeaux, Paris will give you a clearance for HIS airport and not for Bordeaux... The ATC should warning in the following updates with some confirmation or whatever...

Landing pattern
This is not really a request. The pilot just says (or should say...) the appropriate Traffic pattern speech.

IFR
If you are flying in VFR, the pilot will request for IFR flight. This option can be used like in real life if you had a wrong timing in your flight and night falls before you reach your airfield, or if you feel lost and want to be vectored by the ATC.
If you fly IFR, the IFR flight will be cancelled and you will be in VFR mode.

Readback
The pilot readback the last ATC message he received. If you want to handle the readback by yourself, make sure the Pilot auto-readback option is disabled (Settings/Pilot's readback).

Repeat
The pilot asks the ATC to repeat its last message.

Report
The pilot says the current state and position of the plane. Use this request (not a request actually, but well...) to report after the ATC has previously asked for a "report over...". After report, the ATC is supposed to validate the next flight segment even if you don't trigger the waypoint.

Runway vacated
For coming 2.3 version...
After landing, you can make the pilot announcing the runway vacation. The ATC will then answer to contact ground if a Taxi chart is available or to taxi to general aviation apron if no Taxi chart is available.

Say again
The ATC repeats exactly the last speech

Speed up or down
Same comments than Altitude up or down. The constant is SPEED_CHANGE_REQUEST_KNOTS.

Take-off
The pilot asks for a take-off clearance. You must contact the ATC of  the airport waypoint in the flight plan to be cleared for take-off

Taxi
The pilot asks for a taxi clearance from the apron to the expected holding short point. If there is a taxi chart in the flight plan, you must contact the ATC of  the GROUND waypoint(s) to be cleared for the flight. If no taxi chart, any of the airport ATCs (Tower, Departure, Center...) will deliver the flight clearance.

Top-of-descent
The pilot announces he is starting the descent. You don't need to use this request since I added this just to make communication with ATC more realistic: in IFR, the pilots do this, usually. It's a sort of IFR report position in a way.

Transit in
The pilots reports the plane situation and asks for a transit. This is the best and more realistic way to awake the ATC when approaching a controlled area (but any of the other requests can awake the controllers!). Note that if you fly VFR, and you want to land, you should use the Landing request. With the Transit in request, the ATC will just allow you to fly over the airport.

Transit out
The pilots says that he leaves the controlled area. The ATC gives the next frequency and says goodbye. If you are too far from the next waypoint where the frequency changes, the ATC should not approve the transit out and ask you to call later. If you were flying in VFR special you should now be VFR.

Weather
The pilot asks for a weather information update. At this stage the ATC gives the wind direction and speed, the QNH and in some cases the transition altitude and/or the the transition level .

Constants...

The Constants are constant numeric values used by the program to process plane position and states and ATC behaviour, expectations and messages. There can be tweaked by selecting the Settings/Constant item in the EasyATC main window menu and then by changing the values.
That said, you cannot break anything since when EasyATC is re-launched, all the values are reseted to hard coded values.
Detailed definition of those constants should be write here soon...

Flight modes...

When flying the following modes, ATC...

VFR...
  • Can ask for frequency change in some circumstanes (if you have requested for transit for example)
  • Answers to any request
  • Gives local QNH
VFR special...
  • Doesn't correct your heading until you leave the expected track
  • Asks to descend or climb if you are too far above or below the expected altitude (the altitude of the next waypoint in the flight plan). The ATC will not talk if you are climbing/descending, considering you try to reach the expected altitude.
  • Asks for frequency change in many circumstances
  • Ask for reporting if the next waypoint is REPORT type or randomly if you fly inside a SID or a STAR.
  • Ask for a squawk code
IFR...
All VFR Special events and...
  • Asks to follow heading if your heading is too far from the expected one
  • Asks you to climb (or expedite your climb!) if you are below the expected altitude. The ATC will not talk if you are climbing/descending, considering you try to reach the expected altitude.
  • Ask for frequency change on all circumstances (if frequency is available in the flight plan of course...)
  • Asks for holding pattern if waypoint is HOLD type
  • Asks for arc DME correction if the track is a DME arc

EasyATC 2.0 - New features...

Inputs
Voices
  • When ATC frequency changes, the voice change
VFR and VFR Special
  • When enabling the ATC, a two buttons dialog box ask you for the flight mode you want to fly. Depending on the flight mode you choose, the ATC will behave differently. See Flight modes section for more details...
Flight planner auto-complete

Flight planner menu...

Menu

Flight plan
  • New – Reset the display to a blank checkpoints list
  • Load – Open an existing flight plan
  • Save – Save the existing or new flight plan
  • Save as – Create a new flight plan file form the existing one
  • Save as active flight plan – Save the flight plan into the ACTIVE_FlightPlan folder. When enabled, the ATC load the flight plan file which is inside this folder. If it is empty, the ATC will not talk (or even crash...).
Chart(s)
  • New - Reset the display to a blank list
  • Load - Open an existing chart 
  • Add – Add a chart to the list. It will be inserted AFTER the current selected waypoint
  • Save - Save the existing or new chart
  • Save as – Create a copy of the chart (only when editing a single chart)
  • Remove chart – Remove the whole chart the current selected checkpoint belongs to
  • Remove checkpoint – Remove the selected waypoint(s)
  • Insert checkpoint – Insert a new line before the current selected waypoint
Helpers 
  • Converter  - Opens a small window where you can enter a degrees/minutes/seconds coordinates and convert this into decimal coordinates EasyATC can read. Note that this converter is automatically opened when you double-click into a latitude or longitude cell in the list. In this case, when you click on Convert button, the window is closed and the cell filled with the correct value. 
  • Auto Complete - EasyATC try to fill as many cells as possible by looking for information into the different nav data, fix data, apt data files in the X-Plane resources. The modified cells are displayed with red font. When looking for a fix or navaid identifier, some dialog boxes can be displayed to confirm that the item that has been found is the one you need: many fixes and navaids have the same name in different places in the world! 
Playsound
Select two waypoints and press this button to hear the ATC. The state of the plane is supposed to be the first waypoint (altitude, heading, speed, coordinates, frequency, etc.). The ATC gives all the instructions to fly to the second waypoint.

Text boxes and drop down...

Flight plan name
  • The name of the flight plan when previously saved
Chart name
  • The name of the chart of the selected chart when previously saved. When selecting a waypoint row, in a multiple charts flight plan, this dropdown box displays the chart the waypoint belongs to (then you can see, for example, the chart you would remove if you clic on Chart/Remove in the menu)

Monday, October 12, 2015

Triggers...

When you edit waypoints in a chart, you have to pay attention on the following key points about triggering...

Triggering...
A trigger is an area or a volume that releases an event when something enter and/or exit this area or volume.

Waypoints...
The waypoints in EasyATC are cylindric triggers with a variable radius and a constant height auto-generated by EasyATC when the flight plan is built.

Trigger height
The trigger height is the height of the detection cylinder. This value can be changed with the TRIGGER_CHECKPOINT_HEIGHT_TOLERANCE constant. The default value is 10000 ft. That means that if you edit a waypoint at, let say, 6000 ft, EasyATC will consider you are triggering this waypoint if the altitude of your plane is between 1000 and 110000 ft.

Trigger radius
The trigger radius is processed by EasyATC depending on the distance between this waypoint and the two surrounding waypoints. The more a waypoint is close to the one before and/or the one after, the smaller is the radius. This is done to avoid superimposed triggers: if your plane is triggering two waypoints at the same time, EasyATC can deliver inappropriate messages. That said, the processed radius is never smaller than the minimum trigger size constant so the triggers can intersect if you edit two waypoints very close from each other. In this case a message will be displayed when you enable the ATC saying which are the waypoints that are too close.

Track
Between two waypoints/triggers, the ATC expects the plane to fly inside a corridor with a given height and width that fit the altitude and size of the triggers on both side

Plane triggering...
When the plane enters a trigger, the ATC compares the situation of the plane with the last expected track (the line between two waypoints), does some processing and updates or keeps as it is the expected track.

Constraints...
Avoid to close triggers.
The distance between two waypoints should not be lower than twice the minimum trigger radius constant. If not, when in-between the two triggers, the plane can be considered randomly inside the first waypoint or the second one.

Avoid crossings with same altitudes.
To allow crossings, I've added a vertical size on the tracks and waypoints. So if you have one track at, let say, 10,000 ft and another track, exactly below at 5,000 ft everything should work fine, if you keep the vertical trigger and track size constants below 2500 ft (half of the altitude difference).

Compatibility...

Charts...

If you have created some charts with the previous EasyATC V1.1 and you want to keep them, you must update their format...
  • Make a backup of the files first
  • Open the flight planner
  • Select Helpers/Update format.
  • A dialog box should display the number of updated files (only .txt files are processed).
  • Then open a flight plan and check that the columns are correctly filled. The new column ATC type should display some ATC type items. The updater is supposed to automatically fill this field depending on the ATC callsign field: if you have Dallas Center, CENTER should now be displayed on the ATC type column. You have now to remove the Center word from the Callsign to just keep Dallas).

Waypoints fields...

The waypoints are edited in the flight planner before the flight. A bunch of waypoints is a chart. Waypoints are defined by several fields...

Identifier
The identifier of the airport, the navaid the fix or whatever this waypoint is.
  • This identifer should be the official name of the checkpoint so that EasyATC can find some extra information about this checkpoint within the simulator data.
  • That said, the identifier can be the name you want. In some cases you will need to use a custom name
    • If you need a checkpoint somewhere for a better realism in ATC behaviour
    • If you have cross-overs in the flight plan
  • A given chart cannot have two waypoints with the same identifier. But a bunch of charts within one flight plan can. See Charts section...
  • Avoid special characters especially ";". I often use " ", "-", "(" or ")".
Type
The kind of checkpoint it is. Note that you can leave this field blank. No problem for the ATC. But the better there are filled, the best the ATC will be smart!
  • APRON - For Taxi charts only. This type define the parking place you use to start from. At this stage, EasyTAC only use the ATC information (frequency and callsign) as the ATC to contact to have a flight clearance.
  • APT – An airport you plan to fly over and not land on nor take -off from
  • RWY_ALT - Alternate airport. The ATC will ignore this waypoint until you contact its controller or if you set your transponder to emergency and this airport is the closest in the flight plan.
  • RWY – An airport (a runway, actually…) you plan to land on or take-off from
  • RWY_L – The same with some detailed knowledge provided to EasyATC. This way it will know there are two runways and this one is the left one!
  • RWY_R – Same but right side…
  • FAF – Final approach fix. Used by EasyATC to announce the « cleared to land » message. If no FAF, EasyATC uses a mix of the distance to the airport and the plane heading to speech this message anyway…
  • IAF – Initial approach fix. Used by EasyATC to know when talking to you about the expected landing procedure and runway
  • IF – Intermediate fix (not used at this stage)
  • HOLD – Holding pattern entry point. This way EasyATC knows it can ask you to wait a little bit ! Not used yet but coming soon…
  • MAPT – Missed approach point. Not used at this stage but who knows…
  • REPORT – (VFR only) A fix where you have to report to the ATC (not implemented yet)
  • TWY – Taxiway checkpoint. EasyATC will soon be able to give you some taxiway directives I hope…
ATC Callsign
The name the ATC calls itself when talking to you. It's the name of the controller you are supposed to talk with from this checkpoint to the next one.

ATC Type
The kind of ATC. See ATC section for details...
  • APPROACH
  • CENTER
  • DEPARTURE
  • FIS
  • GROUND
  • TMA
  • TOWER
  • UNICOM
ATC Freq.
  • The frequency of the ATC.
  • WARNING: no decimal. This weird format is the way the frequencies are stored inside X-Plane...
  • Note that when the frequency is filled by the auto-complete helper, the last digit (sixth one) is always "0" which can leads to wrong frequency like 128170. The right frequency should be 128175. This is because the frequency in the X-Plane data files are stored with 5 digits and I just add a 0. Should be improved later...
Transition altitude
The published transition altitude of the airspace the waypoints belongs to. This field can be left blank in most cases since EasyATC apply the default transition altitude as defined in the Constants.

Altitude
The minimum altitude at this point or the cruise altitude planned

Speed
The speed to not exceed at this point

Heading
The expected heading from this checkpoint to the next one. his can be left blank since EasyATC computes the headings "on the fly". It must be filled in the given cases:

  1. The waypoint is an airfield : the heading must be the heading of one of the runways (note that if it does not match the wind direction, EasyATC will automatically reverse the heading for take-off or landing)
  2. You want the ATC to give you the route as published in the charts (if you are out of the track (IFR), or if you ask for the heading to the next waypoint, or when the ATC wants to give you some NavAid advices). Don't worry, if this field is not filled, the ATC will calculate a relevant heading.

Latitude/Longitude
Decimal coordinates of the checkpoint. Please use “.” and not “,” for decimals. Note that you can double click on the cell to open the Converter windows (see below…)

DME distance
This field is used in the following cases:

  1. The expected DME radius if this waypoint belongs to a DME arc procedure.
  2. The magnetic variation of the airfield if the waypoint is an airfield.
Then, if EasyATC finds a value in this field and if the waypoint is not an airport, he expects you to fly a DME arc of the given distance from the NavAid1.


NavAid1
The NavAid you are supposed to use when following the given Heading or the DME arc. When it's not a DME arc, use this NavAid1 if the route is outbound from the NavAid

Freq.
The frequency of NavAid1

NavAid2
The NavAid you are supposed to fly inbound when following the given Heading.

Freq.
The frequency of NavAid2

Custom message
Optional. This field can be used in the followig cases:

  1. The name of the SID or STAR procedure if it's the first waypoint of the chart. This name is used by the ATC when giving you the approach clearance ("cleared for Los Angeles airport LOC ILS approach, blabla..."
  2. The name of the Apron if the waypoint is the Apron of a Taxi chart.
  3. Extra message the ATC will say when you will trigger this waypoint

Linked checkpoints
The identifier(s) of the waypoint(s) EasyATC can ask you to proceed directly after flying over the waypoint. The probability of shortcuts is defined in the Constants and the destination is chosen randomly through the available identifiers. You must separate the identifiers with “;”

Flight plans and charts directories...

Three folders are used for flight planning. You can add some sub-directories for your own purpose if you want but the flight plan and the chart files MUST remain at the root of these directories.

ACTIVE_FlightPlan
In this folder, the flight planner makes a copy of the flight plan you have saved as the active flight plan.

DATABASE_FlightPlans
When you save or save as a flight plan, it is stored in this directory.

DATABASE_Charts
When you save a single chart or a flight plan, this chart or all the charts in the flight plan are saved (or updated) in this directory.

How to create a flight plan?

You can edit quick flight plans from an airport to another with a bunch of checkpoints from scratch. You can do the same by importing a FMS file. And if you want to fly a fully realistic flight route with close to reality communications with ATC, you can edit an advanced flight plan.

Taxi chart...

Taxi charts can be edited to make taxiing more realistic. Since version 3.0, the taxi charts are dynamically loaded by EasyATC. It is not needed anymore to put a Taxi chart in the flight plan when editing.

How it works...
Take-off
When you start your flight on ground, EasyATC detects the airport you are triggering, let say LFKJ, and try to find a LFKJ Taxi chart. If he doesn't find, he simply expects you to call the ATC of the airfield as edited in the flight plan (usually a TOWER), see Default taxi below...
If he finds an Taxi chart for the airfield, EasyATC expects you to first call the ATC as edited in the APRON line of the Taxi chart (see Edition below...) to get the flight clearance. When the departure ATC will give the flight clearance, he will give you the frequency of the GROUND ATC (this frequency is edited in the holding short lines)

Landing
When you approach on airport and have requested to land, EasyATC detects the airport you are targeting, let say LFKJ, and try to find a LFKJ taxi chart.
Once you have touched down, EasyATC looks for a GROUND frequency in the Taxi chart. If he finds one, the Airfield ATC (usually a Tower) will say "welcome in Ajaccio airport, call back runway vacated" and then (when you will have called back), "contact ground on xxx.xx, bye bye". Then you can ask a taxi clearance to the GROUND ATC. EasyATC will pick-up the closest holding point from your plane in the taxi chart and will deliver the appropriate taxiways to use to go back to the APRON. 

Default taxi...
If there is no taxi chart in the flight plan, you must ask the flight clearance and then the take-off clearance to the ATC of the airport you take-off from (usually a TOWER).

Edition...
Apron
  • The first line of a Taxi chart must be an APRON in the Waypoint type field and the Identifier field must be the name of the airport (I mean the same name that you put in the flight plan, usually the OACI code)
  • Set the ATC Callsign and Frequency to the ATC you have to contact for the flight clearance
  • The coordinates of the Apron are used for one thing: after landing, when you get the taxi clearacne to go back to the APRON, once you are at less than 0,1 Nm from these coordinates, the taxi ATC will deliver you a "frequency change approved, bye bye" message and the flight will be closed. Note that you can use the transit out request to force the ATC to close the flight.
  • Since V3.0 the DME distance field is used to indicate the magnetic variation of the airport.
Holding points
  • The Identifier is the name of the holding point used by the ATC when saying "taxi to holding short Identifier via..."
  • Select RWY, RWY_L or RWY_R to allow the ATC to know which runway this holding point gives access
  • Set at least one of the holding points with a GROUND frequency. I usually edit this frequency in the first holding point of the chart. Note that it's not possible at this stage to have different GROUND frequencies depending on the taxiway...
  • Don't forget to indicate to the ATC the Heading of the runway. Usually, a given holding point is used for one runway direction. If the holding point can lead to the two directions, duplicate the line: one with a given heading, one with the opposite heading. If you don't fill the heading cell (like in the sample image above), the holding point is only used as an exit after landing.
  • Be precise in the coordinates values. Please use the Record feature (since V3.0) to set coordinates precisely.
  • The Linked checkpoints column is filled with the taxyways identifiers separated by spaces. The ATC will enumarate the identifiers by spelling the letters and numbers : example, if you want the ATC to say "Golf one, Delta one, Charlie", the field must be G1 D1 C
Runways info
Since V3.0, you must indicate some information about the available runways. This has been added to fix problems in big airports!
  • A runway information line is identified by setting the ATC Type field value to INFO.
  • Put the Identifier you want. EasyATC don't use it. I usually write RWY 10/28, RWY 01/19 L, RWY 04/22 R, etc...
  • Set the Checkpoint Type with the appropriate kind of runway
    • RWY if this runway has not a "twin" runway on left or right
    • RWY_L or RWY_R if the runway has a left and a right "twin".
    • Note that you don't need to have one line per directions.
Example: in Los Angeles KLAX, there is 2 runways 06/24 and 2 runways 07/25. Note that only two headings are edited: 060 and 070. Let say EasyATC needs to make you take-off or land on the runway 25, he will just pick-up randomly one of the runways 07 and simply reverse the Heading value (and the side: 07 RWY_L will become 25 RWY_R!)


  • The coordinates are very important: EasyATC uses them to know if your plane is on the right runway and in the right direction. These coordinates must be as close as possible to the middle of the runway. Please use Record feature to set these coordinates precisely.

Voices...

To work properly and to be understandable, EasyATC needs at least two synthetic voices installed in the OS.
Assuming you have, when the controller changes during the flight (when ATC Frequency change), a new voice is picked-up among the available installed voices. The pilot's voice is never selected to avoid "monolog" feeling!

Setting voices...
  • To have enough synthetic voices, you need to install one ore more languages in your OS. These voices are called "System voices". See this How to...
  • Since V3.0 you need to install this to benefit extra synthesizer voices ( install x86_SpeechPlatformRuntime\SpeechPlatformRuntime.msi or x64_SpeechPlatformRuntime\SpeechPlatformRuntime.msi depending on your Windows (32 or 64bits), then you can install some of the Microsoft Speech Runtime Languages. Note that the issue related here usually happens. See this bug before installing any of those voices!
  • Clic on Settings/Pilot's voice to select the voice you want for the pilot (this dialog should appear the first time you execute EasyATC)
  • You can disable/enable the Pilot's voice. Note that this just disable the sound, but the readbacks will still be displayed in the Message text box.
  • You can disable/enable the Pilot's auto-readback too. In this case, you need to press a key to readback. If not the ATC will ask "did you copy?"
Languages...
Settings
  • Clic on Settings/Language and select the language you want the ATC and the pilot to use.This is not affecting the localization of the synthetic voices but just the words they will say. It means that if you select French for example, whatevever the localization of the voice is used by the ATC (English, Chinese,..), it will speak in french! But the accent will be english or chinese...
Editing
You can modify the languages files as you wish.
    • I recommend to make a backup first.
    • You must keep the first line (localization official string to define the languages, for example FR-fr)
    • You must keep the line structure
Each sentence or word is defined as an identifier followed by the corresponding text. Both parts are separated by a dot comma (";"). You MUST keep this structure!

Example:
AIRPORT_LOCATION; runway at about 
  • AIRPORT_LOCATION is the identifier
  • runway at about is what the ATC or the pilot will say
  • Note that there is one empty/blank character at the beginning and at the end of the sentence. If you forget this space, the sentence will be "runway at about20 miles" instead of "runway at about 20 miles". EasyATC will not crash but the speech will be weird...
  • You can add commas to make some short pauses in the ATC speech if you wish (already done in some of the topics (Squawk code or QNH).
Speed
If you provide Taxi charts to the ATC in your flight plan, the number of runways impacts the speed of the voice of the ATC. Within the code, the Rate property of the Synthetic voice is increased so that the controller seems busy! This is fake and will be improved one day depending on time and day of the week and who knows... traffic density!
Speed is slightly increased when your plane is on emergency too.

Traffic patterns...

When flying VFR, after having requested instructions for landing to the Tower ATC, or announced your landing in Unicom, you can use the Landing Pattern request (not a request actually but it works the same way than the requests (by pressing the appropriate key on your keyboard)).
The Landing pattern command makes the pilot announce the appropriate landing pattern state among the following...
Entry...
  • To hear the pilot saying "entering...", your altitude MUST be 1500 ft or more ABOVE the airfield altitude (so don't forget to indicate the altitude of the airfield in the filght plan).
  • If you fly on the downwind left hand side of the runway, the pilot will say "entering left hand". He will say "entering right hand" if you approach from the other side.
  • If you fly BELOW this limit, EasyATC will consider you have entered the traffic pattern and the pilot will say one of the followings...
Pattern...
Crosswind
"Crosswind left hand" if your heading is close to 90° from the runway landing heading AND the airport is between 9 and about 11 o'clock. I let you guess for the right hand...


Downwind
"Downwind left hand" if your heading is close to 180° from the runway landing heading AND the airport is between about 7 and 11 o'clock.

Base leg
"Base leg" if your heading is close to -90° from the runway landing heading AND the airport is between about 9 and 11 o'clock.

Final
"Long final" if your heading is close to 0° from the runway landing heading AND the airport is between about 10 and 2 o'clock AND you are at more than 5 miles from the airfield.
"Short final" if you are closer.

FAQ...

Why the ATC is not talking?
  • Normally, the Debug display should indicate everything you need to understand why the ATC is not talking. Look at the ATC COM1 CANNOT SPEAK text. If everything goes right, this text should be followed by the reason why it is not talking. See Debug display for the different cases...
  • If ATC COM1 CANNOT SPEAK is not displayed but EXPECTED STATE is displayed, check the following:
    • The synthesis voices of your OS are working fine
    • Make sure ATC is enabled

Why the ATC is speaking continuously, randomly?
  • Make sure the keys you use for requesting are not used for any other purpose (moving flaps of your plane for example!). In this case, while you just want to move down your flaps, maybe you will request a lower altitude to the ATC!
  • Make sure you have at least two different voices installed so that the pilot and the ATC speaks with different voices. If not, it sounds like a horrible monolog!

Why the ATC expected flight segment remains the same while I don't fly this segment?

Why the ATC is not clearing me to take-off?
First there is two clearances before starting a flight: a flight clearance and a take-off clearance. If you have a taxi chart, see the Taxi chart article for how requesting flight, taxi and take-off.
  • Check that you are using the right runway! Ask a take-off clearance and pay attention on the runway heading the ATC gives. Depending on the wind direction, the take-off runway can be different from the planned runway.
  • If you are not using a taxi chart, you must be on the right side of the expected runway with the same heading (+/- about 10 degrees). Make sure the coordinates of the airport are as close as possible to the middle of the runway you want to take-off from: to know if you are ready for take-off, EasyATC processes the coordinates and heading of your plane with the coordinates of the airport and the heading of the expected runway. 
  • If you have a taxi clearance (see Taxi chart section), make sure you are within the trigger limit of the taxi waypoint (0.1 Nm by default, this value is displayed in the Debug text)
  • You must trigger the airport
  • You must talk to the appropriate ATC: any ATC that have the same CallSign that the aiport. For example if you take-off from Lima, you must contact a Lima ATC (Lima Tower or Lima Approach or Lima Departure). Note that Centers and FIS don't deliver take-off clearance.

Why the ATC is not clearing me to land?
  • Make sure you are landing in the right direction. Ask a landing clearance if needed and pay attention on the runway heading. Depending on the wind direction, the take-off runway can be different from the planned runway.
  • The ATC says the clearance:
    • You just have triggered a FAF or a MAPT waypoint (IFR stuff)
    • If not, when the distance from your plane to the airport is lower than about 2.5 miles (actually, it depends on the triggers min, max, and minimum for airport Constants)

Why my requests are not said nor displayed?
  • Make sure the EasyATC/Preferences/Commands.txt file exists, is not corrupted and all the commands you want to use have a valid value (not equal to -1)

Quick start...

Assume that you have properly installed EasyATC. The simulator can be running.

Settings...
Execute EasyATC.exe. This window should open...


Clic on Settings/Language and select the language you want the ATC and the pilot to use.
    • This is not affecting the localization of the synthetic voices but just the words they will say. It means that if you select French for example, whatevever the localization of the voice is used by the ATC (English, French, Chinese,..), it will speak with a french voice and accent...
Clic Settings/Requests
    • Select the line in the list you want to change then press the key you want to use for the given request. The key you pressed must appear in the "Key" column.
    • WARNING: you must use keys that you will not use in X-Plane or any other application! If not, assuming that "A" key is requesting for take-off clearance in EasyATC and is used for toggling gears in X-Plane, when you will press this key after take-off to move up gears, the pilot's voice will request for a take-off clearance!
    • Clic Save button when all affectations are done
    • WARNING 2: since V4.Beta, any input requires TWO key presses: see Requests and clearances section
Check Settings/Voices options and check//uncheck as you wish...

Flight plan...
  1. Clic Flight plan/Create/Load/Edit
  2. Clic New to create a flight plan, Load or Load FMS file
  3. Clic Flight plan/Save as active flight plan
    • This makes a copy of the flight plan file into the EasyATC active flight plan directory so that the ATC is now informed that you gonna fly this flight plan
    • You can close the Flight planner (or not...)
Take-off...
  1. Run X-Plane if it is not running yet
  2. Deactivate the default X-Plane ATC (Settings/Sound  and uncheck verbal ATC and text ATC)
  3. Move to the starting airport of the flight plan. Put the plane at the starting point of the runway you selected in the flight plan or in a parking or an apron.
  4. On EasyATC, clic ATC/Enable
    • Select the flight mode you want to fly (VFR or IFR). Note that any flight plan can be fly on both modes but the ATC will not behave the same way.
    • Select your expected cruise altitude
    • You can Reverse the flight plan by checking the Reverse Flight Plan check-box (not tested a lot. Probably buggy!)
    • The ATC menu item color should switch from red to green
    • The debug text box at the bottom of the EasyATC should display the plane position and the closer flight segment. See Debug display section...
  5. Set your COM1 radio to the airport frequency (Frequency column in the flight plan)
  6. Press the flight request key
    • You should hear the pilot calling the ATC if you have enabled the pilot's voice...
  7. Enjoy your flight!

Installation...

Prerequisite...
  1. For Windows only. Tested on Windows 8.1 & 10
  2. You need to have at least two synthetic voices in your OS
Installation...
  1. Unzip the downloaded file
  2. Copy the EasyATC directory in your C:\ root (EasyATC is supposed to work wherever you put this folder. It seems to work but I didn't really try...). If any update is available, usually a single executable file, replace the (old) exe in the main package by the (new) updated exe.
  3. Copy the EasyATCPlugIn into the X-Plane/Resources/plugins directory
  4. Now you are ready for Quick-start