% Funzione che converte i dati grezzi in dati di accelerazione usando i 
% valori delle calibrazioni per i Tilt Link
% accTL raccoglie le accelerazioni
% magTL raccoglie i dati di campo magnetico

function [accRL,magRL,ris_acc_RL,ris_mag_RL,T_RL] = conv_grezziRL_Dati(...
    rRL,accRL,magRL,tempRL,DCalRLTot,FileName)

% Spacchetto
caX_RL = DCalRLTot(:,1);
caY_RL = DCalRLTot(:,4);
caZ_RL = DCalRLTot(:,7);
pIntX_RL = DCalRLTot(:,2);
pIntY_RL = DCalRLTot(:,5);
pIntZ_RL = DCalRLTot(:,8);
iIntX_RL = DCalRLTot(:,3);
iIntY_RL = DCalRLTot(:,6);
iIntZ_RL = DCalRLTot(:,9); 
caT_RL = DCalRLTot(:,10);
intT_RL = DCalRLTot(:,11);

%% Magnetometri
for ii=1:3*rRL
    magRL(:,ii) = magRL(:,ii)/1000; % 1000 Gauss
end
clear ii

%% Accelerometri
cont = 1;
cn = 1; 
% Contatore dei nodi, corregge le accelerazioni con le calibrazioni
for ii=1:3*rRL
    if cont==1
       accRL(:,ii) = accRL(:,ii)*caX_RL(cn)+(tempRL(:,cn)*pIntX_RL(cn)+iIntX_RL(cn));
       cont = cont+1;
    elseif cont==2
           accRL(:,ii) = accRL(:,ii)*caY_RL(cn)+(tempRL(:,cn)*pIntY_RL(cn)+iIntY_RL(cn));
           cont = cont+1;
    else
        accRL(:,ii) = accRL(:,ii)*caZ_RL(cn)+(tempRL(:,cn)*pIntZ_RL(cn)+iIntZ_RL(cn));
        cont = 1;
        cn = cn+1;
    end
end


%% Conversione delle temperature
[rT,~] = size(tempRL);
T_RL = zeros(rT,1);

for t = 1:rRL
    T_RL(:,t) = tempRL(:,t)*caT_RL(t,1) + intT_RL(t,1);
end

%% Calcolo della risultante
[rAcc,cAcc] = size(accRL);
[rMag,cMag] = size(magRL);

ris_acc_RL = zeros(rAcc,cAcc/3); % matrice risultante accelerazioni
ris_mag_RL = zeros(rMag,cMag/3); % matrice risultante campi magnetici

clear i
clear ii
clear cont
clear cn
cont = 1; % contatore
cn = 0;
n = 1;

for ii = 1:cAcc % colonne
    if n == 4
        n = 1;
    end
    for i = 1:rAcc % righe
        ris_acc_RL(i,cont) = (accRL(i,cn*3+1)^2+accRL(i,cn*3+2)^2+accRL(i,cn*3+3)^2)^0.5;
        ris_mag_RL(i,cont) = (magRL(i,cn*3+1)^2+magRL(i,cn*3+2)^2+magRL(i,cn*3+3)^2)^0.5;
    end
    if n == 3
        cn = cn+1;
        cont = cont+1;
    end
    n = n+1;
end

text = 'Raw Data of Radial Link converted into physycal units correctly';
fileID = fopen(FileName,'a');
fmt = '%s \r';
fprintf(fileID,fmt,text);
fclose(fileID);

end
