Change log for the Flight Dynamics and Control toolbox
======================================================

FDC 1.4.0
=========
*  This version is compatible with Matlab 5.3 / Simulink 3.0 and newer. 

*  Now includes full Simulink library support. This reduces the chance of 
   inadvertently creating several versions of the same system, as any 
   changes made to library blocks will automatically be reflected in all 
   systems that use them. More importantly: the package now requires _much_ 
   less disk space than before (even less than FDC version 1.2) and the 
   size of the FDC distribution has been reduced dramatically, which results
   in faster downloads.

*  Included support for the Simulink library browser.

*  Subsystem names are no longer 'secretly' abbreviated, thus removing one
   source of confusion and irritation. (The abbreviated system names used 
   to be necessary to avoid problems with the old M-file format for 
   graphical Simulink systems, as used by Simulink versions 1.x. With the 
   new MDL-file format this is no longer useful.) As an added benefit, the

*  Updated FDCINIT.M to prevent errors when running on Linux. 

*  Replaced FDCHELP.M by the new and more flexible tool BROWSE.M. 

*  Replaced LOADER.M and INCOLOAD.M by the more generic tool FDCLOAD.M, which 
   is supported by the functions DATLOAD.M, LINLOAD.M, MATLOAD.M, and 
   TRILOAD.M. (DATLOAD more or less fulfils the functions of LOADER, while 
   TRILOAD, LINLOAD, and MATLOAD more or less fulfil the functions of 
   INCOLOAD.) The load utilities use a graphical file-browser window and now 
   also allow the specification of a default file. The initialization of xfix 
   in LOADER.M has been moved to the aircraft model itself. 
   
*  Replaced SETDIR.M by the more flexible utility FDCDIR.M.

*  Upgraded FDCTOOLS to the library format. Replaced several blocks by 
   improved versions. (Note: a much improved version of the entire library
   is available as separate download from http://www.dutchroll.com. It is 
   called DUBSI, or 'Dutchroll Blockset for Simulink', and it is planned
   to include this entire blockset in a next version of the FDC toolbox.)

*  Moved all Matlab programs to the new PROGRAMS subdirectory (except those
   which are clearly related to Simulink systems from other subdirectories).
   
*  Moved the default-initialization of the variable xfix from the load 
   routine (formerly called LOADER) to the InitFcn property of the xfix 
   Gain block, which is called from within the aircraft model itself.

*  Clarified meaning of button blocks in OLOOP1, OLOOP2, and OLOOP3. 
   Removed the MODBUILD button-block. Removed individual button-libraries 
   FDCLIB7, FDCLIB8, and FDCLIB9; instead stored all blocks in the library
   FBUTTONS.

*  Updated the systems OLOOP1, OLOOP2, and OLOOP3 with Manual Switch blocks.

*  Deleted the OLOOP1T, OLOOP2T, and OLOOP3T tutorials. These 'tutorials'
   were not very useful anyway, but they did require quite some maintenance 
   with each new update of the FDC toolbox; it is planned to substitute HTML 
   helpfiles for these tutorials in a future version of the FDC toolbox.

*  Included a new Matlab example OPENLOOP.M, which automatically computes 
   linear and nonlinear open-loop aircraft responses to the default test-
   inputs from OLOOP1 and OLOOP3, and presents these results in pretty plots. 
   New models OLOOP1a and OLOOP3a are included to support this task. 
   OPENLOOP lacks the user-interaction of OLOOP1 and OLOOP3, but it offers 
   better visualisation of the results, which obviously will be identical to
   those of OLOOP1 and OLOOP3.

*  Included a new Matlab example PLOTCOEFF.M, which can be used to assess 
   some basic properties of the aerodynamic and propulsive forces & moments
   models of the Beaver aircraft. PLOTCOEFF makes use of the (also new) 
   Simulink system AEROPROPCOEFF.MDL. 

*  Updated the autopilot systems with new, masked, Scheduled Gain blocks and
   replaced Demux/Ground/Scope sequence by Selector/Scope.

*  The block 'actuator & cable dynamics' from the APILOT systems has been 
   updated. The old version of this block used to take into account a separate 
   multiplication factor 2 for the Cail matrix, whereas the updated version
   implements this factor in the Cail matrix itself. As a consequence, the
   actmod1.dat, actmod2.dat, and actmod3.dat files have been updated too. 
   IMPORTANT: DO NOT USE THE UPDATED BLOCK WITH THE OLD 'ACTMOD' DATAFILES,
   OR VICE VERSA!

