% funzione che definisce i dati per la Cella di Pressione, in particolare
% tempo (TimePL) e Dato 

function [TimePL,Pressure,ErrPressureLink] = defDatiPL(DatiPressureLink,...
    ErrPressureLink,Ndatidespike,rPrL,FileName)

fileID = fopen(FileName,'a');
fmt = '%s \r';
text = 'defDatiPL function started';
fprintf(fileID,fmt,text);

[r,c] = size(DatiPressureLink);
Ncorr = 0;
% Elimino gli eventuali Not a Number
for a = 2:r
    for b = 2:c
        check = isnan(DatiPressureLink(a,b));
        if check == 1
            DatiPressureLink(a,b) = DatiPressureLink(a-1,b);
            ErrPressureLink(a,b-1) = 1;
            Ncorr = Ncorr+1;
        end
    end
end

text = ['' num2str(Ncorr) ' NaN of Pressure Link corrected by defDatiPL function'];
fprintf(fileID,fmt,text);

TimePL = DatiPressureLink(:,1); % data
Pressure = DatiPressureLink(:,2:end);

Num_Dati = Ndatidespike; % numero di dati per il despike
if Num_Dati > r
    Num_Dati = r;
end
for i = 1:rPrL
    % despiking
    Pressure(1:end-1,i) = filloutliers(Pressure(1:end-1,i),'linear','movmedian',Num_Dati);      
end

text = 'Data of Pressure Link defined correctly. defDatiPL function closed';
fprintf(fileID,fmt,text);
fclose(fileID);
end