diff --git a/code/classes/SCDclass_expcode.m b/code/classes/SCDclass_expcode.m index 454fbe226ed78e30b852f3b25b56d100620c4e3c..a80bba9794b41814ff116f04864bbfdd8e662051 100644 --- a/code/classes/SCDclass_expcode.m +++ b/code/classes/SCDclass_expcode.m @@ -175,7 +175,26 @@ classdef SCDclass_expcode rtwbuild(mynodeslx{1}); end end - + + function set_cache_folder(obj) + %% Set Cache Folder for experimental code (avoid conflicts with other tmp files) + CacheFolder = fullfile(fileparts(mfilename('fullpath')),'..','..',... + 'gencodes',sprintf('CacheFolder-%d',obj.maincode)); + fprintf('Setting Simulink Cache folder to %s\n',CacheFolder) + Simulink.fileGenControl('set',... + 'CacheFolder',CacheFolder,... + 'createdir',true); + end + + function set_codegen_folder(obj) + CodeGenFolder = fullfile(fileparts(mfilename('fullpath')),'..','..',... + 'gencodes',sprintf('CodeGenFolder-%d',obj.maincode)); + + fprintf(' ...Setting code generation folder to %s\n',CodeGenFolder) + Simulink.fileGenControl('set',... + 'CodeGenFolder',CodeGenFolder,... + 'createdir',true); + end end methods @@ -421,14 +440,10 @@ classdef SCDclass_expcode obj.buildworkspacesimstruct; obj.buildworkspacetpstruct; - %% Set Cache Folder for experimental code (avoid conflicts with other tmp files) - CacheFolder = fullfile(fileparts(mfilename('fullpath')),'..','..',... - 'gencodes',sprintf('CacheFolder-%d',obj.maincode)); - fprintf('Setting Simulink Cache folder to %s\n',CacheFolder) - Simulink.fileGenControl('set',... - 'CacheFolder',CacheFolder,... - 'createdir',true); - + % Set cache and codegen folders + SCDclass_expcode.setcachefolder(expcode); + SCDclass_expcode.setcodegenfolder(expcode); + end function actualize(obj, shot, varargin) @@ -591,14 +606,8 @@ classdef SCDclass_expcode return end - % set CodeGen folder for this expcode (allows fast rebuilding) - CodeGenFolder = fullfile(fileparts(mfilename('fullpath')),'..','..',... - 'gencodes',sprintf('CodeGenFolder-%d',obj.maincode)); - - fprintf(' ...Setting code generation folder to %s\n',CodeGenFolder) - Simulink.fileGenControl('set',... - 'CodeGenFolder',CodeGenFolder,... - 'createdir',true); + % set CodeGen folder for this expcode (allows fast rebuilding) + SCDclass_expcode.set_cogegen_colder(obj.maincode) % check env variable assert(~isempty(getenv('RTCCODE_LIBPATH')),'RTCCODE_LIBPATH environment variable needs to be defined to compile');