Board index FlightGear Development New features

Support for ARINC 424-19 Path and Terminator

Discussion and requests for new features. Please note that FlightGear developers are volunteers and may or may not be able to consider these requests.

Support for ARINC 424-19 Path and Terminator

Postby sindizzy » Tue Sep 05, 2017 4:02 pm

I have been scouring the forums for info relating to takeoff procedures coded via ARINC 424-19.
They all seem to be quite old posts:
viewtopic.php?f=46&t=9767&p=98665&hilit=path+terminator&sid=e04501579d4f8bef54db5b012f1aba01#p98640
viewtopic.php?f=6&t=2577&p=35582&hilit=path+terminator#p35582

Here is where I am at and how I am hoping FG may help me:
I currently have access to FMS databases which contain the coded procedures. These are in plain ol' CSV format.
I would like to display these procedures in a .NET application. (Does FG offer a DLL that could parse the legs and return a path composed of vertices???)
The user can then tweak or modify each leg or create an entirely new one.
The procedure would be drawn as a proof-of-concept in the .NET application. I have several GIS Frameworks that I can use as a map control.
Once the user is satisfied with the procedure they can output to a file.
After this they can then fly the procedure in FG.

Is this possible with the current FG framework? If not, what should I look at top convert to the internal FG format? I am a developer with tons of experience but mainly in FORTRAN, .NET, and some VBA scripting.
Many Thanks.
sindizzy
 
Posts: 3
Joined: Wed Aug 21, 2013 10:12 pm

Re: Support for ARINC 424-19 Path and Terminator

Postby Hooray » Tue Sep 05, 2017 4:35 pm

Hi & welcome, just briefly:

- FG is open source, and GPL'ed, so speaking in general there are no "DLLs" to do this sort of thing - not even SimGear contains the corresponding code (and its usually statically linked, too)
- there is a built-in route manager that contains support for custom waypoints: http://wiki.flightgear.org/Route_manager
- its internals are documented here: http://wiki.flightgear.org/Route_Manager_internals
- GPS internals are covered here: http://wiki.flightgear.org/GPS_internals
- there is a built-in scripting language (analogous to JavaScript in a browser) to access these systems and a dedicated flightplan API: http://wiki.flightgear.org/Nasal_Flightplan
- the built-in route manager is hard-coded but can be customized using FlightGear scripts (called "Nasal"), it also features its own route plan format for saving/loading flight plans

There is also a GIS-enabled 2D drawing API which can draw vector data using geographical coordinates, called "Canvas":

http://wiki.flightgear.org/Canvas_MapStructure
Image

PS: Neither Fortran, .NET or VBA are commonly used to create multi-platform applications related to FlightGear
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 11292
Joined: Tue Mar 25, 2008 8:40 am

Re: Support for ARINC 424-19 Path and Terminator

Postby Richard » Tue Sep 05, 2017 7:39 pm

sindizzy wrote in Tue Sep 05, 2017 4:02 pm:I currently have access to FMS databases which contain the coded procedures. These are in plain ol' CSV format.
I would like to display these procedures in a .NET application. (Does FG offer a DLL that could parse the legs and return a path composed of vertices???)


If you're trying to build something in .NET to display/edit these files then it would be easier to simply parse the CSV natively in .NET, use the appropriate coordinate conversions and display them.

If you're trying to parse these files and display the results in FlightGear then the good news is that no DLL's are required; there is a tightly integrated language available (Nasal) together with a 2d drawing system that will take care of most of the work.

The flightgear route manager format is simply XML; I think it's documented on the wiki - if not the sourcecode is available.

I recently had some C# integration working with FlightGear by setting properties over HTTP (using get and post); worked reasonably well and was dead easy, Not sure if the current http interface supports fgcommands - but that would be easy enough to add to the core if required.
Richard
 
Posts: 660
Joined: Sun Nov 02, 2014 10:17 pm
Version: Git
OS: Win10

Re: Support for ARINC 424-19 Path and Terminator

Postby Hooray » Tue Sep 05, 2017 7:49 pm

Richard wrote in Tue Sep 05, 2017 7:39 pm:I recently had some C# integration working with FlightGear by setting properties over HTTP (using get and post); worked reasonably well and was dead easy, Not sure if the current http interface supports fgcommands - but that would be easy enough to add to the core if required.


Besides, the scripting/2D rendering frameworks can also be extended to expose the created mapping/charting using said http bindings, which is to say that you could stream imagery (static images, but also video) to another process:

http://wiki.flightgear.org/Read_canvas_image_by_HTTP
Image
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 11292
Joined: Tue Mar 25, 2008 8:40 am

Re: Support for ARINC 424-19 Path and Terminator

Postby sindizzy » Tue Sep 05, 2017 10:40 pm

Thanks all for the great info. I will read up on some of the links provided.

A couple of clarifications:
1. I need to display the procedures in a separate app because there are more data sources the user will have to review in order to accept or tweak the procedure.
2. When I said the procedures are in CSV format, that is very true. However, these are coded legs so they are not a series of vertices. For example, a procedure could be composed of VA, CF, and RF legs. These are legs that require a fix and maybe a heading, an altitude, or a turn radius. These legs have to be converted to vertices that make up the procedure path. This is the part that I am looking to see if it is available. Basically a detailed path builder. It is not as simple as point1 to point2 although in the end, each leg ends up being composed of many vertices that would represent that particular leg.
sindizzy
 
Posts: 3
Joined: Wed Aug 21, 2013 10:12 pm


Return to New features

Who is online

Users browsing this forum: No registered users and 3 guests