Caution
Table of contents:
This project is a minimalistic webpage replicating the head-up display (HUD) of an McDonnell Douglas F/A-18 Hornet fighter jet. It is intended to be shown in full-screen mode on an Android- or iOS-Tablet, which is placed under a car's windscreen, in order to simulate the experience of sitting in an F/A-18 whilst driving:
You may deploy this web app with or without using Docker.
- Download/install Docker.
- Run the following commands:
git clone https://github.com/Unknown6656/F18-HUD docker compose build docker compose up
- Download/Install python (you can use
sudo apt install python3
on Linux). - Run the following commands:
Or alternatively:
git clone https://github.com/Unknown6656/F18-HUD pip install -r requirements.txt python server.py
git clone https://github.com/Unknown6656/F18-HUD pip3 install -r requirements.txt chmod +x server.py ./server.py
Both installation methods will open a HTTPS web server listening at 0.0.0.0:180
. The usage of a web server is only necessary for serving all web resources using HTTPS, which is required by mobile browsers when using the tablet's sensors, such as GPS, the gyroscope, magentometer, or accelerometer.
Important
This HUD has been optimized for the 2018 Apple iPad Pro 11" (3rd Generation). The behaviour of the HUD may therefore vary on other devices.
To change this, please modify the stylesheet css/main.css
accordingly.
To (re-)build the list of known ICAO airports and waypoints, you may use one of the following methods:
- Our Airports
The list of ICAO airports is built by grabbing a CSV table from https://ourairports.com/ and and converting it. In order to re-build the list, run the following command:python tools/icao-airport-ourairports.py
- SkyVector
The list of ICAO airports is built by crawling through https://skyvector.com/ and parsing the individual pages. In order to re-build the list, run the following command:python tools/icao-airport-skyvector.py
Note
Note that the second method will take a very long time, as SkyVector is not the fastest site to crawl. Furthermore, SkyVector does not seem to have as many airports as OurAirports.
Independent of the method used, the list of airports will be written to js/airports.js
.
In order to use the F-18 HUD, please follow these steps:
- Navigate to
https://<ip-address>:180/
on your iPad or mobile tablet. - You may be asked to accept the invalid TLS/SSL certificate:
Chrome:
Mobile Safari:
- Start the HUD by clicking the
START
-button:
- Allow access to your device's sensors and location services:
- Modify the website settings to always allow access to the device's location services:
You're now set up to use the F/A-18 HUD in your car.
The following image represents the general layout of the F/A-18 HUD:
Please note that the iamge is mirrored along the vertical, as well as the horizontal axis. This is required for the correct display of the HUD in the car's windscreen.
- click on nav compass: switch pitch ladder increments
- click on waterline indicator: fullscreen
- click on g-load: reset peak
- click on nav mode: change A/R/L