From 8ed7d02cc3b51d31484f8bf9d0d4ba405d8db539 Mon Sep 17 00:00:00 2001
From: Cristian Galperti <cristian.galperti@epfl.ch>
Date: Tue, 23 Apr 2019 11:47:47 +0200
Subject: [PATCH] F4E example runs on standard MDS+/Matlab interface

Standard Java based MDS+/Matlab interface tested
with the F4E example. Previously SPC mdsipmex based
interfaced was used, not suitable for a public
accessible example. NB: we do not know if
the Java interface is as optimized as the mdsipmex
one (i.e. if it uses a connection stack for example),
for for SPC usage we have to revert back to the
mdsipmex version or implement a connection
stack/ corrnection order in the SCDclass* objects.
---
 code/classes/SCDclass_mdswgsigarray1.m | 10 +++++++---
 code/classes/SCDclass_mdswgsigsingle.m |  9 ++++++---
 2 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/code/classes/SCDclass_mdswgsigarray1.m b/code/classes/SCDclass_mdswgsigarray1.m
index 1a05be9..28eb87d 100644
--- a/code/classes/SCDclass_mdswgsigarray1.m
+++ b/code/classes/SCDclass_mdswgsigarray1.m
@@ -110,9 +110,13 @@ classdef SCDclass_mdswgsigarray1 < SCDclass_mdswg
  
             for ii=1:numel(sourceidxs)
                mdschannel=sprintf(obj.tdiexpr,  sourceidxs(ii));
-               data=tdi(mdschannel);
-              
-               value.Data(:,ii)= single(interp1(data.dim{1},data.data,timebase,'linear',0));               
+               
+               %data=tdi(mdschannel);
+               %value.Data(:,ii)= single(interp1(data.dim{1},data.data,timebase,'linear',0));               
+            
+                dbdata=mdsvalue(mdschannel);
+                dbtime=mdsvalue(['dim_of(' mdschannel ')']);
+                value.Data = single(interp1(dbtime,dbdata,timebase,'linear',0))';
             end    
                 
         end
diff --git a/code/classes/SCDclass_mdswgsigsingle.m b/code/classes/SCDclass_mdswgsigsingle.m
index 9ce4a0b..b9c018a 100644
--- a/code/classes/SCDclass_mdswgsigsingle.m
+++ b/code/classes/SCDclass_mdswgsigsingle.m
@@ -90,9 +90,12 @@ classdef SCDclass_mdswgsigsingle < SCDclass_mdswg
             value.Time = timebase;
             value.Data = single(zeros(numel(timebase),1));
  
-            data=tdi(obj.tdiexpr);   
-            value.Data = single(interp1(data.dim{1},data.data,timebase,'linear',0))';
-                
+            %data=tdi(obj.tdiexpr);   
+            %value.Data = single(interp1(data.dim{1},data.data,timebase,'linear',0))';
+             
+            dbdata=mdsvalue(obj.tdiexpr);
+            dbtime=mdsvalue(['dim_of(' obj.tdiexpr ')']);
+            value.Data = single(interp1(dbtime,dbdata,timebase,'linear',0))';
         end
         
         
-- 
GitLab