updated mag variation data
Update: The endianess issue is now fixed, however I can only test it on a Little Endian machine. QtJSBSim should now be able to communicate to FlightGear from either a Little or Big Endian host. The only file in the code which needs to worry about this is src/flightgear/packet.cpp Note that communication between QtJSBSim and JSBSim is done via text, so no need to consider endianess there.
Enabling big or little endian communication to FlightGear
I've tried building QtJSBSim with Qt 6.3, and it appears SVG handling has changed a bit, which prevents the current code from building. Rather than have two different code bases I've decided to not support a QT 6.3 version for now. QtJSBSim builds with Qt 5.15.2 If I get demand for Qt 6.3, then I'll reconsider.
Stopped using QtEndian
I've been testing the FlightGear interface against FlightGear version 2020.3.6, and it's working well. I was getting compilation errors earlier due to the way Qt is changing its QtEndian handling, so I'm now using my own routines for endian operations. Tested with Qt 5.15.2 QtJSBSim now assumes it is running on a little endian machine, and it also assumes a float is 4 bytes and a double is 8 bytes. If any of these assumptions don't work for you please let me know and I'll update the code accordi...
Using FlightGear as your viewer
QtJSBSim QtJSBSim is a FlightSim/GUI front end for the JSBSim flight dynamics model. It was inspired by, and includes a widget from the QFlightInstruments project. Joystick handling comes from the SDL project. For the "out-the-window" view you can send data to FlightGear. License GPLv3 https://gnu.org/licenses/gpl.txt History JSBSim is an open source flight dynamics library, designed to simulate the real time dynamics of an aerial vehicle. There are three ways to use JSBSim as part of a larger simulation...
QtJSBSim QtJSBSim is a FlightSim/GUI front end for the JSBSim flight dynamics model. It was inspired by, and includes a widget from the QFlightInstruments project. Joystick handling comes from the SDL project. For the "out-the-window" view you can send data to FlightGear. License GPLv3 https://gnu.org/licenses/gpl.txt History JSBSim is an open source flight dynamics library, designed to simulate the real time dynamics of an aerial vehicle. There are three ways to use JSBSim as part of a larger simulation...
QtJSBSim QtJSBSim is a FlightSim/GUI front end for the JSBSim flight dynamics model. It was inspired by, and includes a widget from the QFlightInstruments project. Joystick handling comes from the SDL project. For the "out-the-window" view you can send data to FlightGear. License GPLv3 https://gnu.org/licenses/gpl.txt History JSBSim is an open source flight dynamics library, designed to simulate the real time dynamics of an aerial vehicle. There are three ways to use JSBSim as part of a larger simulation...
QtJSBSim QtJSBSim is a FlightSim/GUI front end for the JSBSim flight dynamics model. It was inspired by, and includes a widget from the QFlightInstruments project. Joystick handling comes from the SDL project. For the "out-the-window" view you can send data to FlightGear. License GPLv3 https://gnu.org/licenses/gpl.txt History JSBSim is an open source flight dynamics library, designed to simulate the real time dynamics of an aerial vehicle. There are three ways to use JSBSim as part of a larger simulation...
The ability to set the precision of values output by JSBSim UDP sockets has just been added to the JSBSim codebase. In QtJSBSim I've updated the file /JSBSim/aircraft/737/737.xml to take advantage of this new feature. The previous precision of 7 significant digits is now increased to 10 significant digits, which gives a much smoother visual picture when using FlightGear as a viewer.
Support is now provided for versions 24 and 25 of the FlightGear interface. The default is version 24. You can switch to version 25 by editing line 15 of the file src/flightgear/packet.h I haven't tested the version 25 interface yet since I haven't built a newer version of FlightGear.
Update cmake file.
Increase precision of data from JSBSim. Add support for both versions 24 and 25 of FlightGear interface.
Magnetic variation is now available for the whole Earth. I added a 180x361 grid of magnetic variation values that are pre-calculated using WMM 2020. The date used for the calculations is June 2021. I can generate another grid at any time using a more recent date. The magnetic variation is updated for the current lat/lon at every cycle of the QtJSBSim main loop. Values are interpolated within each one degree by one degree square in the grid. The MagVariation class is owned by the navigation class...
Added magnetic variation.
silencing compiler warnings, GCC 9.3.0
Downloading and Building
fixed cmake file to remove reference to hud
The Cesium viewer relies on WebKit, and the QWebKit module for Qt5 has been deprecated for some time. I've tried to build the QWebKit module from source but have had no luck, so I'm removing Cesium support. Use of FlightGear as the Out-The-Window viewer is still supported. I'll be updated the code base soon and will bundle a new release which will be major version 3.
Cesium Viewer
Cesium Viewer
Downloading and Building
updating docs
Removed Cesium viewer. Removed references to plib.
Does anyone know if this qtwebkit module still compiles? I've had no luck building one on my linux system.
The Cesium viewer relies on WebKit, and the QWebKit module for Qt5 has been deprecated for some time. I've tried to build the QWebKit module from source but have had no luck, so I'm removing Cesium support. Use FlightGear as the Out-The-Window viewer is still supported. I'll be updated the code base soon and will bundle a new release which will be major version 3.
Home
Using FlightGear as your viewer
Cesium Viewer
QtJSBSim QtJSBSim is a FlightSim/GUI front end for the JSBSim flight dynamics model. It was inspired by, and includes a widget from the QFlightInstruments project. Joystick handling comes from the SDL project. The "out-the-window" viewer comes from the Cesium Ion project. Optionally you can send data to FlightGear for your out-the-window view. License GPLv3 https://gnu.org/licenses/gpl.txt History JSBSim is an open source flight dynamics library, designed to simulate the real time dynamics of an...
QtJSBSim QtJSBSim is a FlightSim/GUI front end for the JSBSim flight dynamics model. It was inspired by, and includes a widget from the QFlightInstruments project. Joystick handling comes from the SDL project. The "out-the-window" viewer comes from the Cesium Ion project. Optionally you can send data to FlightGear for your out-the-window view. License GPLv3 https://gnu.org/licenses/gpl.txt History JSBSim is an open source flight dynamics library, designed to simulate the real time dynamics of an...
Added jitter filter to joystick.
UPDATE: Today's commits are mostly about using Qt's own typedefs and endian functions to support the socket communications with FlightGear. This removes the need for "netinet/in.h" and helps with the portability of the code. I also added a FlightGear directory and in it is the linux shell script I use to launch FlightGear as my Out-The-Window viewer. Edit this to match your system.
Commented out Plib references.
Added the flightgear script I use to launch flightgear as the OTW viewer.
Fixed my error in cmake file.
updated cmake files.
Using Qt data types and endian functions for FlightGear socket.
SOLVED: QtWebKit for Windows can be found here: https://github.com/qtwebkit/qtwebkit/releases
Downloading and Building
Downloading and Building
Downloading and Building
QtJSBSim QtJSBSim is a FlightSim/GUI front end for the JSBSim flight dynamics model. It was inspired by, and includes a widget from the QFlightInstruments project. Joystick handling comes from the SDL project. The "out-the-window" viewer comes from the Cesium Ion project. License GPLv3 https://gnu.org/licenses/gpl.txt History JSBSim is an open source flight dynamics library, designed to simulate the real time dynamics of an aerial vehicle. There are three ways to use JSBSim as part of a larger simulation...
UPDATE: I just commited a change from using Plib to using SDL for joystick handling. SDL2 or higher is now required. Plib is no longer required. I've built this using SDL version 2-2.0.24 and tested it on linux. Next step is to build on Windows 10. If that works then I'll make the project multi-platform again.
Updated docs to mention change-over to SDL joystick.
Fix my cmake errors.
Updating cmake files.
Moved to SDL for joystick handling.
I've recently tried building QtJSBSim on a Windows 10 box and have not been able to create the Plib libraries for Windows. Unless someone can advise me on how to do this I've decided to label this project as Linux Only.
I've started trying to build QtJSBSim on Windows and can't find a suitable QWebKit module. Does anyone know if it is still available for Windows?
Removed some icons.
Error handling, stdout handling, jostick UI arrangement.
I recently changed the look and feel of the buttons in order to: Help guide the user by showing what features are available at any given time Help prevent the user from quitting QtJSBSim while JSBSim is still running. The buttons look better and behave better now. The main change in behavior is done by greying/disabling/unchecking buttons based on what state the session is in. This should help the user follow the work flow. The important first steps after opening QtJSBSim are: Start JSBSim Connect...
Removing unused pixmaps.
Made the altimeter digital readout frame a bit wider.
Improved button appearance and functionality.
Fixed joystick button test.
Updated README for new release.
Downloading and Building
Downloading and Building
Downloading and Building
Cesium Viewer
I'm thinking now that I should remove the P-47 model and just stick with the 737. I'd like to simplify things a bit. QtJSBSim is really a technology demonstrator. It's not meant to be a full-featured flight simulator.
QtJSBSim QtJSBSim is a FlightSim/GUI front end for the JSBSim flight dynamics model. It was inspired by, and includes a widget from the QFlightInstruments project. Joystick handling comes from the PLIB project. The "out-the-window" viewer comes from the Cesium Ion project. License GPLv3 https://gnu.org/licenses/gpl.txt History JSBSim is an open source flight dynamics library, designed to simulate the real time dynamics of an aerial vehicle. There are three ways to use JSBSim as part of a larger simulation...
Due to changes in the way Cesium is handling authentication and access to their terrain data, I've had to update the Cesium viewer to get it running again. This new release has been tested with both Cesium Ion viewer and FlightGear version 2019.1.1 as the viewer. I tested with Qt version 5.12.8, but whichever version you run make sure to add the additional Qt libraries as specified in the Wiki documentation on building QtJSBSim. The JSBSim version I tested with is built from source code downloaded...
I just tested the FlightGear viewer option using FlightGear v2019.1.1. For the LAX area I downloaded the Scenery 2.0 version of "w120n30" and extracted it into a directory I call ~/Scenery, which is where I keep my scenery tiles. Start FlightGear first using the above launch script (with paths edited to match your installation). Then start QtJSBSim. After you start JSBSim and connect to it the data will start going to FlightGear. Here's a screenshot on a raw-data ILS final:
1) Flightgear will also read your joystick, and it will probably have the axes/buttons bound to different actions. I recommend disabling the joystick in FlightGear. This is done in the launch script below by setting the property "input/joysticks/js=0". 2) For a true out-the-window (OTW) view you'll need to remove the aircraft model. If you just delete the reference to a model you will get the blue/yellow glider by default. To prevent this you can set the model to "Models/Geometry/null.ac", which...
1) Flightgear will also read your joystick, and it will probably have the axes/buttons bound to different actions. I recommend disabling the joystick in FlightGear. To do this you can just rename the Input directory in FlightGear. I changed it to InputX. This is the only way I know of to disable the joystick in FlightGear. 2) For a true out-the-window (OTW) view you'll need to remove the aircraft model. If you just delete the reference to a model you will get the blue/yellow glider by default. To...
Removing local Qt Creator files.
Cesium name change, added some tool tips.
Ignoring some QtCreator files.
I've updated some documentation and will be adding more soon. The Cesium Ion viewer server has been fixed. The viewer works again.
Documentation update.
Presently QtJSBSim is set up to use two-engined aircraft. The code which communicates with JSBSim assumes two engines. The JSBSim/aircraft directory in QtJSBSim has a single-engine airplane in it, the P-47D, which will load without crashing, but won't run properly because of the mismatch in the number of engines. There are plenty of ready-made JSBSim aircraft models which were meant for use in FlightGear, and these can be adapted to run on JSBSim standalone with a little editing: 1) Remove any references...
Made the handling of aircraft name more generic rather than hard-coded
Adding another aircraft.
Populating edit widgets in the UI with first data from JSBSim.
Removed some commands to JSBSim as they were overwriting initial values
Improved comments, adding precision to number conversions - trying to
Instability is solved. It turns out that you can't turn off too many systems or the app becomes unstable.
Updated docs.
I've added a button which will send net_fdm information to FlightGear. This allows FlightGear to be used as a viewer. So far it works for about 30 seconds and then FlightGear segfaults. I'm not sure what the problem is yet. In order to use this feature first start FlightGear with the following command line arguments: --fdm=null --native-fdm=socket,in,60,,5508,udp I'm also using these command line arguments: --prop:/sim/ai/enabled=false \ --disable-sound \ --aircraft=737-300 \ --airport=KLAX \ --runway=25R...
The mail list is now open. The address is: qtjsbsim-discuss@lists.sourceforge.net
Updated copyright and license notes. Code format cleanup.
Updated copyright and license notes. Code format cleanup.
The FlightGear connectivity is worthy of a new release. Also in this release are a much improved viewer HUD and a code refactor.
Updated README for new release.
Removed reference to an uneeded simgear header.
Changed reported location (VRP) in the 737 configuration file. Added
Updated docs to include FlightGear.
Updated interface image for documentation of new features.
1) Flightgear will also read your joystick, and it will probably have the axes/buttons bound to different actions. I recommend disabling the joystick in FlightGear. To do this you can just rename the Input directory in FlightGear. I changed it to InputX. This is the only way I know of to disable the joystick in FlightGear. 2) For a true out-the-window (OTW) view you'll need to remove the aircraft model. If you just delete the reference to a model you will get the blue/yellow glider by default. To...
If you try to quit the app while JSBSim is still running, the JSBSim
I'm using a minimal airplane "set" file in FlightGear in order to help track down the instability causing FlightGear to segfault. Here's the file: <PropertyList> <sim> <description>737</description> <author></author> <status></status> <flight-model>ufo</flight-model> <allow-toggle-cockpit >true</allow-toggle-cockpit> <chase-distance-m>-40</chase-distance-m> <model> <path>Aircraft/737-300/Models/737-300.xml</path> </model> <startup> <splash-texture>Aircraft/737-300/737-300.png</splash-texture> </startup>...
I've added a button which will send net_fdm information to FlightGear. This allows FlightGear to be used as a viewer. So far it works for about 30 seconds and then FlightGear segfaults. I'm not sure what the problem is yet. In order to use this feature first start FlightGear with the following command line arguments: --fdm=null --native-fdm=socket,in,60,,5508,udp I'm also using these command line arguements: --prop:/sim/ai/enabled=false \ --disable-sound \ --aircraft=737-300 \ --airport=KLAX \ --runway=25R...