FlightGear Newsletter May 2012
We would like to emphasize that the monthly newsletter can not live without the contributions of FlightGear users and developers. Everyone with a wiki account (free to register) can edit the newsletter and every contribution is welcome. So if you know about any FlightGear related news or projects such as for example updated scenery or aircraft, please do feel invited to add such news to the newsletter.
Preparing a new release
In preperation for the next FlightGear release, repositories will be frozen as of June 17. This means that no new features or major changes shall be pushed onto the development streams (neither source nor data). The repository remains open for aircraft developments till the day of the release, with the exception of base package aircraft that should not receive major changes from June 17 onwards.
See our release plan for more details.
For a long time, FlightGear's multi-language support for the menus was broken. The language feature has been restored now, so it is again possible to translate the menu (not the submenus, yet) and the command line options into different languages. Currently, only plain ASCII characters and its Latin1/ISO-8859-1 extension are supported though, which covers Western European languages only (Portuguese to German, Italian to Norwegian).
Please see Howto:Translate FlightGear if you are interested in helping to translate FlightGear. We're currently looking for someone volunteering to update the existing, but incomplete Spanish and Italian language resources. Also, you're welcome to add support for additional languages (e.g. Portuguese, Swedish, ...).
If your language isn't supported by FlightGear's limited character set yet (i.e. Japanese, Chinese, Russian, ...) then please be patient - a rework of the GUI library, which will also improve support for arbitrary fonts and character sets, is already in progress.
Canvas: Improved 2D drawing support
Tom is currently working on a 2D drawing API. The basic idea is to draw arbitrary 2D shapes and text to a texture and place it somewhere in the scene, like for example on virtual displays or as a HUD. This so called canvas should be controlled only by using the property tree, and will among other advantages, greatly simplify the creation of complex instruments which can be found in todays glass cockpits.
Currently it is possible to draw text, transform it, change it's style (color, background, font, etc.) and all of this through the property tree. To simplify the usage there also exists an experimental Nasal API which provides an object orientated wrapper around the property tree interface to the canvas.
The code is available in the latest development versions of FlightGear. The long term (after FlightGear 2.8) idea is to eventually port some other 2D elements to this backend (eg the HUD and 2D panels) so they use OSG (and osgText) natively, and hence reduce the amount of C++ code we have for these jobs. (And increase our chances of working with never OpenGL versions that forbid old style GL calls).
In the meantime the more testing and feedback we can get the better. In particular this system should offer a much more efficient way to build CDU interfaces than many text animations, but as always it needs people to experiment and report what features are missing to make their life easier. The video below shows what can be achieved without using tons of predefined text animations, but instead just some Nasal code.
As this system stablizes creating a 'fgcanvas' client analogous to 'fgpanel' should be doable too, which will allow to run a canvas in a standalone application.
Please see Canvas Properties for more details.
STG files: pitch and roll support
A patch has been applied to SimGear in order to support pitch and roll in STG files. Pitch and roll values are optional. A patch will be applied as soon as possible to the UFO in order to export these two new parameters.
This is an example of a new STG line :
OBJECT_SHARED Models/Effects/RedLight10000.xml -63.22143912 17.64412605 45.6715 0.0 10.0 45.0
Where 10.0 is pitch in degrees and 45.0 is roll in degrees.
Getting involved as a programmer
Please see Howto:Start core development
Interview with a contributor (Jon Berndt)
In each edition we have an interview with a contributor. Suggestions for possible questions are available on interview questions, you are invited to come up with new questions and interview ideas obviously! Anyone is free to write an interview (with him-/herself or others) for next month's newsletter!
- How long have you been involved in FlightGear?
For over ten years. I'm the development coordinator (and occasionally accused of being the BDFL) for JSBSim. It's been just a few months more than ten years since JSBSim became the default flight model for FlightGear - although it should be said that in these days a "default" flight model has less (or no) meaning compared to back then.
- What are your major interests in FlightGear?
Flight dynamics and control, but I really like the whole aspect of specifying a model in XML (and other) files - a truly data-driven simulation.
- What project are you working on right now?
Continued development of JSBSim. There are always things to tweak. Recently, I extended the PID (Proportional-Integral-Derivative) control component in JSBSim to support some work I have been doing.
- What do you plan on doing in the future?
Writing more documentation. Adding more features to JSBSim as needed. And trying to get an official v1.0 release out.
- Are you happy with the way the FlightGear project is going?
I really enjoy seeing the progress being made in the visuals (as a spectator) - in particular I find the Rembrandt project fascinating.
- What do you enjoy most about developing for FlightGear?
Since JSBSim is a standalone project, there are other applications that use it such as Outerra, OpenEaagles, and others. However, FlightGear has the longest history with JSBSim and the most active developer community. It has been both enlightening and exciting to see developers stretch the limits of JSBSim, and use it within FlightGear in ways that were not foreseen previously. For instance, the P-51D that Hal Engel has been developing over the past couple of years (or more?) is very good. Also, the recently published skydiver flight model was an instance of a commercial use of FlightGear with JSBSim that resulted in code being shared with us in the spirit of the GPL. With that said, the most exciting part for me of working with the FlightGear community is seeing the very real strengths of open source development on display, and contributing to that effort.
- Are there any "hidden features" you have worked on in FlightGear that new users may miss?
There are many features that are not hidden, but are not known about because they are not yet part of our reference manual.
- What is your background in Flight Simulation?
I was graduated from the University of Minnesota (as was FlightGear Development Coordinator Curt Olson). I earned a degree in Aerospace Engineering there and in 1987 I went to work for Link Flight Simulation. I wrote the flight control simulation code for the F-16 as it was migrating from an analog control system to a digital control system. In the years following that I supported the Engineering Directorate at NASA Johnson Space Center in Houston, working with flight simulators almost continuously since then. Most recently, I went to work for Sierra Nevada Corporation to do simulation and analysis work, as well as supporting some wind tunnel testing, all for the Dream Chaser lifting body project. I have been a member of the AIAA Modeling and Simulation Technical Committee along with Bruce Jackson, author of LaRCSim.
- What else do you enjoy doing, besides coding in C++ late at night?
I enjoy playing acoustic guitar (fingerstyle), photography, hiking along the Colorado Front Range, playing catch/fetch with my dogs, tending to a 150 gallon saltwater aquarium, and doing various home remodeling projects. But what I really need is more sleep! Read previous interviews at our website's archive.
New software tools and projects
FlightGearMap is a new Android application that displays live FlightGear data in the form of some basic instruments and a moving map. User can choose between various OpenStreetMap maps and different display styles (just the map/panel, or both). It's still under development, but already worth downloading from Google Play (Android app store).
FlightGear addons and mods
YASim engine feather
With a tiny modification of the propeller.ccp file, it is possible to feather engines on YASim aircraft. You can download a beta version of the modification for testing via this link: http://dl.dropbox.com/u/18438878/propellersource.zip
A video of engine feathering and unfeathering on the Pond Racer is available at YouTube.
The livery database got a search engine implemented, allowing users to find that specific livery they've been looking for. Searches can be filtered per aircraft, airline and/or author.
Check it out at http://liveries.flightgear.org/search.php
V.C. Bird International Airport
V.C. Bird International Airport (TAPA) is the only airport on the island of Antigua. More information and a download link can be found in the forum topic.
Origin of the Amazon River
For this IFR tour (with VFR parts) in Peru, we take off from the highest airfield in the world to discover the origin of the Amazon river in South America. I promise spectacular mountains and valleys. The total length of this trip is about 175 NM.
Place your aircraft on the airfield SPRF, San Rafael. FlightGear will show snow all around you but that is not very realistic so let's clean up. View > Rendering Options > Snow line > Set to max (5,000 m).
- Set NAV1 to Arequipa VOR-DME at 113.7 with a radial of 176° (magnetic).
- Set NAV2 to Cusco VOR-DME at 114.9 also with a radial of 176°.
- Set QNH and during flight keep correcting it, it's a bad idea to use Pressure altitude during this flight.
- Set the heading bug to 250°. Arm the autopilot and set the initial altitude to 16,000 feet.
The airfield SPRF, San Rafael has an elevation of 14,422 feet. That altitude will cause problems during take-off. It takes a lot longer for the aircraft to gain sufficient speed for take-off, also the take-off speed that is needed is higher as you would expect. Perhaps an additional notch of flaps is needed.
Take-off, avoid the bumps (there are plenty) and fly a course of 250°. After about 80 NM you will fly over the radial of NAV1. Intercept the radial towards Arequipa. At a distance of 75 NM towards NAV1 you will have to increase altitude to 19,000 feet.
At a distance of 50 NM towards NAV1 and 118 NM from NAV2 you will see and cross over the mountain Nevado Mismi with an altitude of 18,362 ft. The rains and water on the area to the right until Nevado Mismi will leave towards the Atlantic ocean through the Amazon river. Anything to the left and after Nevado Mismi will leave towards the Pacific ocean.
After Nevado Mismi you are tempted to descend. Don't. Just before the airfield is Mt.Chachani with an altitude of 19,872 feet and to the East is the active volcano El Misti with an altitude of 19,101 feet. You can either increase the altitude and fly over the airfield or keep the altitude, even descend and fly between the mountains, your choice depends on the visibility.
Fly using the heading bug and set NAV1 to ILS 109.7 with a radial of 93.2°. We will land at airfield SPQU, Rodriguez ballon, that has an elevation of 8,405 feet. There is a reason this airfield has just one ILS. The area South-West of the airfield is below 11,405 feet and is safe to navigate.
Position the aircraft in front of the runway at an altitude of 11,405 feet, catch the glidescope at a distance of 9.5 NM and land your aircraft. After landing and parking your aircraft crawl into the tower to look around.
For more amazing flights see Suggested Flights.
Airports and coordinates
Required scenery tile: ftp://ftp.sunsite.org.uk/sites/ftp.flightgear.org/flightgear-ftp/Scenery/w020s80.tar.gz
I recomend a powerful jet angine airplane, but not too heavy! The Cessna 550 Citation II is a good choice.
fgfs --airport=SPRF --aircraft=Citation-II
FlightGear on YouTube
- In this video you can see a cockpit landing with an Airbus A330-200 at Tenerife North (GCXO).
- Tristan visited the 10 most improved airports in FlightGear and made a video of each visit.
And finally ...
One of the regular thoughts expressed on the FlightGear forums is "I'd like to contribute but I don't know how to program, and I don't have the time". Unfortunately, there is a common mis-conception that contributing requires programming and lots of free time. In fact, there are a huge range of ways to contribute to the project without needing to write code or spending days working on something.
For ideas on starting to contribute to FlightGear, you may want to check out: Volunteer.