0001 function g_saveresult(block)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 setup(block);
0013
0014
0015 function setup(block)
0016
0017
0018
0019
0020 block.NumDialogPrms = 0;
0021
0022
0023 block.NumInputPorts = 1;
0024 block.NumOutputPorts = 1;
0025
0026
0027 block.SetPreCompInpPortInfoToDynamic;
0028 block.SetPreCompOutPortInfoToDynamic;
0029
0030 block.InputPort(1).DirectFeedthrough = true;
0031 block.InputPort(1).DatatypeID = 0;
0032 block.InputPort(1).Complexity = 0;
0033
0034 block.OutputPort(1).DatatypeID = 0;
0035 block.OutputPort(1).Complexity = 0;
0036
0037 block.SampleTimes = [0 0];
0038 block.SetAccelRunOnTLC(false);
0039
0040
0041 block.RegBlockMethod('SetInputPortSamplingMode',@SetInpPortFrameData);
0042 block.RegBlockMethod('SetInputPortDimensions', @SetInpPortDims);
0043 block.RegBlockMethod('SetOutputPortDimensions', @SetOutPortDims);
0044 block.RegBlockMethod('Outputs', @Outputs);
0045
0046 function SetInpPortFrameData(block, idx, fd)
0047 block.InputPort(1).SamplingMode = fd;
0048 block.OutputPort(1).SamplingMode = fd;
0049
0050 function SetInpPortDims(block, idx, di)
0051 block.InputPort(idx).Dimensions = di;
0052
0053 function SetOutPortDims(block, idx, di)
0054 block.OutputPort(idx).Dimensions = di;
0055
0056
0057
0058 function Outputs(block)
0059 global LTPDAinvar LTPDAoutvar
0060
0061
0062 lastChar = get(findobj('Name','LTPDA Progress Bar'),'CurrentCharacter');
0063 if ~isempty(lastChar) && strcmp(lastChar,'x')
0064 set_param(bdroot, 'SimulationCommand', 'stop')
0065 return
0066 end
0067
0068 y = numel(block.InputPort(1).Data);
0069 for j=1:y
0070 yy = numel(LTPDAinvar{block.InputPort(1).Data(j)});
0071 if yy >1
0072 for jj=1:yy
0073 LTPDAoutvar = [LTPDAoutvar;{LTPDAinvar{block.InputPort(1).Data(j)}(jj)}];
0074 end
0075 else
0076 LTPDAoutvar = [LTPDAoutvar;{LTPDAinvar{block.InputPort(1).Data(j)}}];
0077 end
0078 end
0079
0080
0081
0082 block.OutputPort(1).Data = block.InputPort(1).Data;
0083
0084
0085