*  Corrected turn-coordination control law in RAH and PAHRAH systems. 
   Updated PAH, RAH, and PAHRAH with simplified aircraft model output 
   handling.

*  The autopilot initialization routine APINIT.M has been greatly simplified.
   It no longer tries to account for all possible situations; instead it
   loads default aircraft model data, asks the user to load an appropriate
   initial flight condition, and automatically determines the most suitable
   actuator & cable model parameters. This is less flexible, but a whole lot
   easier than the cumbersome menu structure of the old situation. The ILS
   and VOR initialization have been removed (ILSINIT and VORINIT need to be
   called separately now), and the FIXSTATE option has been removed from the 
   standard autopilot initialization routine (instead, a separate FIXSTATE 
   button has been included in the autopilot systems). 
   
*  The ILS initialization routine ILSINIT now makes an 'educated guess' to
   identify a condition which ensures that the glideslope is captured 
   approximately 30 seconds after localizer capture. This makes it easier
   to do multiple ILS simulations, but more sophisticated initialization
   routines are still planned for future FDC versions. 

*  The re-drawn Simulink systems and new color-conventions give the models 
   a more appealing and more 'professional' appearance.

*  Improved the lay-out of the HTML helpfiles. Several helptexts were 
   clarified and brought in line with the help information in the M-files.
   Corrected some minor errors in the help texts and removed obsolete FDC 1.2
   information.
   
*  Corrected help information in some M-files where necessary and brought 
   this information in line with the HTML files.

*  Removed 8-character limit for subdirectory names in FDCINIT.M.

*  Removed some graphical menu's from applications that were in fact designed
   with a text-based user-interface (for the command window). In this case,
   consistent behaviour was deemed more important than a fancy GUI, although
   this is only an intermediate solution, in anticipation on a GUI-centered
   approach for FDC 2.
   
*  Removed COMMENT.M: it was outdated and not funny anymore.

*  Removed NSWITCH.M: it had become obsolete, as a similar block is now 
   available in the standard Simulink library 'Nonlinear'.

*  Removed RECOVER.M: had become obsolete, as the Simulink bug that it 
   fixed has apparantly been solved in Simulink versions 2.0 and newer.
   
*  Removed FDC_WELC.M, FDC_STRT.M, and 1STRUN.M, and the corresponding 
   MAT-files. Created new splash-screen FDC_SPLASH.M (if desired, the splash-
   screen can be suppressed easily by commenting out the fdc_splash command
   in FDC.M). 

*  In the previous version of the FDC toolbox, the wind blocks BLWIND and
   CWIND yielded only approximate results (contrary to what was suggested
   in the user-manual), as the applied expressions were valid only for 
   wings-level horizontal flight (and even then only approximately). In this
   new release, both blocks have been completely overhauled; they are now
   valid for all possible attitudes of the aircraft. Also, BLWIND now has
   a more convenient masked user-interface.

*  Included protection against 'division by zero' warnings for the QDR and
   Cone of Silence computations in the VOR block.
   
*  SYSTPROP will now also return the overshoot value for non-oscillatory 
   stable systems (overshoot = 0) and unstable systems (overshoot = inf).
   
*  The units of measurement, used for angular values and angular rate values 
   will now be transferred from RESULTS to RESPLOT (obviously, both routines
   are still nothing more but a quick & dirty solution to evaluate simulation
   results).

*  Fixed several other bugs from the previous FDC version. (Thanks to all
   people who have sent feedback; in particular thanks to Scott Poll for 
   his very detailed analysis of the FDC systems and tools and to Yongliang 
   Chen for his analysis of SYSTPROP.)

*  Removed some strange left-overs from FDC 1.1, the strangest of which
   was a 'hidden' obsolete VOR library that had remained unnoticed for 8 (!)
   years.

*  This version has been re-licensed under the Open Software License. This
   license is similar in spirit as the previously used DOSSL, but has a sound 
   juridical basis and has been approved by the Open Source Intitiative (OSI). 
   See http://www.opensource.org for more details about this license and about
   Open Source licensing in general. See LICENSE.TXT for the complete license
   terms. 

   

FDC 1.3.3
=========
*  This is the first release that has been made available on SourceForge.
   It is identical to FDC 1.3 SR2, but has been re-licensed under the 
   Dutchroll Open Source Software License (DOSSL) version 1.0 (described
   in the LICENSE.TXT document of this release).

