%Programa para gerar gráficos automaticamente
%AtlasCar

clc;clear all;close all;

% data=dlmread('Data_1_rpm.txt');
% show_graph=[0 0 0 0 0 1];

% data=dlmread('Data_2_rpm.txt');
% show_graph=[0 0 0 0 0 1];

% data=dlmread('Data_3_volante.txt');
% show_graph=[0 0 0 1 0 0];

data=dlmread('Data_4_volante.txt');
show_graph=[0 0 0 1 0 0];

time=data(:,1)-data(1,1);
throttle=data(:,2);
brake=data(:,3);
clutch=data(:,4);
steering_wheel=data(:,5);
speed=data(:,6);
rpm=data(:,7);
% rpm(225:end)=0;%data1
% rpm(156:end)=0;%data2


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Definir quais gráficos apresentar%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%show_graph=[0 0 0 1 0 0];        %%
 show_anime=[1 0 0 0 0 0];        %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%Gráfico da Borboleta
if show_graph(1)==1
    
    figure(1)
    plot(time,throttle)
    axis([min(time) max(time) min(throttle) max(throttle) ])
    title('Gráfico da posição da borboleta')
    xlabel('Tempo [s]')
    ylabel('Posição da borboleta')
    
end

%Gráfico do pedal do Travão
if show_graph(2)==1

    figure(2)
    plot(time,brake)
    axis([min(time) max(time) -2 2 ])
    title('Gráfico da posição do pedal do travão')
    xlabel('Tempo [s]')
    ylabel('Posição do pedal do travão')
    
end

%Gráfico do pedal da embraiagem
if show_graph(3)==1
    
    figure(3)
    plot(time,clutch)
    axis([min(time) max(time) -2 2 ])
    title('Gráfico da posição do pedal da embraiagem')
    xlabel('Tempo [s]')
    ylabel('Posiçãodo pedal da embraiagem')

end

%Gráfico do Volante
if show_graph(4)==1

    figure(4)
    plot(time,steering_wheel)
    axis([min(time) max(time) min(steering_wheel) max(steering_wheel) ])
    title('Gráfico da posição do volante')
    xlabel('Tempo [s]')
    ylabel('Posição do volante')

end

%Gráfico da velocidade do veículo
if show_graph(5)==1

    figure(5)
    plot(time,speed)
    axis([min(time) max(time) -50 50 ])
    title('Gráfico da velocidade do veículo')
    xlabel('Tempo [s]')
    ylabel('Velocidade do veículo')

end

%Gráfico das RPM do motor
if show_graph(6)==1
    
    figure(6)
    plot(time,rpm)
    axis([min(time) 15 0 5000 ])
    title('Gráfico da RPM do motor')
    xlabel('Tempo [s]')
    ylabel('RPM do motor')

end

%%%%%%%%%%%%%
% Animações %
%%%%%%%%%%%%%

%Animação da Borboleta
if show_anime(1)==1
    
    %Vídeo
%     mov=avifile('rpm_data1.avi','compression', 'Cinepak');%Windos Vista
    
    i=2;
    
    vid=figure(7);
    xmin=min(time);
    xmax=max(time);
    ymin=-0.55;
    ymax=0.55;
   pause()
    tic

    while(i<=size(time,1))

       if(toc>=time(i))
           plot(time(1:i),steering_wheel(1:i));
           axis([xmin xmax ymin ymax])
           title('Gráfico da posição do volante')
           xlabel('Tempo [s]')
           ylabel('Posição do Volante')
    
           %Vídeo
%            frame=getframe(vid);
%            mov=addframe(mov,frame);
%            
           pause(0.00000000000001)
           i=i+1;
       end


    end
    
    
%     %debug
%     disp(time(363))
    toc


%Compilar o vídeo
% mov=close(mov);

end

