close all

% 5 segundos de captura
max_t=4;

% Sequencias de controlo
start='@';
eof='\n';
sep=',';

% Inicialização da comunicação
h=initcom(1,115200);

fprintf('Communication established!\n');

fprintf('Waiting for the # key...\n');
str='';
while (length(str)==0 || sum(str==start)==0)
    cportreset(h);
    str=cportgetline(h,-1,eof,-1);
end

% Leitura do periodo de aquisição
pos=[find(str==sep) length(str)];
ts=str2num(str(pos(end-1)+1:pos(end)))*1e-3

% Inicialização do array que conterá os dados
array=[];

input('Pressione ENTER...');
    
% Envio do caracter 'C' pela porta série
% Este comando indicará ao PIC que pode aplicar o degrau
nc=cportwrite(h,'C');
% Verificação do envio com sucesso
if (nc~=1)
    error('myfunction:teste','Error sending character to PIC');
end

for t=0:ts:max_t
    str=cportgetline(h,-1,eof,-1);
    
    if (sum(str=='&')>0)
        fprintf('%s',str);
        break
    end

    array=[array; t str2num(str)];
end

% Encerramento das comunicações
killcom(h);

fprintf('Done!\n');

% Salvaguarda dos resultados em ficheiro
save capture.txt array -ASCII -TABS