*  New version numbering: the Service Release logic has been replaced by a
   more straightforward scheme that uses a third number to denote minor
   changes. Working backwards, this yields:

   FDC 1.3     -> FDC 1.3.0
   FDC 1.3 SR1 -> FDC 1.3.1
   FDC 1.3 SR2 -> FDC 1.3.2

   and consequently, this new minor release is called FDC 1.3.3.


FDC 1.3 SR2
===========
*  Corrected some minor bugs and further improved behavior on non-Windows
   platforms.


FDC 1.3 SR1
===========
*  Converted the filenames of the HTML-helpfiles to lower-case and fixed
   the HTML-links accordingly in order to solve HTML referencing problems
   on non-Windows computers. As far as I could tell, the HTML-links in 
   the Simulink systems were typeset in lower-case already, except for 
   the block BLWIND in the library WINDLIB, but the links inside the 
   HTML-files themselves all needed to be updated. If you still encounter
   link problems, please contact the author.

*  Included the missing REFSGNLS.HTM file.

*  Enhanced the font-lists within the HTML-helpfiles for non-Windows
   platforms. Also decreased the fontsize. The results seem to be quite
   good on web-browsers such as IE3, IE4, Netscape 3, and Netscape 4.
   Older browsers may have more problems with the lay-out, but the results
   will still be acceptable. If necessary, use the font-size option in 
   your browser.

*  Replaced some DOS-specific path and file-separators which were left
   unnoticed in the first release of FDC 1.3 by generic 'filesep' and
   'pathsep' commands.


FDC 1.3
=======
*  The user-interface of the load routines LOADER and INCOLOAD has been
   improved by applying the function UIGETFILE to specify the filename
   and path.

*  The user-interface of the save routines within ACTRIM and ACLIN has been
   improved by applying UIPUTFILE to specify the filename and path.

*  Previous versions of the FDC toolbox used the block-diagram of the
   aircraft model as an S-function. Unfortunately, the ability to use a
   block diagram as an S-function wasn't implemented in Simulink 2.0.
   The Mathworks claims that there is no workaround and that work is in
   progress to reimplement this functionality or an equivalent for a later
   release, but that doesn't solve the problem. For that reason, the
   S-function blocks that call the aircraft model from the systems OLOOP1,
   OLOOP2, OLOOP3, APILOT1, APILOT2, and APILOT3 have been replaced by a
   masked subsystem-equivalent of the S-function BEAVER. Actually, this
   change has several advantages over the original version, in particular
   since the potential disadvantages of this method have largely been
   eliminated by other new Simulink options such as the improved block-
   library support. The most noticable consequences of the use of a 
   subsystem-equivalent of the S-function BEAVER are:

   - The size of the systems OLOOP1, OLOOP2, OLOOP3, APILOT1, APILOT2, and
     APILOT3 has been increased considerably. Luckily, downloading is still
     quite fast due to the new MDL file-format.
   - The input/output connections in the block-diagrams were streamlined,
     although care has been taken to maintain system compatibility by using
     the same input/output signals as before. In fact, a more radical
     simplification of the input/output relations of the aircraft model can
     be obtained here, but that will be postponed for a future release of
     the toolbox.

*  A completely new on-line help facility, based upon HTML language, has
   been created. As in FDC 1.2, double-clicking on title blocks in Simulink
   diagrams opens the on-line help facility, but the new version uses a
   web-browser to show the help texts (note: the on-line help facility won't
   function without a web-browser!). Some advantages:

   - fundamentally improved lay-out and enhanced readability
   - hyperlinks provide connections to related subjects in the on-line help
     database

   Moreover, additional help-texts for APINIT, APMODE, NAVLIB, WINDLIB, and
   RECOVER have been created, and a large number of small errors and
   omissions in the old help texts (*.HLP) have been fixed. In addition,
   pressing the HELP button of a masked Simulink block from the FDC toolbox
   now provide an automatic link to your web-browser. The HELP subfolder
   of the FDC toolbox still contains the old *.HLP files (even slightly
   improved ones) for compatibility reasons.

   Note: typing fdchelp('index') at the command-line will reveal the index-
   page of the HTML-helpfiles for FDC 1.3.

*  Clicking the HELP button of masked subsystems now provides a direct link
   to the new HTML helpfiles. Much more comfortable than before!

*  Many small editorial changes to the models and tools help improve their
   readability.

*  Autopilot systems: button-blocks now contain the names of the Matlab
   routines which will run after the blocks are double clicked. Subsystem
   `Computational Delay & Limiters' has got its own on-line help text.

*  Graphical systems now stored in the new MDL format of Simulink 2.
   The `button'-library BUTTONS has been renamed to FBUTTONS to prevent
   clashes with the new Matlab 5 routine BUTTONS.M.

