Payload query cleanup

pull/72/head
alanbjohnston 5 years ago committed by GitHub
parent 1919b70046
commit 40b97545cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -365,6 +365,12 @@ else
if ((uart_fd = serialOpen ("/dev/ttyAMA0", 19200)) >= 0) if ((uart_fd = serialOpen ("/dev/ttyAMA0", 19200)) >= 0)
{ {
char c; char c;
int charss = serialDataAvail (uart_fd);
if (charss != 0)
printf("Clearing buffer of %d chars \n", charss);
while ((charss-- > 0))
c = serialGetchar (uart_fd); // clear buffer
unsigned int waitTime; unsigned int waitTime;
int i; int i;
for(i = 0; i < 2; i++) for(i = 0; i < 2; i++)
@ -810,6 +816,12 @@ char sensor_payload[500];
if (payload == ON) if (payload == ON)
{ {
char c; char c;
int charss = serialDataAvail (uart_fd);
if (charss != 0)
printf("Clearing buffer of %d chars \n", charss);
while ((charss-- > 0))
c = serialGetchar (uart_fd); // clear buffer
unsigned int waitTime; unsigned int waitTime;
int i = 0; int i = 0;
@ -1200,7 +1212,8 @@ if (payload == ON)
char c; char c;
int charss = serialDataAvail (uart_fd); int charss = serialDataAvail (uart_fd);
printf("Clearing buffer of %d chars \n", charss); if (charss != 0)
printf("Clearing buffer of %d chars \n", charss);
while ((charss-- > 0)) while ((charss-- > 0))
c = serialGetchar (uart_fd); // clear buffer c = serialGetchar (uart_fd); // clear buffer
@ -1210,7 +1223,7 @@ if (payload == ON)
printf("Querying payload with ?\n"); printf("Querying payload with ?\n");
waitTime = millis() + 500; waitTime = millis() + 500;
int end = FALSE; int end = FALSE;
int retry = FALSE; // int retry = FALSE;
while ((millis() < waitTime) && !end) while ((millis() < waitTime) && !end)
{ {
int chars = serialDataAvail (uart_fd); int chars = serialDataAvail (uart_fd);
@ -1222,26 +1235,17 @@ if (payload == ON)
if (c != '\n') if (c != '\n')
{ {
sensor_payload[i++] = c; sensor_payload[i++] = c;
if (i == 2)
if ((sensor_payload[0] != 'O') || (sensor_payload[1] != 'K'))
{
retry = TRUE; // restart read
printf("Restarting sensor read! %c%c\n", sensor_payload[0], sensor_payload[1]);
}
} }
else else
{ {
if (retry) end = TRUE;
i = 0;
else
end = TRUE;
} }
} }
} }
sensor_payload[i++] = ' '; sensor_payload[i++] = ' ';
sensor_payload[i++] = '\n'; // sensor_payload[i++] = '\n';
sensor_payload[i] = '\0'; sensor_payload[i] = '\0';
printf("Payload string: %s", sensor_payload); printf("Payload string: %s \n", sensor_payload);
int count1; int count1;
char *token; char *token;

Loading…
Cancel
Save

Powered by TurnKey Linux.