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

ADC loader task class adapted for new node 07

parent 28372176
No related branches found
No related tags found
No related merge requests found
...@@ -51,7 +51,7 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task ...@@ -51,7 +51,7 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task
fprintf('\n'); fprintf('\n');
warning('SCDclass_taskmdsloadprevADC:init','Error initializing ADC bus for node %d.',obj.node); warning('SCDclass_taskmdsloadprevADC:init','Error initializing ADC bus for node %d.',obj.node);
end end
end end
function [obj, value] = getdata(obj,shot) function [obj, value] = getdata(obj,shot)
%obj=obj.actualizegetcmd('mdsvalue(''%s'')', shot); %obj=obj.actualizegetcmd('mdsvalue(''%s'')', shot);
...@@ -227,21 +227,23 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task ...@@ -227,21 +227,23 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task
function [obj, value] = getdataNode07(obj, shot, samppck) function [obj, value] = getdataNode07(obj, shot, samppck)
nch=96; nch=96;
if shot>70100 % TODO, wrong shotno here if shot>=70145 % first shot with new MARTe2 based node 07
mdsnodename='node07'; oldway=false;
else else
mdsnodename='crpprt07'; oldway=true;
end end
mdsopen('rtc',shot); mdsopen('rtc',shot);
%T=timeseries; if oldway
timebase=mdsvalue(['dim_of(\top.' mdsnodename '.board1.adc_01)']); timebase=mdsvalue(['dim_of(\top.crpprt07.board1.adc_01)']);
d_time = double(mdsvalueraw(['\top.' mdsnodename '.params:d_time']))*1.0e-6; d_time = double(mdsvalueraw(['\top.crpprt07.params:d_time']))*1.0e-6;
else
timebase=mdsvalue(['dim_of(\top.node07.adc.adc_001)']);
d_time = double(mdsvalueraw(['\top.node07.params:d_time']))*1.0e-6;
end
timebase = timebase(1:samppck:end); % TODO: is this safe against lost cycles ? timebase = timebase(1:samppck:end); % TODO: is this safe against lost cycles ?
%timebase = round(timebase.*1/d_time)*d_time-d_time/2; %timebase = round(timebase.*1/d_time)*d_time-d_time/2;
timebase = round(timebase.*1/d_time)*d_time-d_time/100; timebase = round(timebase.*1/d_time)*d_time-d_time/100;
%timebase = timebase + d_time; % this fits perfectly sim/rt data on 68072 %timebase = timebase + d_time; % this fits perfectly sim/rt data on 68072
%T.Time=timebase;
%T.Data=zeros(numel(timebase),nch);
value = tscollection(timebase); value = tscollection(timebase);
if obj.verbose==1 if obj.verbose==1
fprintf('Getting data for bus: ''%s'' (%s, shot %d) 0%% ', obj.modelbus, obj.classname, shot); fprintf('Getting data for bus: ''%s'' (%s, shot %d) 0%% ', obj.modelbus, obj.classname, shot);
...@@ -249,10 +251,11 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task ...@@ -249,10 +251,11 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task
for ii=1:nch for ii=1:nch
T=timeseries; T=timeseries;
T.Time=timebase; T.Time=timebase;
channelstr=sprintf(['\\top.' mdsnodename '.board1.adc_%02d.raw'],ii); if oldway
%T.Data(:,ii)=int16(mdsvalue(channelstr)); channelstr=sprintf(['\\top.crpprt07.board1.adc_%02d.raw'],ii);
%T.Data(:,ii)=int16(mdsvalueraw(channelstr)); else
channelstr=sprintf(['\\top.node07.adc.adc_%03d.raw'],ii);
end
data=mdsvalueraw(channelstr); data=mdsvalueraw(channelstr);
if isnumeric(data) if isnumeric(data)
datamatrix=reshape(int16(data),[samppck,numel(timebase)])'; datamatrix=reshape(int16(data),[samppck,numel(timebase)])';
......
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