*  FDCLIB, NAVLIB, and WINDLIB are now saved as Simulink libraries instead
   of 'ordinary' Simulink models (also a new feature of Simulink 2).

*  To prevent Simulink from issuing warning messages about blocks which
   were purposedly left unconnected, the ground and termination blocks
   from Simulink 2 have been applied. This is for instance clearly
   visible in the systems OLOOP1, OLOOP2, and OLOOP3 and the autopilot
   systems. If you don't mind the warning messages you may delete these
   blocks, since their appearance in the graphical systems is actually
   quite ugly...

*  Several blocks from the Simulink block-diagrams were replaced by new
   Simulink 2 versions.

*  Removed revision dates from title blocks of subsystems. Revision date
   is now only shown in masked subsystems and top-level (saves me a lot of
   time and prevents confusing mistakes). Replaced title blocks for auto-
   pilot control modes by simple blue text-line and added similar lines to
   autopilot-blocks which previously didn't have a title-block at all.

*  All graphical block-diagrams are now optimized for a screen-resolution
   of 800x600 pixels or more (was 640x480 or more).

*  Formatted most Mux blocks as thin black bars (making the systems easier
   to understand).

*  Added revision history lists to the Matlab programs.

*  The autopilot initialization routines have been improved by eliminating
   command-window messages where possible (not yet realized for places where
   user inputs are required).

*  Installation routine has been streamlined, using new self-extracting
   ZIP technology for MS-Windows. Default destination directory for the
   installation will now be C:\MATLAB\TOOLBOX\FDC13 (can be changed
   easily during the installation, e.g. if your Matlabroot is not equal
   to C:\MATLAB) and default directory used by FDC initialization routines
   is set to MATLABROOT\TOOLBOX\FDC13.

*  CONTENTS.TXT file from the subfolder DOC now only contains a file-list.
   More information is available in the CONTENTS.M files, which will be
   shown if you use HELPWIN at the command-line and double-click the
   references to the FDC subfolders.

*  FDCINIT.M now shows graphically more appealing welcome screen, which
   isn't as irritating for new users as the old welcome-screens. Furthermore,
   a menu is displayed after initialization, guiding the user to the main
   FDC library (FDCLIB) or the on-line help-texts as desired. Many smaller
   changes in this utility have improved the path-definitions for the FDC
   toolbox (hopefully eliminating some of the compatibility problems expe-
   rienced by users who ran FDC on a UNIX machine or MAC).


FDC 1.2.1
=========
*  This is the first release that has been made available on SourceForge.
   It is largely identical to FDC 1.2, but it contains some minor changes
   in the user-interface and it includes HTML helpfiles (although the latter
   are not actually integrated in the FDC software; they are an 'add-on'
   only). 

*  FDC 1.2.1 has been re-licensed under the Dutchroll Open Source Software 
   License (DOSSL) version 1.0 (described in the LICENSE.TXT document of 
   this release).


FDC 1.2
=======
This is the first version of the toolbox that was actually called 'Flight
Dynamics and Control toolbox'. It contained the following new features:

*  FDC 1.2 was designed for Matlab 4.0 / Simulink 1.2c (or newer) instead
   of Matlab 3.5k / Simulink 1.2.

*  The masked blocks did not use 'hidden' parameters, read from global
   variables in the workspace, contrary to the previous versions.

*  The help texts were improved once again. Toolbox-help in 'Matlab 4.0'-
   style (contents.m files) and new help-files for the autopilot simulation
   models were included.

*  The autopilot simulation models were improved in order to make them
   better accessible by the users. The autopilot-parameter definition
   routines were made more user-friendly than before and the on-line help
   texts for these models were improved.

*  Three new examples of control-law simulations were added. These systems
   (PAH.M, RAH.M, and PAHRAH.M) represented an interim step between linear
   autopilot design and the full-featured non-linear autopilot models from
   the systems APILOT1 to APILOT3. The routine PRAHINIT.M was included to
   help definining the parameters for these example systems.

*  The Mode-controller blocks from the autopilot simulation models was
   renewed completely, together with the Matlab functions GSSWITCH.M,
   NAVSWTCH.M, and LOCSWTCH.M, which are called by S-function blocks in
   the Mode Controller subsystem. Some of the mode-definition vectors
   were re-defined in the new mode-controller and the old initialization
   routine APSTART.M was replaced by APMODE.M.

