Interface for FlightGear network connections
Project description
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_version=24) # May need to change version from 24
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
) - Controls (
net_ctrls.hxx
) - GUI (
net_gui.hxx
)
- Flight Dynamics Model (
- Generic Protocol
- Telnet
- HTTP
Project details
Release history Release notifications | RSS feed
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-1.6.0.tar.gz
(14.6 kB
view hashes)
Built Distribution
Close
Hashes for flightgear_python-1.6.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2ab5d8a301ee7137309ef88954a7cea348e279f36505332f8a67774a44385ec |
|
MD5 | d0780a7fc09a535727755eb5ad3147e6 |
|
BLAKE2b-256 | ea0f050c3f38e4d122dbcedf47ebc4ba8594cf0bd2ee17203a610cb6ff7ff6d7 |