]> rtime.felk.cvut.cz Git - pes-rpp/rpp-simulink.git/blob - rpp/demos/rpp_demos_set_tg.m
Change license to MIT
[pes-rpp/rpp-simulink.git] / rpp / demos / rpp_demos_set_tg.m
1 % Copyright (C) 2013-2014 Czech Technical University in Prague
2 %
3 % Authors:
4 %     - Michal Horn <hornmich@fel.cvut.cz>
5 %
6 % Permission is hereby granted, free of charge, to any person
7 % obtaining a copy of this software and associated documentation
8 % files (the "Software"), to deal in the Software without
9 % restriction, including without limitation the rights to use,
10 % copy, modify, merge, publish, distribute, sublicense, and/or sell
11 % copies of the Software, and to permit persons to whom the
12 % Software is furnished to do so, subject to the following
13 % conditions:
14
15 % The above copyright notice and this permission notice shall be
16 % included in all copies or substantial portions of the Software.
17
18 % THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19 % EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
20 % OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21 % NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
22 % HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23 % WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24 % FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25 % OTHER DEALINGS IN THE SOFTWARE.
26 %
27 % File : rpp_demos_set_tg.m
28 % Abstract:
29 %     Set target file for demo, preserving selected solver and
30 %     continuous time support
31 %
32 % References:
33 %     http://www.mathworks.com/help/matlab/ref/mex.html
34 %     http://www.mathworks.com/help/matlab/matlab_external/custom-building-mex-files.html
35
36
37 function rpp_demos_set_tg(varargin)
38         d = fullfile(getpref('rpp', 'TargetRoot'), '..', 'demos');
39         cd(d)
40         
41         if nargin > 1,
42                 reqTarget = varargin{1};
43                 demos_set_tg(reqTarget, varargin)
44         else
45                 error('Not enough arguments for the function.');
46         end
47
48 function demos_set_tg(reqTg, files)
49         for i=2:length(files),
50                 disp(['Processing system: ', files{i}]);
51                 load_system(files{i});
52                 continuousTime = get_param(files{i}, 'SupportContinuousTime');
53                 solver = get_param(files{i}, 'Solver');
54                 disp(['    Set SystemTargetFile to ', reqTg, ' with continuousTime ', continuousTime, ' and solver ', solver]);
55                 set_param(files{i}, 'SystemTargetFile', reqTg);
56                 set_param(files{i}, 'SupportContinuousTime', continuousTime);
57                 set_param(files{i}, 'Solver', solver);
58                 disp('    Saving and closing model.');
59                 close_system(files{i}, 1);
60         end
61