*  A user-menu APMENU.M was included in order to help the user in selecting
   the appropriate autopilot model.

*  New Matlab macros RESULTS.M and RESPLOT.M were included to facilitate
   the post-processing of simulation results.

*  The screen-formatting of the routines ACLIN and ACTRIM was improved by
   applying a slightly changed version of the Matlab function NUM2STR,
   called NUM2STR2.

*  Complete lists of variables were added to the source codes of ACLIN and
   ACTRIM. The source-codes themselves were better documented.

*  Several blocks from the library FDCTOOLS (previously called TOOLS)
   were improved. This library was equipped with a user-friendly n-switch
   generator which automatically created graphical switch-blocks with n
   inputs, where n could be specified by the user during the block-
   generation process.

*  Several minor and some major bugs in the Matlab programs from the FDC
   toolbox were fixed. The package was made more 'fool-proof'.

*  The program documentation files (*.TXT) was gathered in a new
   subdirectory DOC, leaving only the FDC initialization and installation
   routines in the root directory of the toolbox.

*  The installation routine was improved, allowing installation into a
   different destination directory than C:\FDC12. The self-extracting
   ZIP-file that contained the FDC toolbox distribution files was hidden
   from the user to prevent the files from being installed to a wrong
   directory.

*  A small routine RECOVER.M was created to recover simulation results 
   that were not properly sent to the Workspace by Simulink.

*  The initialization routine now added the root-directory of the FDC
   toolbox to the Matlab path in order to allow several routines from
   FDC 1.2 to find the default directory settings in the file MODINIT.INI,
   thus reducing the number of 'File not found' errors.

*  A start was made to create an object-oriented implementation of the FDC
   toolbox by putting some often-used parts of programs into general-purpose
   subroutines, but further improvements are still necessary.

*  Created slightly modified Simulink models for Matlab 4.2/Simulink 1.3.


Version 1.1 (beta)
==================
This version was called BEAST 1.1 (beta), which meant 'Beaver Simulation
Toolbox' version 1.1. It was never 'officially' released. Compared to
version 1.0 it contained the following new and/or improved features:

*  Better on-line help texts for the graphical Simulink systems. These
   texts now contained complete lists of variables and units of measurements.
   The number of help texts was increased considerably. Moreover, the file-
   extension for these help texts was changed from .M to .HLP.

*  Double-clicking title-blocks in graphical Simulink systems now listed
   the accompagnying help-texts in the Matlab command-window.

*  New file-extensions were introduced: .DAT (parameter files),
   .HLP (helpfiles), .LIN (linearized models), and .TRI (trimmed-flight
   conditions). This clarified the file-structure of the toolbox.

*  The user-interface of ACTRIM and ACLIN was considerably improved.

*  The trim-routine was enhanced with the option to specify the
   manifold pressure in stead of the flight path angle.

*  The old model library ACLIB was replaced by the new model library
   BEASTLIB and enhanced with many explanatory systems. All examples were
   now accessible through the main library.

*  New versions of the open-loop example systems from version 1.0 were
   created, plus 'tutorial' systems which gave a step-by-step explanation
   about the meaning of all blocks from these examples.

*  The 'button'-blocks were changed in order to show which M-file they
   would start when being double-clicked.

*  The structure of the aircraft model BEAVER was improved by adding a
   new subsystem 'Additional Outputs' to group the output blocks which
   could not logically be placed elsewhere, and by putting the help sines
   and cosines in a feedback-loop to make them available for ALL other
   blocks within the system. Also, the subsystem 'Aircraft Equations
   of Motion' was restructured in a more logical way. Feedback-loops in
   the system BEAVER were highlighted by a magenta color.

*  Some signal names which could have led to confusion in version 1.0
   were changed (e.g. FMa in stead of Fa, to denote Forces AND Moments).

*  Some bugs in the blocks ACCEL, FLPATH, and XDOTCORR of the old version
   of the system BEAVER were fixed in BEAST 1.1 (bugs reported by Zainal
   Abidin, Delft University of Technology).


Version 1.0
===========
The first usable version of the FDC toolbox that was presented in public
as part of the MSc-thesis of the author. At the time of publishing it 
was still nameless.



-------------------------------------------------------------------------
The FDC toolbox. Copyright M.O. Rauw, 1994-2005. All rights reserved.
This software is licensed under the Open Software License, version 2.1.
See the file copying.txt in the DOC subdirectory for detailed information
about the terms of use.
-------------------------------------------------------------------------