Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

116 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BlueSky FlightGear plugin

This project is meant as an extension to 'BlueSky - The Open Air Traffic Simulator'. The plugin creates a connection between BlueSky and the FlightGear Flight Simulator. This connection is made using a custom UDP BlueSky protocol using the generic protocol from FlightGear. BlueSky traffic is injected using the FlightGear Multiplayer Protocol. Additionally, simulation parameters that do not require a constant UDP socket are changed using a Telnet connection made by the flightgear-python package by Julianne Swinoga. The FlightGear Multiplayer traffic protocol in Python was written with inspiration from zayamatias implementation which he shared on the FlightGear forum (see links).

FlightGear_Logo
image

Functionalities of the plugin:

  • Transponder functionality, squawk, ident.
  • Ident by flashing FlightGear aircraft label inside BlueSky traffic.
  • BlueSky traffic can be visually seen in FlightGear using FlightGear Multiplayer Protocol.
  • TCAS TA/RA inside FlightGear reacting to BlueSky traffic.
  • Sending instructions to FlightGear aircraft using an ATC voice inside FlightGear.
  • Sending instructions to FlightGear aircraft via CPDLC.
  • Retrieving FlightGear flightplan and inserting in BlueSky.
  • Changing FlightGear sim time using BlueSky commands.
  • FlightGear simulator follows sim state of BlueSky [PAUSE]
plugin.mp4

Prerequisites

Installation

  1. Navigate to the plugin folder inside your BlueSky installation

  2. Download source code:

    git clone https://github.com/maxvanst/bluesky-flightgear.git

    or use the ZIP download

  3. Place entire bluesky-flightgear directory inside the BlueSky plugin folder

  4. Add the following lines to settings.cfg inside your BlueSky installation:

      flightgear_recv_interface = [RECV_FLIGHTGEAR_INTERFACE]
      flightgear_recv_port = [RECV_FLIGHTGEAR_PORT]

Running with FlightGear

  1. Navigate to your FLIGHTGEAR_ROOT directory.
  2. Place ./protocol/bluesky.xml inside the $FLIGHTGEAR_ROOT/Protocol/ directory.
  3. Start FlightGear
  4. Within the main launcher window scroll down to additional settings of FlightGear and add the following items:
   --generic=socket,out,10,[RECV_FLIGHTGEAR_INTERFACE],[RECV_FLIGHTGEAR_PORT],udp,bluesky
   --multiplay=out,10,[TFC_OUT_INTERFACE],[TFC_OUT_PORT]
   --multiplay=in,10,[TFC_RECV_INTERFACE],[TFC_RECV_PORT]
   --telnet=socket,bi,60,[TELNET_RECV_INTERFACE],[TELNET_RECV_PORT],tcp
   --prop:/bluesky/sim_name=[SIM_NAME]
   --prop:/bluesky/sim_ip=[SIM_IP_ADDRESS]
   --prop:/bluesky/sim_traffic_recv_port=[TFC_RECV_PORT]
   --prop:/bluesky/sim_telnet_port=[TELNET_RECV_PORT]
   --callsign=[CALLSIGN]
   --prop:/aircraft/icao/type=[ICAO ACTYPE]
   --disable-ai-traffic 

Example when running on localhost interface:

   --generic=socket,out,10,localhost,5500,udp,bluesky
   --multiplay=out,10,localhost,5501 
   --multiplay=in,10,localhost,5502
   --telnet=socket,bi,60,localhost,5503,tcp
   --prop:/bluesky/sim_name=FG_SIM_1
   --prop:/bluesky/sim_ip=127.0.0.1
   --prop:/bluesky/sim_traffic_recv_port=5502
   --prop:/bluesky/sim_telnet_port=5503
   --callsign=PHLAB
   --prop:/aircraft/icao/type=C550
   --disable-ai-traffic 
  1. Ensure [RECV_FLIGHTGEAR_INTERFACE] and [RECV_FLIGHTGEAR_PORT] are according to your BlueSky settings.cfg and network configuration
  2. Start BlueSky: PLUGINS FLIGHTGEAR should load the plugin
  3. Start the plugin: FLIGHTGEAR ON

BlueSky command overview

   FLIGHTGEAR [ON/OFF]
   FLIGHTGEAR_SETTIME CALLSIGN 18:00:00
   FLIGHTGEAR_GETHOST CALLSIGN
   FLIGHTGEAR_SENDCPDLC CALLSIGN "Your message inside here"
   FLIGHTGEAR_SENDATC CALLSIGN "Your message inside here"
   FLIGHTGEAR_VERSION

Links:

License

Distributed under the MIT License. See LICENSE for more information.

Releases

Packages

Contributors

Languages