FlightGear Python Interface
flightgear-python is an interface package to the FlightGear flight simulation software aimed at simplicity.
Install: pip3 install flightgear-python
Don't know where to begin? Check out the quick-start documentation.
Flight Dynamics Model (FDM) example, from examples/simple_fdm.py
"""
Simple Flight Dynamics Model (FDM) example that makes the altitude increase and the plane roll in the air.
"""
import time
from flightgear_python.fg_if import FDMConnection
def fdm_callback(fdm_data, event_pipe):
if event_pipe.child_poll():
phi_rad_child, = event_pipe.child_recv() # unpack tuple
# set only the data that we need to
fdm_data['phi_rad'] = phi_rad_child # we can force our own values
fdm_data.alt_m = fdm_data.alt_m + 0.5 # or just make a relative change
return fdm_data # return the whole structure
"""
Start FlightGear with `--native-fdm=socket,out,30,localhost,5501,udp --native-fdm=socket,in,30,localhost,5502,udp`
(you probably also want `--fdm=null` and `--max-fps=30` to stop the simulation fighting with
these external commands)
"""
if __name__ == '__main__': # NOTE: This is REQUIRED on Windows!
fdm_conn = FDMConnection()
fdm_event_pipe = fdm_conn.connect_rx('localhost', 5501, fdm_callback)
fdm_conn.connect_tx('localhost', 5502)
fdm_conn.start() # Start the FDM RX/TX loop
phi_rad_parent = 0.0
while True:
phi_rad_parent += 0.1
# could also do `fdm_conn.event_pipe.parent_send` so you just need to pass around `fdm_conn`
fdm_event_pipe.parent_send((phi_rad_parent,)) # send tuple
time.sleep(0.5)
Supported interfaces:
- Native Protocol (currently only UDP)
- Flight Dynamics Model (
net_fdm.hxx) version 24, 25 - Controls (
net_ctrls.hxx) version 27 - GUI (
net_gui.hxx) version 8
- Flight Dynamics Model (
- Generic Protocol
- Telnet
- Nasal code execution (
run_nasal())
- Nasal code execution (
- HTTP
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
flightgear_python-2.1.0.tar.gz
(15.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flightgear_python-2.1.0.tar.gz.
File metadata
- Download URL: flightgear_python-2.1.0.tar.gz
- Upload date:
- Size: 15.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
poetry/1.8.5 CPython/3.8.20 Linux/6.17.0-1013-aws
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aec0e6eede08ccce2723e665fc8a2655e5cfec67a5435c67251504714b3833fa
|
|
| MD5 |
9e11eea66bd9e3359d857bf7e58f715b
|
|
| BLAKE2b-256 |
14ca65a3a4fc03def769d1bde175e54ffe596a83d6aec868f13bbf182634bd6f
|
File details
Details for the file flightgear_python-2.1.0-py3-none-any.whl.
File metadata
- Download URL: flightgear_python-2.1.0-py3-none-any.whl
- Upload date:
- Size: 16.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
poetry/1.8.5 CPython/3.8.20 Linux/6.17.0-1013-aws
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a0e2a4a66c9eccc4b27eb3601a1114a20879e56a0bf4210705fbce8c3b5b676
|
|
| MD5 |
5000232355660cee48e9a3d213d2914d
|
|
| BLAKE2b-256 |
12373792e792a79c40fb8d191b060b07d8ea504ec1a503931270dd5eb6cd0159
|