view m-toolbox/m/gui/gltpda/g_iplot.m @ 43:bc767aaa99a8

CVS Update
author Daniele Nicolodi <nicolodi@science.unitn.it>
date Tue, 06 Dec 2011 11:09:25 +0100
parents f0afece42f48
children
line wrap: on
line source

function g_iplot(block)

%             This is the automatic function wrapper
% =================================================================
% ================ level-2 M file S-function ======================
% =================================================================
% To save as standalone variable(s) into global shared workspace the AO(s)
% received as input from the corresponding block, executed in Simulink.
%
%  $Id: g_iplot.m,v 1.1 2008/03/01 13:43:20 nicola Exp $

setup(block);
  
%%
function setup(block)
global LTPDAinvar;

  %% Register dialog parameter: none, because they're retrieved directly
  %% from the memory. This will prevent the user to modify the parameters
  %% outside the proper parameters panel:
  block.NumDialogPrms = 0;

  %% Register number of input and output ports
  block.NumInputPorts  = 1;
  block.NumOutputPorts = 1;

  %% Setup functional port properties to dynamically inherited.
  block.SetPreCompInpPortInfoToDynamic;
  block.SetPreCompOutPortInfoToDynamic;
  
  block.InputPort(1).DirectFeedthrough = true;
  block.InputPort(1).DatatypeID = 0;
  block.InputPort(1).Complexity = 0;
% block.InputPort(1).Dimensions = 2;
  block.OutputPort(1).DatatypeID = 0;
  block.OutputPort(1).Complexity = 0;
% block.OutputPort(1).Dimensions = 1;
  block.SampleTimes = [0 0];
  block.SetAccelRunOnTLC(false);
 
  %% Register methods
  block.RegBlockMethod('SetInputPortSamplingMode',@SetInpPortFrameData);
  block.RegBlockMethod('SetInputPortDimensions',  @SetInpPortDims);
  block.RegBlockMethod('SetOutputPortDimensions', @SetOutPortDims);
  block.RegBlockMethod('Outputs',                 @Outputs);
  
  function SetInpPortFrameData(block, idx, fd)
  block.InputPort(1).SamplingMode = fd;
  block.OutputPort(1).SamplingMode = fd;

  function SetInpPortDims(block, idx, di)
  block.InputPort(idx).Dimensions = di;

  function SetOutPortDims(block, idx, di)
  block.OutputPort(idx).Dimensions = di;


%%
function Outputs(block)
global LTPDAinvar

% figure
hold on
switch length(block.InputPort(1).Data)
    case 1
        iplot(LTPDAinvar{block.InputPort(1).Data});
    case 2
        iplot(LTPDAinvar{block.InputPort(1).Data(1)},LTPDAinvar{block.InputPort(1).Data(2)});
    case 3
        iplot(LTPDAinvar{block.InputPort(1).Data(1)},LTPDAinvar{block.InputPort(1).Data(2)},LTPDAinvar{block.InputPort(1).Data(3)});
    case 4
        iplot(LTPDAinvar{block.InputPort(1).Data(1)},LTPDAinvar{block.InputPort(1).Data(2)},LTPDAinvar{block.InputPort(1).Data(3)},LTPDAinvar{block.InputPort(1).Data(4)});
end

% %========================================================================

   block.OutputPort(1).Data = block.InputPort(1).Data;

%endfunction