Skip to content
Snippets Groups Projects
Commit 08675a76 authored by Cristian Galperti's avatar Cristian Galperti
Browse files

up to adc 01 loading via a task

but task location and datadict to be rethought
to be consistent with node 01, probably
parent 19d8dd99
No related branches found
No related tags found
No related merge requests found
...@@ -12,11 +12,13 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task ...@@ -12,11 +12,13 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task
function obj=SCDclass_taskmdsloadprevADC(id, varargin) function obj=SCDclass_taskmdsloadprevADC(id, varargin)
obj@SCDclass_task(id, varargin); obj@SCDclass_task(id, varargin);
obj.cparser.addRequired('modelbus',@(x) ischar(x)); obj.cparser.addRequired('modelbus',@(x) ischar(x));
obj.cparser.addParameter('node', 0, @(x) (isnumeric(x) && (x==2))); obj.cparser.addParameter('node', 0, @(x) (isnumeric(x) && ((x==1) || x==2)));
obj=obj.parseconstructorcommon(id, varargin); obj=obj.parseconstructorcommon(id, varargin);
obj.modelbus=obj.cparser.Results.modelbus; obj.modelbus=obj.cparser.Results.modelbus;
obj.node=obj.cparser.Results.node; obj.node=obj.cparser.Results.node;
switch(obj.node) switch(obj.node)
case 1
obj.workspacedatabasestructure='SCDsimdata.SCDnode01simdata.adc';
case 2 case 2
obj.workspacedatabasestructure='SCDsimdata.SCDnode02simdata.adc'; obj.workspacedatabasestructure='SCDsimdata.SCDnode02simdata.adc';
otherwise otherwise
...@@ -30,6 +32,8 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task ...@@ -30,6 +32,8 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task
mdsopen(obj.mdstree, shot); mdsopen(obj.mdstree, shot);
switch(obj.node) switch(obj.node)
case 1
obj.actualizeNode01(shot);
case 2 case 2
obj.actualizeNode02(shot); obj.actualizeNode02(shot);
end end
...@@ -40,6 +44,8 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task ...@@ -40,6 +44,8 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task
%value=eval(obj.getcommand); %value=eval(obj.getcommand);
switch(obj.node) switch(obj.node)
case 1
[~,value]=obj.getdataNode01ACQ196(shot);
case 2 case 2
if shot<65113 if shot<65113
[~,value]=obj.getdataNode02ACQ196(shot); %% Here we need to switch betweeen old and new acquisition unit and tcv standard also [~,value]=obj.getdataNode02ACQ196(shot); %% Here we need to switch betweeen old and new acquisition unit and tcv standard also
...@@ -64,6 +70,30 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task ...@@ -64,6 +70,30 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task
methods(Access = private) methods(Access = private)
function obj = actualizeNode01(obj, shot)
dd=SCDconf_getdatadict(obj.datadictionary);
adcbus=dd.getEntry(obj.modelbus).getValue;
[~,data]=obj.getdata(shot);
T=timeseries;
if obj.verbose==1
fprintf('Actualizing data for bus: ''%s'' (%s, shot %d) ', obj.modelbus, obj.classname, shot);
end
for ii=1:96
T.Time=data.Time;
T.Data=int16(data.Data(:,ii));
assignin('base','temp',T);
assigncmd=sprintf('%s.%s=temp;',obj.workspacedatabasestructure, adcbus.Elements(ii).Name);
evalin('base',assigncmd);
if obj.verbose==1 && mod(ii,4)==0
fprintf('.');
end
end
evalin('base','clear temp');
if obj.verbose==1
fprintf('\n');
end
end
function obj = actualizeNode02(obj, shot) function obj = actualizeNode02(obj, shot)
dd=SCDconf_getdatadict(obj.datadictionary); dd=SCDconf_getdatadict(obj.datadictionary);
adcbus=dd.getEntry(obj.modelbus).getValue; adcbus=dd.getEntry(obj.modelbus).getValue;
...@@ -87,7 +117,7 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task ...@@ -87,7 +117,7 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task
fprintf('\n'); fprintf('\n');
end end
end end
function [obj, value] = getdataNode02ACQ196(obj, shot) function [obj, value] = getdataNode02ACQ196(obj, shot)
T=timeseries; T=timeseries;
timebase=mdsvalue('dim_of(\top.crpprt02.board1.adc_01)'); %% TODO: check with marte timebase=mdsvalue('dim_of(\top.crpprt02.board1.adc_01)'); %% TODO: check with marte
...@@ -151,6 +181,34 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task ...@@ -151,6 +181,34 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task
fprintf('\n'); fprintf('\n');
end end
end end
function [obj, value] = getdataNode01ACQ196(obj, shot)
T=timeseries;
timebase=mdsvalue('dim_of(\top.crpprt01.board1.adc_01)'); %% TODO: check with marte
d_time = double(mdsvalueraw( '\top.crpprt01.params:d_time' ))*1.0e-6;
%timebase = round(timebase.*1/d_time)*d_time-d_time/2;
timebase = round(timebase.*1/d_time)*d_time-d_time/100;
T.Time=timebase;
T.Data=zeros(numel(timebase),96);
if obj.verbose==1
fprintf('Getting data for bus: ''%s'' (%s, shot %d) ', obj.modelbus, obj.classname, shot);
end
for ii=1:96
% Node 01 data are loaded in the stored order since
% up to now there is only old node 01
channelstr=sprintf('\\top.crpprt01.board1.adc_%02d.raw',physical2logical(ii));
T.Data(:,ii)=int16(mdsvalue(channelstr));
if obj.verbose==1 && mod(ii,4)==0
fprintf('.');
end
end
value=T;
if obj.verbose==1
fprintf('\n');
end
end
end end
end end
......
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