%% funzione che attiva/disattiva l'elaborazione per una determinata tipologia di nodo
% Ad esempio se la matrice Tilt Link è vuota i Tilt Link non sono presenti
% e si scrive yesTL = 0, altrimenti se ci sono dei dati, yesTL = 1 e ne
% viene attivata l'elaborazione nelle fasi successive

function [yesTL,yesTLHR,yesTLHR3D,yesTLH,yesTLHRH,yesTLHR3DH,yesPL,yesBL,...
    yesThL,yesAL,yesLL,yesKL,yesKLHR,yesRL,yesPT100,yesIPL,yesIPLHR,yesIPLHR3D,...
    yesWL,yesPE,NodoPiezoLink,yesWI,yesHD,yesHDVR,yesSPP,yesSL] = YesNo(NodoTiltLink,NodoTiltLinkHR,...
    NodoTiltLinkHR3D,NodoTiltLinkH,NodoTiltLinkHRH,NodoTiltLinkHR3DH,NodoPiezoLink,...
    NodoBaroLink,NodoThermLink,NodoAnalogLink,NodoLoadLink,NodoKlinoLink,NodoKlinoLinkHR,...
    NodoRainLink,NodoPT100Link,NodoInPlaceLink,NodoInPlaceLinkHR,NodoInPlaceLinkHR3D,...
    NodoWeirLink,NodoPendulum,NodoWind,NodoTiltLinkHD,NodoTiltLinkHDVR,NodoSPPLink,NodoSnowLink,FileName)

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

%% Tilt Link V
[rTL,cTL] = size(NodoTiltLink); 
if  rTL==0 && cTL==0
    yesTL = 0; % Non elaboro i Tilt Link
else
    yesTL = 1; % attiva l'elaborazione dei Tilt Link
end

%% Tilt Link HR V
[rTLHR,cTLHR] = size(NodoTiltLinkHR);
if  rTLHR==0 && cTLHR==0
    yesTLHR = 0; % Non elaboro i Tilt Link HR
else
    yesTLHR = 1; % attiva l'elaborazione dei Tilt Link HR
end

%% Tilt Link H
[rTLH,cTLH] = size(NodoTiltLinkH); 
if  rTLH==0 && cTLH==0
    yesTLH = 0; % Non elaboro i Tilt Link H
else
    yesTLH = 1; % attiva l'elaborazione dei Tilt Link H
end

%% Tilt Link HR H
[rTLHRH,cTLHRH] = size(NodoTiltLinkHRH);
if  rTLHRH==0 && cTLHRH==0
    yesTLHRH = 0; % Non elaboro i Tilt Link HR H
else
    yesTLHRH = 1; % attiva l'elaborazione dei Tilt Link HR H
end

%% Piezo Link
[rPL,cPL] = size(NodoPiezoLink);
if  rPL==0 && cPL==0
    yesPL = 0; % Non elaboro i Piezo Link
    NodoPiezoLink = zeros(1,4);
else
    yesPL = 1; % attiva l'elaborazione dei Piezo Link
end

%% Baro Link
[rBL,cBL] = size(NodoBaroLink);
if  rBL==0 && cBL==0
    yesBL = 0; % Non elaboro i Baro Link
else
    yesBL = 1; % attiva l'elaborazione dei Baro Link
end

%% Analog Link
[rAL,cAL] = size(NodoAnalogLink);
if  rAL==0 && cAL==0
    yesAL = 0; % Non elaboro gli Analog Link
else
    yesAL = 1; % attiva l'elaborazione degli Analog Link
end

%% Therm Link
[rThL,cThL] = size(NodoThermLink);
if  rThL==0 && cThL==0
    yesThL = 0; % Non elaboro i Settle Link
else
    yesThL = 1; % attiva l'elaborazione dei Settle Link
end

%% Load Link
[rLL,cLL] = size(NodoLoadLink);
if  rLL==0 && cLL==0
    yesLL = 0; % Non elaboro i Load Link
else
    yesLL = 1; % attiva l'elaborazione dei Load Link
end

%% Tilt Link HR3D
[rTLHR3D,cTLHR3D] = size(NodoTiltLinkHR3D);
if  rTLHR3D==0 && cTLHR3D==0
    yesTLHR3D = 0; % Non elaboro i Tilt Link HR
else
    yesTLHR3D = 1; % attiva l'elaborazione dei Tilt Link HR
