diff m-toolbox/m/gui/gltpda/g_iplot.m @ 0:f0afece42f48

Import.
author Daniele Nicolodi <nicolodi@science.unitn.it>
date Wed, 23 Nov 2011 19:22:13 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/m-toolbox/m/gui/gltpda/g_iplot.m	Wed Nov 23 19:22:13 2011 +0100
@@ -0,0 +1,80 @@
+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 
+