52 lines
1.1 KiB
C++
52 lines
1.1 KiB
C++
void cmd_proc()
|
|
{
|
|
/*Serial*/
|
|
static char buffer[256];
|
|
char incomingByte;
|
|
static int counter=0;
|
|
char data[100];
|
|
|
|
/*Read from serial*/
|
|
while (Serial.available() > 0)
|
|
{
|
|
incomingByte = Serial.read();
|
|
/*new data*/
|
|
if (incomingByte == '\n' || incomingByte == ' ' || incomingByte == '\r')
|
|
{
|
|
buffer[counter]=0;
|
|
if (buffer[0] == 'A' && buffer[1] == 'Z')
|
|
{
|
|
strncpy(data, buffer+2, 100);
|
|
double cmdAz = atof(data);
|
|
|
|
stepAz = deg2step(cmdAz)-stepPosAz;
|
|
}
|
|
else if (buffer[0] == 'E' && buffer[1] == 'L')
|
|
{
|
|
strncpy(data, buffer+2, 10);
|
|
double cmdEl = atof(data);
|
|
|
|
stepEl = deg2step(cmdEl)-stepPosEl;
|
|
}
|
|
else if (buffer[0] == 'S' && buffer[1] == 'A')
|
|
{
|
|
stepAz = 0;
|
|
}
|
|
else if (buffer[0] == 'S' && buffer[1] == 'E')
|
|
{
|
|
stepEl = 0;
|
|
}
|
|
|
|
counter = 0;
|
|
|
|
//Reset time
|
|
t1 = 0;
|
|
}
|
|
/*Fill the buffer with incoming data*/
|
|
else {
|
|
buffer[counter] = incomingByte;
|
|
counter++;
|
|
}
|
|
}
|
|
}
|