Adicionado recurso para receber parâmetros de protocolo basal e gerar...

Adicionado recurso para receber parâmetros de protocolo basal e gerar protocolos com esses parâmetros, compatível com software
parent 72a2a98f
Pipeline #2 failed with stages
......@@ -4,19 +4,21 @@
#include <avr/interrupt.h> //inclui biblioteca de interrupt
#include <stdlib.h> //inclui biblioteca padrao
#include <string.h> //inclui biblioteca de strings
#include <math.h>
//Variaveis globais
unsigned char protocol = 0;
//unsigned int H = 1000; //define largura de pulso (em us)
//unsigned char IPI = 3; //define intervalo entre pulsos (em ms)
unsigned int pulso=0;
unsigned int H = 200; //define largura de pulso (em us)
unsigned char IPI = 1; //define intervalo entre pulsos (em ms)
unsigned long int pulso=0;
unsigned char estado=1;
//unsigned int ITI = 1; //define intervalo entre trens de pulso (em s)
unsigned int ITI = 1; //define intervalo entre trens de pulso (em s)
unsigned int H = 5; //define largura de pulso (em ms)
unsigned char IPI = 5; //define intervalo entre pulsos (em ms)
//unsigned int H = 5; //define largura de pulso (em ms)
//unsigned char IPI = 5; //define intervalo entre pulsos (em ms)
unsigned int IEI = 200; //define intervalo entre epocas (em ms)
unsigned int ITI = 800; //define intervalo entre trens de epocas (em ms)
//unsigned int ITI = 800; //define intervalo entre trens de epocas (em ms)
const unsigned char n_pulso = 4;
const unsigned char n_epoca = 10;
unsigned int epoca = 0;
......@@ -378,36 +380,72 @@ void config_tbs_unipolar()
//Função principal:
int main()
{
int data1;
int data2;
char data[30];
pinMode( 22 , OUTPUT ); //define saída 22 do Arduino para indicação com LED de protocolos ligados/desligados
digitalWrite( 22, LOW);
Serial.begin(9600); //inicia comunicação serial
sei(); //reativa interrupts
while(1)
{
while(Serial.available()<2);
data1=Serial.read(); //lê dados recebidos na serial
data2=Serial.read();
if(data1 == 'p')
while(Serial.available()<30);
char i;
for(i=0; i<Serial.available(); i++)
{
data[i]=Serial.read(); //lê dados recebidos na serial
}
if(data[0] == 'p')
{
digitalWrite( 22 , HIGH );
if(data[1] == 'b')
{
digitalWrite( 22 , HIGH );
if(data2 == 'b')
protocol = 'b';
i=3;
int j=0;
char Tr[5];
char IPIr[3];
char ITIr[3];
while(isDigit(data[i]))
{
protocol = 'b';
config_basal_unipolar();
Tr[j]=data[i];
i++;
j++;
}
if(data2 == 't')
int comp = j;
j=0;
H=0;
while(j<=comp)
{
protocol = 't';
config_tbs_unipolar();
}
H += (Tr[j]-'0')*pow(10,(comp-j-1));
j++;
}
i++;
if(isDigit(data[i+1]))
{
IPI = 10*(data[i]-'0')+(data[i+1]-'0');
}
else
{
IPI =(data[i]-'0');
}
config_basal_unipolar();
}
if(data[1] == 't')
{
protocol = 't';
config_tbs_unipolar();
}
}
else if(data1 == 'd')
}
else if(data[0] == 'd')
{
if(data2 == 'd')
if(data[1] == 'd')
{
digitalWrite( 22, LOW);
config_desativado();
......
......@@ -17,7 +17,7 @@
//Variaveis globais
unsigned int H = 1000; //define largura de pulso (em us)
unsigned char IPI = 3; //define intervalo entre pulsos (em ms)
unsigned char IPI = 1; //define intervalo entre pulsos (em ms)
unsigned int pulso=0;
unsigned char estado=1;
unsigned int ITI = 1; //define intervalo entre trens de pulso (em s)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment