clear; format compact; clf(figure(1))

%% options
% filename = 'Datalog.txt';
filename = 'Datalog_Tend_6.46.txt';

%% settings
path  = 'C:/Users/S137552/Documents/Arduino/test/';
delim = ' ';
in2 = true; %audio and envelope input
sst = true; %sample speed test

%% script
%acquire datas
x = importdata([path filename],delim, 1);
tijd = x.data(:,1);
audio = x.data(:,2);
if in2
    envelope = x.data(:,3);
end

%us overflow correction
T1 = find(diff(tijd)<0,1,'last');
while T1;
    tijd(T1+1:end) = tijd(T1+1:end) + 2^32;
    T1 = find(diff(tijd)<0,1,'last');
end


T0=tijd(end)/1e6;
f0=1/T0;

fs=length(tijd)/T0
Ts=1/fs;
f=-fs/2:f0:fs/2-f0;

N=max(size(tijd));
% N = N - mod(N,2);

if N/fs < 600
    tc = 1e6;
    label = 'tijd [s]';
elseif N/fs < 3 * 3600
    tc = 60*1e6;
    label = 'tijd [min]';
else
    tc = 3600*1e6;
    label = 'tijd [h]';
end

%input 1
Xa=fft(audio);
X2a=Ts*[Xa(floor(N/2)+1:N); Xa(1:floor(N/2))];

subplot(2,1+in2,1)
plot(tijd/tc,audio*5/1024)
xlabel(label)
ylabel('audio [V]')

subplot(2,1+in2,2+in2)
plot(f,abs(X2a))
axis([0.01 fs/2 0 60])
xlabel('frequentie [Hz]')
ylabel('amplitude')


% input 2
if in2
    Xe=fft(envelope);
    X2e=Ts*[Xe(floor(N/2)+1:N); Xe(1:floor(N/2))];

    subplot(2,2,2)
    plot(tijd/tc,envelope*5/1024)
    xlabel('1+two_in')
    ylabel('envelope [byte]')

    subplot(2,2,4)
    plot(f,abs(X2e))
    axis([0.01 fs/2 0 60])
    xlabel('frequentie [Hz]')
    ylabel('amplitude')
end

% sample speed test
if sst
    len = sum(ceil(log10(x.data)),2) + 9 + 1*in2;
    figure(2)
    subplot(2,1,1)
    plot(diff(tijd))
    xlabel('sample [-]')
    ylabel('sample_time [{\mu}s]')

    subplot(2,1,2)
    plot(len(1:end-1),diff(tijd))
    xlabel('string length')
    ylabel('sample_time [{\mu}s]')
end