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
function obj=SCDclass_taskmdsloadprevADC(id, varargin)
obj@SCDclass_task(id, varargin);
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.modelbus=obj.cparser.Results.modelbus;
obj.node=obj.cparser.Results.node;
switch(obj.node)
case 1
obj.workspacedatabasestructure='SCDsimdata.SCDnode01simdata.adc';
case 2
obj.workspacedatabasestructure='SCDsimdata.SCDnode02simdata.adc';
otherwise
......@@ -30,6 +32,8 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task
mdsopen(obj.mdstree, shot);
switch(obj.node)
case 1
obj.actualizeNode01(shot);
case 2
obj.actualizeNode02(shot);
end
......@@ -40,6 +44,8 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task
%value=eval(obj.getcommand);
switch(obj.node)
case 1
[~,value]=obj.getdataNode01ACQ196(shot);
case 2
if shot<65113
[~,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
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)
dd=SCDconf_getdatadict(obj.datadictionary);
adcbus=dd.getEntry(obj.modelbus).getValue;
......@@ -87,7 +117,7 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task
fprintf('\n');
end
end
function [obj, value] = getdataNode02ACQ196(obj, shot)
T=timeseries;
timebase=mdsvalue('dim_of(\top.crpprt02.board1.adc_01)'); %% TODO: check with marte
......@@ -151,6 +181,34 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task
fprintf('\n');
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
......
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