This project is a software system designed to replace the Navigation Display of the Cirrus Vision SF50 aircraft in X-Plane 11. The custom navigation display is served via a modern web browser that closely mimics the behaviour of the built-in display, powered by real-time data streamed from the simulator
- Live updates using Websockets for smooth and accurate aircraft data.
- Powered by a Python backend with Ingescape integration.
- Front-end built with HTML, CSS and Javascript.
- The backend launches an Ingescape agent that listens to aircraft data via input points.
- Data is streamed to the frontend using Websockets
- The frontend, running on
localhost:8080, updates the navigation display in real time.
Before running the software, install the following:
- Python 3+
- Node.js + npm (used to install
live-server) - GNU Make
- Ingescape
- FlyWithLua Plugin for X-plane
After installing FlyWithLua, copy the custom Lua script from this repo (FlyWithLua/send_data_udp.lua) to your FlyWithLua Scripts directory (Xplane 11/Resources/plugins/FlyWithLua/Scripts)
-
Clone the repository
git clone https://github.com/fadilm777/NavigationDisplay.git cd NavigationDisplay -
Set Up Python Environment
cd pyInterface python -m venv venv venv\Scripts\activate pip install -r requirements.txtRefer to this documentation by microsoft to enable execution of scripts on your machine if disabled.
-
Install
live-serverGloballynpm install -g live-server -
Add the api key link to mapstyle.json
-
Log into maptiler and create an api key.
-
Copy the api key.
-
Replace
YOUR_API_KEYwith your key on line 11 offrontend/mapstyle.json"url": "https://api.maptiler.com/tiles/v3/tiles.json?key=YOUR_API_KEY",
-
-
Run the software From the root directory of this repo:
makeThis will start the backend Python server and launch the frontend in a browser window pointing to
http://localhost:8080. If the browser window does not open automatically, navigate manually tohttp://localhost:8080. -
Configuration in Ingescape Circle
- Launch Ingescape Circle.
- Connect Ingescape Circle to Ethernet|Port:5670.
- Connect the output points from xplane_position_agent to the input points of gps agent.
- The map should now mirror the aircraft's navigation display in real-time.
Feel free to fork the repo if you'd like to improve the software, add features or fix bugs.