A simulation of a Boeing 737-800 Primary Flight Display (PFD), written in C++. This project visually replicates the key features of the aircraft's PFD, allowing users to interact and manipulate flight parameters via keyboard inputs.
- Attitude Indicator: Displays aircraft pitch and roll.
- Airspeed Tape: Shows current airspeed with moving tape.
- Altitude Tape: Displays altitude with moving tape.
- Heading Indicator: Visualized compass with heading bug.
- Vertical Speed Indicator: Real-time vertical speed updates.
- Flight Modes: Indications for autopilot/flight director status (if implemented).
- Keyboard Controls: Change values such as pitch, roll, airspeed, altitude, and heading interactively.
- C++ compiler (supporting C++11 or newer)
- SFML library for graphics (typically SFML 2.x)
- CMake (recommended) or make
-
Clone the repository:
git clone https://github.com/n0m4official/Primary-FLight-Display-Simulation.git cd Primary-FLight-Display-Simulation -
Install SFML
On Ubuntu:sudo apt-get install libsfml-dev
On Mac (Homebrew):
brew install sfml
Or follow official SFML instructions for your platform.
-
Build with CMake:
mkdir build cd build cmake .. makeAlternatively, use your IDE to configure and build the project.
After building, run the executable:
./PFD_SimA window will open, displaying the simulated PFD.
| Key | Function |
|---|---|
| W / S | Increase/Decrease (pitch) |
| A / D | Bank left/right (roll) |
| R / F | Increase/Decrease airspeed |
| T / G | Increase/Decrease altitude |
| Q / E | Turn left/right (yaw) |
Note: YAW control included as a formality, doesn't affect anything
src/— C++ source files for display and logicinclude/— Header filesassets/— Fonts, images, or other resourcesCMakeLists.txt— Build configurationREADME.md— This file
Pull requests are welcome! Please open an issue to discuss your changes before submitting a PR.
This project is licensed under the MIT License. See LICENSE for details.
This project is for educational and simulation purposes only, and is not intended for real-world flight training or use.