55 lines
1.6 KiB
Matlab
Executable File
55 lines
1.6 KiB
Matlab
Executable File
% 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
|