% Funzione che definisce le attivazioni di fine corsa per i nodi di tipo Trigger Link function [ARRAYdateSS,val_SS,ErrShockSensor] = defDatiSS(DatiShockSensor,... ErrShockSensor,rSS,FileName) fileID = fopen(FileName,'a'); fmt = '%s \r'; text = 'defDatiSS function started'; fprintf(fileID,fmt,text); [r,c]=size(DatiShockSensor); Ncorr = 0; % Elimino gli eventuali Not a Number for a = 2:r for b = 1:c check = isnan(DatiShockSensor(a,b)); if check == 1 DatiShockSensor(a,b) = DatiShockSensor(a-1,b); ErrShockSensor(a,b) = 1; Ncorr = Ncorr+1; end end end text = ['' num2str(Ncorr) ' NaN of Shock Sensor corrected by defDatiSS function']; fprintf(fileID,fmt,text); [r,~] = size(DatiShockSensor); TimeSS = DatiShockSensor(:,1); % data val_SS = zeros(r,rSS); % dati shock sensor i = 1; while i <= rSS for j = 1:r if DatiShockSensor(j,1+i) == 1 || DatiShockSensor(j,1+i) == 2 || DatiShockSensor(j,1+i) == 3 if DatiShockSensor(j,1+i) == 1 val_SS(j,i) = 1; elseif j > 1 && DatiShockSensor(j,1+i) == 2 && DatiShockSensor(j-1,1+i) ~= 1 val_SS(j,i) = 1; elseif j > 1 && DatiShockSensor(j,1+i) == 3 && DatiShockSensor(j-1,1+i) ~= 1 && DatiShockSensor(j-1,1+i) ~= 2 val_SS(j,i) = 1; end else val_SS(j,i) = 0; end end i = i+1; end ARRAYdateSS = TimeSS; text = 'Data of Shock Sensor defined correctly'; fprintf(fileID,fmt,text); fclose(fileID); end