From 22dd005e01542423cf50983c69cd5faf1d325702 Mon Sep 17 00:00:00 2001
From: Federico Felici <federico.felici@epfl.ch>
Date: Tue, 3 Dec 2019 15:27:09 +0100
Subject: [PATCH] Add open(node,thread)

---
 code/classes/SCDclass_expcode.m | 22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/code/classes/SCDclass_expcode.m b/code/classes/SCDclass_expcode.m
index ee4ef4b..c23d66c 100644
--- a/code/classes/SCDclass_expcode.m
+++ b/code/classes/SCDclass_expcode.m
@@ -175,7 +175,11 @@ classdef SCDclass_expcode
              rtwbuild(mynodeslx{1});
         end
       end
-       
+      
+      function threadslx = getthreadslx(inode,icpu)
+        threadslx = sprintf('SCD_rtccode_%02d_%02d',inode,icpu);
+      end
+      
       function setcachefolder(obj)
         %% Set Cache Folder for experimental code (avoid conflicts with other tmp files)
         CacheFolder = fullfile(fileparts(mfilename('fullpath')),'..','..',...
@@ -582,8 +586,18 @@ classdef SCDclass_expcode
           sim('tcv')
         end  
         
-        function open(obj)
-          open('tcv');
+        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
+          open(openslx);
         end
         
         function build(obj)
@@ -596,7 +610,7 @@ classdef SCDclass_expcode
              for icpu = 1:nodeinfo.ncpu
                if nodeinfo.cpuactive(icpu)
                  compileslx_list = [compileslx_list,...
-                   sprintf('SCD_rtccode_%02d_%02d',inode,icpu)]; %#ok<AGROW>
+                   SCDclass_expcode.getthreadslx(node,cpu)]; %#ok<AGROW>
                end
              end
            end
-- 
GitLab