Skip to content
Snippets Groups Projects
Commit 6d563728 authored by Federico Felici's avatar Federico Felici
Browse files

LIUQE works now with RT data

parent 254a9c71
No related branches found
No related tags found
No related merge requests found
......@@ -176,8 +176,17 @@ classdef SCDclass_expcode
end
end
function threadslx = getthreadslx(inode,icpu)
threadslx = sprintf('SCD_rtccode_%02d_%02d',inode,icpu);
function myslx = getslx(inode,icpu)
if nargin==0
myslx = 'tcv';
elseif nargin==1
assert(isnumeric(inode))
myslx = sprintf('SCD_rtc_%02d',inode);
elseif nargin==2
myslx = sprintf('SCD_rtccode_%02d_%02d',inode,icpu);
else
error('invalid number of arguments');
end
end
function setcachefolder(obj)
......@@ -580,55 +589,55 @@ classdef SCDclass_expcode
fprintf("}\n");
end
function compile(obj)
function compile(~,varargin)
myslx = SCDclass_expcode.getslx(varargin{:});
fprintf('Compiling %s.slx\n',myslx)
try
tcv([],[],[],'compile');
tcv([],[],[],'term');
eval(sprintf('%s([],[],[],''compile'')',myslx));
eval(sprintf('%s([],[],[],''term'')',myslx));
catch ME
rethrow(ME)
end
end
function sim(obj)
SCDconf_setCODEconf('configurationSettingsCODEicc')
sim('tcv')
function sim(~,varargin)
SCDconf_setSIMconf
myslx = SCDclass_expcode.getslx(varargin{:});
fprintf('Simulating %s.slx\n',myslx)
sim(myslx)
end
function open(~,node,cpu)
if nargin==1
openslx = 'tcv';
elseif nargin==2
assert(isnumeric(node))
openslx = sprintf('SCD_rtc_%02d',node);
elseif nargin==3
openslx = SCDclass_expcode.getthreadslx(node,cpu);
else
error('invalid number of arguments');
end
function open(~,varargin)
openslx = SCDclass_expcode.getslx(varargin{:});
fprintf('Spening %s.slx\n',openslx)
open(openslx);
end
function build(obj)
fprintf('\n=== Building %s ===\n',obj.name);
function build(obj,varargin)
% make list of nodes to build
compileslx_list = cell(0);
for inode=1:8
nodeinfo=obj.(sprintf('node%02d',inode));
for icpu = 1:nodeinfo.ncpu
if nodeinfo.cpuactive(icpu)
compileslx_list = [compileslx_list,...
SCDclass_expcode.getthreadslx(node,cpu)]; %#ok<AGROW>
end
end
end
if isempty(compileslx_list)
fprintf('No active nodes found, no .slx to compile. Done\n');
return
end
if numel(varargin)==0
fprintf('\n=== Building all threads for %s ===\n',obj.name);
% make list of nodes to build
compileslx_list = cell(0);
for inode=1:8
nodeinfo=obj.(sprintf('node%02d',inode));
for icpu = 1:nodeinfo.ncpu
if nodeinfo.cpuactive(icpu)
compileslx_list = [compileslx_list,...
SCDclass_expcode.getthreadslx(node,cpu)]; %#ok<AGROW>
end
end
end
if isempty(compileslx_list)
fprintf('No active nodes found, no .slx to compile. Done\n');
return
end
else
% user passed nodes,threads to compile
myslx = SCDclass_expcode.getslx(varargin{:});
fprintf('building %s.slx\n',myslx)
end
% set CodeGen folder for this expcode (allows fast rebuilding)
SCDclass_expcode.setcodegenfolder(obj)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment