legoboyvdlp / A320-family

A high-quality Airbus A320 simulation for the open source simulator, FlightGear
GNU General Public License v2.0
149 stars 44 forks source link
a320 airbus flightgear free jsbsim opensource

A320-family - Development on hold

Main development is on hold awaiting refactoring. However, this is the newest version and still receives fixes and minor improvements.

A very advanced simulation of the Airbus A320 Family for FlightGear.

Present pack includes the following Airbus A320 Family variants:

You can find a Checklist to download and print here

Navdata

It is highly reccomended to purchase a NAVIGRAPH subscription and download their level d FMSDATA / waypoint / navaid data! If you do not wish to do that, there is older data linked below. But it won't have most of the newer procedures, and is only for a limited number of airports, as naturally it is not possible to distribute commercial data. If runway numbering changed, it is quite possible that it will not work due to FlightGear limitations in the routing code.

To install navdata, create a folder FMSDATA, and add it to your additional scenery folders, at the top of the list. Inside that folder, place all the XXXX.procedures.xml files, in the format FMSDATA/X/X/X/XXXX.procedures.xml. For instance, FMSDATA/Airports/E/G/K/EGKK.procedures.xml.

Remote MCDU

If you want to run the MCDU on a your smarthphone or tablet for better realism and easier input, run FlightGear with enabled HTTP server (i.e. command line --httpd=<Port; e.g. 8080>) then go to main menu -> Instruments -> Remote MCDU. You can generate a QR-code to lauch directly on your smartphone/tablet, first insert your local ip. Your device must run on the same local network of your computer.

Installation

If you have issues installing, please check INSTALL.MD! Specifically, make sure you remove -dev from the folder name!

Hardware configuration

Here are bindings for commonly used buttons

FO Sidestick

Bind the axis to:

AP Disconnect

  <button n="X">
    <desc type="string">Custom</desc>
    <binding>
      <command type="string">nasal</command>
      <script type="string">
        fcu.FCUController.APDisc(side=1, press=1);
        </script>
      <module type="string">__js3</module>
      <offset type="double">1</offset>
    </binding>
    <mod-up>
         <binding>
           <command type="string">nasal</command>
                <script type="string">
                  fcu.FCUController.APDisc(side=1, press=0);
                  </script>
           <module type="string">__js3</module>
           <offset type="double">1</offset>
         </binding>
    </mod-up>
    <repeatable type="double">0</repeatable>
  </button>

For the FO Sidestick, use side=2

A/THR Disconnect

  <button n="X">
    <desc type="string">A/THR Disc</desc>
    <binding>
      <command type="string">nasal</command>
      <script type="string">
        fcu.FCUController.ATDisc();
      </script>
    </binding>
  </button>

ENG Mode Selector

    <button n="6">
        <desc type="string">ENG Mode Crank</desc>
        <repeatable type="string">false</repeatable>
        <binding>
            <command>property-assign</command>
            <property>controls/ignition/start-sw</property>
            <value>0</value>
        </binding>
        <mod-up>
            <binding>
                <command>property-assign</command>
                <property>controls/ignition/start-sw</property>
                <value>1</value>
            </binding>
        </mod-up>
    </button>
    <button n="7">
        <desc type="string">ENG Mode Start</desc>
        <repeatable type="string">false</repeatable>
        <binding>
            <command>property-assign</command>
            <property>controls/ignition/start-sw</property>
            <value>2</value>
        </binding>
        <mod-up>
            <binding>
                <command>property-assign</command>
                <property>controls/ignition/start-sw</property>
                <value>1</value>
            </binding>
        </mod-up>
    </button>

If you only want these bindings for the A320 family, add the following to the script:

if (string.match(getprop("/sim/aero"), "A3[12][0189]*"))
{
    <command-above>
}
else
{
    <other-command>
}

External tools

Some external tools you might want to checkout and use with this Model.
NOTE: These are external tools so make sure to check their terms of use