Skip to main content

PyQt5 application connecting to X-Plane flifht simulator and displaying a garmin G5 attitude indicator as well as Horizontal Situation indicator

Project description

PyG5

Description

This project aims at development a Garmin G5 view targeting a Raspberry Pi 7 inches display (640x480) . The intent is to provide a G5 Attitude indicator + G5 Horizontal Situation Indicator stacked on the display in vertical mode. The pyG5 connects to X-Plane flight simulator.

It does not require any plugin and use the standard DREF UDP interface from X-Plane. It should not require any configuration. Start it and it will connect to X-Plane and fetch the required data.

This is currently developed on macOS with python 3.9 and testing on a RaspberryPi 4 with raspberypiOS and an official 7 inches display in vertical mode.

demoView

Maturity

It's currently in pretty early phase. It's functional and should be easy to install but might suffer from issues here and there.

Not all the features of the G5 are implemented. It's currently missing:

  • Glide scope
  • lateral guidance on the AI
  • Distance to next way point on the Horizontal Situation Indicator.

Installation

pyG5 depends on PyQt5.

        > sudo pip install pyG5

Running

        > pyG5DualStacked

Running on RaspberryPi it is recommended to install FreeSans fonts in order to be consistent with the rendering on the current main development platform, ie. macOS. Most liked this is solved with:

        > sudo apt-get install libfreetype6

Developers

If you intend to develop based on this project. At a glance:

  • The application runs on PyQt5 event loop.
  • It's loosely implementing a Model View Controller coding style
  • The pyG5Network contains X-Plane network interface is monitoring the connection and feed data at 30Hz to a slot
  • The view is repainting the interface every time the data is received from the network interface
  • The pyG5Widget is derived twice into and Horizontal Situation Indicator and an AI. the pyG5DualStack instantiate both into a single widget. That means it's easy to build the view with just one of them.
  • The pyG5Main module contains the application and the main window class.

License

License files

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyG5-0.0.1a5.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

pyG5-0.0.1a5-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file pyG5-0.0.1a5.tar.gz.

File metadata

  • Download URL: pyG5-0.0.1a5.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.7.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6

File hashes

Hashes for pyG5-0.0.1a5.tar.gz
Algorithm Hash digest
SHA256 30195d5e300ef606dc8bd184ba7455bc46cbada85ccab66e59e402934b91fdc8
MD5 17581a1361d4293d19cbde30dd68b22a
BLAKE2b-256 4d66c159b89624a93642fb0178c3e344ca27ba9266c90043c0d33b5077a1ca08

See more details on using hashes here.

File details

Details for the file pyG5-0.0.1a5-py3-none-any.whl.

File metadata

  • Download URL: pyG5-0.0.1a5-py3-none-any.whl
  • Upload date:
  • Size: 15.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.7.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6

File hashes

Hashes for pyG5-0.0.1a5-py3-none-any.whl
Algorithm Hash digest
SHA256 49c43b37af1ba881dedbead5be319158000eb0ad419b7b62b2af46ea2f4c048b
MD5 c0c3cbaca6bd96cbf513fa85776fb1c5
BLAKE2b-256 7dbab5c09bc0b62f52077535a2796071b75d068052c8ad3a23a55cdc4a4e1457

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page