to fix zero initial sensor readings, try 2 times to get OK

pull/101/head
alanbjohnston 5 years ago committed by GitHub
parent e867afe587
commit 30d1f44038
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1204,6 +1204,7 @@ void get_tlm_fox() {
float voltage[9], current[9], sensor[17], other[3];
char sensor_payload[500];
sensor_payload[0] = 0;
memset(voltage, 0, sizeof(voltage));
memset(current, 0, sizeof(current));
memset(sensor, 0, sizeof(sensor));
@ -1363,11 +1364,13 @@ void get_tlm_fox() {
*/
unsigned int waitTime;
int i = 0;
int i, end, trys = 0;
while (((sensor_payload[0] != 'O') || (sensor_payload[1] != 'K')) && (trys++ < 2)) {
i = 0;
serialPutchar(uart_fd, '?');
// printf("Querying payload with ?\n");
printf("Querying payload with ?\n");
waitTime = millis() + 500;
int end = FALSE;
end = FALSE;
// int retry = FALSE;
while ((millis() < waitTime) && !end) {
int chars = (char) serialDataAvail(uart_fd);
@ -1382,10 +1385,11 @@ void get_tlm_fox() {
}
}
}
}
sensor_payload[i++] = ' ';
// sensor_payload[i++] = '\n';
sensor_payload[i] = '\0';
printf(" Payload string: %s", sensor_payload);
printf(" Payload string: %s\n", sensor_payload);
if ((sensor_payload[0] == 'O') && (sensor_payload[1] == 'K')) // only process if valid payload response
{

Loading…
Cancel
Save

Powered by TurnKey Linux.