Board index FlightGear Development Aircraft Flight dynamics model

YASim models now have versioning.

Good sims require good FDMs (the "thing" that makes an aircraft behave like an aircraft).

YASim models now have versioning.

Postby Colin Howell » Tue May 06, 2014 9:05 pm

A couple of weeks ago Torsten Dreyer added a "version" feature to YASim. (Sorry I didn't report this sooner.)

All the YASim fixes I've recently made will now only apply to "YASIM_VERSION_32" and later. "YASIM_VERSION_32" will be the state of YASim in the pending FlightGear 3.2 release. The older version of YASim preceding all these fixes is "YASIM_VERSION_ORIGINAL". The most recent version of YASim will always be "YASIM_VERSION_CURRENT".

If a YASim aircraft does not specify a version, its version is assumed to be "YASIM_VERSION_ORIGINAL", so it will be unaffected by the fixes and any subsequent YASim changes. This will prevent fixes and changes to YASim from breaking old aircraft that lack a maintainer, and it could also be used with any aircraft for which the changes don't work for some reason.

To specify a YASim aircraft's version, you add the version attribute to its <airplane> section. For example:

<airplane mass="1344" version="YASIM_VERSION_CURRENT">

for an aircraft which will always track all changes to YASim.

If a YASim aircraft does not specify the most recent YASim version, an alert-level log message will be printed during startup.

Here is Torsten's commit, which describes the change as follows:

Code: Select all
YASim: implement a versioning system

user attribute "version" of the airplane element of the YASim config file to define the version this config uses.
Example:
<airplane mass="1344" version="YASIM_VERSION_CURRENT">

Initially, the following can be used:
YASIM_VERSION_ORIGINAL - The original version of YASim as implemented up to FlightGear 3.0.0
YASIM_VERSION_32 - The version of YASim implemented in FlightGear 3.2.x (and the development version 3.1.x)
YASIM_VERSION_CURRENT - The current and latest version of YASim.
Colin Howell
 
Posts: 33
Joined: Sat Feb 08, 2014 1:41 am
Location: Mountain View, California

Re: YASim models now have versioning.

Postby Philosopher » Tue May 06, 2014 9:16 pm

I guess I'm not fond of the names he's using for it - they're okay but really unnecessary (why not just "current", "3.2", etc? "yasim" and "version" are already understood from context, and they don't necessarily have to be C++ identifiers on the XML side of things) Otherwise it's good :).
Philosopher
 
Posts: 1593
Joined: Sun Aug 12, 2012 7:29 pm

Re: YASim models now have versioning.

Postby Hooray » Tue May 06, 2014 9:34 pm

in the long term, it would make sense to introduce versioning support at the SimGear/EasyXml level, it's a long-standing feature request that would help us implement better backward compatibility in other places using PropertyList/XML as the primary file format (which is not the case for YaSim).

Not having a mandatory <PropertyList version=""> attribute is begging for trouble and a pain in the butt from a maintenance point of view - especially for any future changes to the PropertyList format. And having a mandatory <PropertyList type=""> attribute would allow to provide DTDs/XML schemas for startup validation, and we could even extend other subsystems, beyond just YaSim, without risking breakage :?
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 12707
Joined: Tue Mar 25, 2008 9:40 am
Pronouns: THOU

Re: YASim models now have versioning.

Postby Philosopher » Tue May 06, 2014 9:36 pm

YASim doesn't use PropertyList though.
Philosopher
 
Posts: 1593
Joined: Sun Aug 12, 2012 7:29 pm

Re: YASim models now have versioning.

Postby Hooray » Tue May 06, 2014 9:41 pm

right, I mentioned that :D
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 12707
Joined: Tue Mar 25, 2008 9:40 am
Pronouns: THOU

Re: YASim models now have versioning.

Postby helijah » Wed May 21, 2014 7:35 am

Hi Colin

At this time 10 models use "YASIM_VERSION_CURRENT" in my hangar (and GIT of course :) )

Horten Ho IX
Lancair 235
Leduc 022
Long Ez
Lavochkin La 5
Santos Dumont 14 bis
Heinkel He 178
Arup S2
Ryan Spirit of Saint Louis
Bristol 167 Brabazon

Regards Emmanuel
Some planes (and other) for FlightGear
http://helijah.free.fr
and
http://embaranger.free.fr
User avatar
helijah
 
Posts: 1339
Joined: Wed Dec 27, 2006 1:35 pm
Location: Chartres (France)
Callsign: helijah
IRC name: helijah
Version: GIT
OS: GNU/Linux


Return to Flight dynamics model

Who is online

Users browsing this forum: No registered users and 0 guests