function simList = siminfo
%SIMINFO MATLAB Expo helper function for keeping list data.
%   OUTINFO=SIMINFO returns a data structure that lists all demos for the
%   Simulink area of the demos.

%   Copyright 1990-2000 The MathWorks, Inc.
%   $Revision: 1.30 $

% Initialize demo index number
n=0;

%=========================
%     New in this release
%=========================
n=n+1;
simList(n).Name='New in this release';

simList(n).Help = {
            ' Simulink 4.0 introduces new and exciting     '
            ' features to the world of simulation.  These  '
            ' demonstration models illustrate some of the  '
            ' major new features in Simulink 4.0.          '
            '                                              '
            ' Start with these models if you are already   '
            ' a Simulink user and are upgrading to         '
            ' Simulink 4.0.                                  '
            '                                              '};

simList(n).DemoList = {
            'Matrix signals demonstration'
};

simList(n).FcnList = {
            'matrixdemos'
};

%=========================
%     Features
%=========================
n=n+1;
simList(n).Name='Features';

simList(n).Help = {
            ' Simulink provides many features for powerful and '
            ' intuitive modelling.  Some major features are '
            ' illustrated in these demonstration models.'};

simList(n).DemoList = {
            'Triggered subsystem demonstration'
            'Enabled subsystem demonstration'
            'Advanced enabled subsystems'
            'Flip-flop blocks demonstration'
            'Block Priority demonstration'
            'Merge Block demonstration'
            'Bus Block demonstration'
            'Data Typing Demonstration'
            'Data Typing Filter Example'
            'Accurate zero crossings detection'
            'S-function examples (Simulink & RTW)'
};

simList(n).FcnList = {
            'triggeredsub'
            'enablesub'
            'enabsubs'
            'logdemo'
            'prioritydemo'
            'mergedemo'
            'busdemo'
            'datatypedemo'
            'combfilter'
            'zeroxing'
            'sfundemos'
};

%=========================
%     General
%=========================
n=n+1;
simList(n).Name='General';

simList(n).Help = {
            ' Simulink has the ability to simulate a large range '
            ' of systems, from very simple to extraordinarily complex. '
            ' The models and demonstrations that you will see in this '
            ' section include both simple and complex systems.  Although '
            ' the complex systems are nowhere near the limits of what '
            ' can be done, they hint at the level of sophistication that '
            ' you can expect.'};

simList(n).DemoList = {
            'Tracking a bouncing ball'
            'Simple pendulum simulation'
            'Spring-mass system simulation'
            'Van der Pol equations simulation'
            'Quaternion rotation animation'
            'Toilet bowl flushing animation'
            'Counter demonstration'
            'Friction with hard stops model'
            'State events'
            'Pendulum with one joint'
            'Pendulum with two joints'
            'Inverted pendulum animation'
            'Double spring mass system simulation'
            'Thermodynamic model of a house'
};

simList(n).FcnList = {
            'bounce'
            'simppend'
            'onecart'
            'vdp'
            'simquat'
            'toilet'
            'countersdemo'
            'hardstop'
            'bangbang'
            'dblpend1'
            'dblpend2'
            'penddemo'
            'dblcart1'
            'thermo'
};

%=========================
%     Automotive
%=========================
n=n+1;
simList(n).Name='Automotive';

simList(n).Help= ...
           {' Simulink, Stateflow and the Real Time Workshop represent '
            ' the industry standard toolset in the automotive field.  '
            ' The models that you will see in this area showcase the '
            ' use of MathWorks tools in various automotive applications.'};

simList(n).DemoList = {
            'Engine timing simulation  '
            'Engine timing with closed loop control'
            'Clutch lock-up simulation'
            'Anti-Lock Brake System'
            'Automotive Suspension'
            'Hydraulic System Models'
};

simList(n).FcnList = {
            'engine'
            'enginewc'
            'clutch'
            'absbrake'
            'suspn'
            'hydcyl'
};

sfExist = exist('sfinfo.m','file');
if sfExist,
    sfItems    = sfinfo('auto');
    sfDemoList = sfItems{1};
    sfFcnList  = sfItems{2};

    simList(n).DemoList = [
       simList(n).DemoList
       sfDemoList];

    simList(n).FcnList = [
       simList(n).FcnList
       sfFcnList];
end

%=========================
%     Aerospace
%=========================
n=n+1;
simList(n).Name='Aerospace';

simList(n).Help= ...
           {' Simulink, Stateflow and the Real Time Workshop represent '
            ' the industry standard toolset in the aerospace field.  '
            ' The models that you will see in this area showcase the '
            ' use of MathWorks tools in various aerospace applications.'};

simList(n).DemoList = {
        'F-14 flight control simulation'
        'F-14 digital flight control simulation'
        'Six degrees of freedom motion platform'
        'Missile airframe trim and linearize demonstration'
        'Radar tracking demonstration'
        'Aerospace block library'
        'Generating an optical image'
        'Hydraulic System Models'
};

non_student_demos = {
        'Lunar Module digital autopilot'
        'Three degrees of freedom guided missile simulation'
};

simList(n).FcnList = {
            'f14'
            'f14_digdemo'
            'six_dof'
            'guidance_airframe'
            'radmod'
            'aerospace'
            'pointer_tracker'
            'hydcyl'
};

non_student_fcns = {
            'dap3dof'
            'guidance'
};

if ~isstudent
  simList(n).DemoList = [ simList(n).DemoList; non_student_demos ];
  simList(n).FcnList  = [ simList(n).FcnList;  non_student_fcns  ];
end

sfExist = exist('sfinfo.m','file');
if sfExist,
    sfItems    = sfinfo('aero');
    sfDemoList = sfItems{1};
    sfFcnList  = sfItems{2};

    simList(n).DemoList = [
       simList(n).DemoList
       sfDemoList];

    simList(n).FcnList = [
       simList(n).FcnList
       sfFcnList];
end




