% Funzione che converte i dati grezzi dei Klino Link in dati di
% angoli (acc_KL)

function [ang_KLHR,temp_KLHR] = conv_grezziKLHR(ang_KLHR,temp_KLHR,rKLHR,...
    DCalKLHRTot,FileName)

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

caX_KLHR = DCalKLHRTot(:,1);
intX_KLHR = DCalKLHRTot(:,2);
caY_KLHR = DCalKLHRTot(:,3);
intY_KLHR = DCalKLHRTot(:,4);
caT_KLHR = DCalKLHRTot(:,5);
intT_KLHR = DCalKLHRTot(:,6);

[rA,~] = size(ang_KLHR);
i = 1;
m = 1;

% Contatore dei nodi, converte i punti ADC con le calibrazioni in valori
% angolari
while   i <= 2*rKLHR % nodo i
    ang_corr_colonna = zeros(rA,2);
    T = zeros(rA,1);
    for j = 1:rA % tutti i dati di una riga (data j)
        ang_corr_colonna(j,1) = ang_KLHR(j,i)*caX_KLHR(m,1)+intX_KLHR(m,1);
        ang_corr_colonna(j,2) = ang_KLHR(j,i+1)*caY_KLHR(m,1)+intY_KLHR(m,1);
        T(j,1) = temp_KLHR(j,m)*caT_KLHR(m,1)+intT_KLHR(m,1);
    end
    ang_KLHR(:,i) = ang_corr_colonna(:,1);
    ang_KLHR(:,i+1) = ang_corr_colonna(:,2);
    temp_KLHR(:,m) = T(:,1);
    i = i+2;
    m = m+1;
end

text = 'Raw Data of Klino Link HR converted into physical units correctly. conv_grezziKLHR function closed';
fprintf(fileID,fmt,text);
fclose(fileID);

end