end

%% Tilt Link HR3D H
[rTLHR3DH,cTLHR3DH] = size(NodoTiltLinkHR3DH);
if  rTLHR3DH==0 && cTLHR3DH==0
    yesTLHR3DH = 0; % Non elaboro i Tilt Link HR H
else
    yesTLHR3DH = 1; % attiva l'elaborazione dei Tilt Link HR H
end

%% Klino Link
[rKL,cKL] = size(NodoKlinoLink);
if  rKL==0 && cKL==0
    yesKL = 0; % Non elaboro i Klino Link
else
    yesKL = 1; % attiva l'elaborazione dei Klino Link
end

%% Klino Link HR
[rKLHR,cKLHR] = size(NodoKlinoLinkHR);
if  rKLHR==0 && cKLHR==0
    yesKLHR = 0; % Non elaboro i Klino Link HR
else
    yesKLHR = 1; % attiva l'elaborazione dei Klino Link HR
end

%% Rain Link
[rRL,cRL] = size(NodoRainLink);
if  rRL==0 && cRL==0
    yesRL = 0; % Non elaboro i Rain Link
else
    yesRL = 1; % attiva l'elaborazione dei Rain Link
end

%% PT100 Link
[rPT100,cPT100] = size(NodoPT100Link);
if  rPT100==0 && cPT100==0
    yesPT100 = 0; % Non elaboro i PT100 Link
else
    yesPT100 = 1; % attiva l'elaborazione dei PT100 Link
end

%% In Place Link
[rIPL,cIPL] = size(NodoInPlaceLink); 
if  rIPL==0 && cIPL==0
    yesIPL = 0; % Non elaboro In Place Link
else
    yesIPL = 1; % attiva l'elaborazione dei In Place Link
end

%% In Place Link HR
[rIPLHR,cIPLHR] = size(NodoInPlaceLinkHR); 
if  rIPLHR==0 && cIPLHR==0
    yesIPLHR = 0; % Non elaboro In Place Link HR
else
    yesIPLHR = 1; % attiva l'elaborazione dei In Place Link HR
end

%% In Place Link HR 3D
[rIPLHR3D,cIPLHR3D] = size(NodoInPlaceLinkHR3D); 
if  rIPLHR3D==0 && cIPLHR3D==0
    yesIPLHR3D = 0; % Non elaboro In Place Link HR
else
    yesIPLHR3D = 1; % attiva l'elaborazione dei In Place Link HR
end

%% Weir Link
[rWL,cWL] = size(NodoWeirLink); 
if  rWL==0 && cWL==0
    yesWL = 0; % Non elaboro Weir Link
else
    yesWL = 1; % attiva l'elaborazione dei Weir Link
end

%% Pendulum
[rPE,cPE] = size(NodoPendulum); 
if  rPE==0 && cPE==0
    yesPE = 0; % Non elaboro Pendulum
else
    yesPE = 1; % attiva l'elaborazione dei Pendulum
end

%% Wind Link
[rWI,cWI] = size(NodoWind); 
if  rWI==0 && cWI==0
    yesWI = 0; % Non elaboro Wind Link
else
    yesWI = 1; % attiva l'elaborazione
end

%% Tilt Link HD
[rHD,cHD] = size(NodoTiltLinkHD); 
if  rHD==0 && cHD==0
    yesHD = 0; % Non elaboro 
else
    yesHD = 1; % attiva l'elaborazione
end

%% Tilt Link HD VR
[rHDVR,cHDVR] = size(NodoTiltLinkHDVR); 
if  rHDVR==0 && cHDVR==0
    yesHDVR = 0; % Non elaboro 
else
    yesHDVR = 1; % attiva l'elaborazione
end

%% SPP Link
[rSP,cSP] = size(NodoSPPLink);
if  rSP==0 && cSP==0
    yesSPP = 0; % Non elaboro gli SPP Link
else
    yesSPP = 1; % attiva l'elaborazione degli SPP Link
end

%% Snow Link
[rSL,cSL] = size(NodoSnowLink);
if  rSL==0 && cSL==0
    yesSL = 0; % Non elaboro
else
    yesSL = 1; % attiva l'elaborazione
end

text = 'Activation parameters for the elaboration defined correctly. YesNo function ended';
fprintf(fileID,fmt,text);
fclose(fileID);
end