diff --git a/groundStation/src/backend/backend.c b/groundStation/src/backend/backend.c index f521cf732807359df10b4e607111c360d9f26a0d..041a91edf567b8fcb3d7854899bbbf12fdd0ded6 100644 --- a/groundStation/src/backend/backend.c +++ b/groundStation/src/backend/backend.c @@ -626,7 +626,7 @@ static void client_recv(int fd) { if (tracker == NULL) { char * dummy = TD_MAGIC " 1.0 2.0 3.0 4.0 5.0 6.0\n"; write(fd, dummy, strlen(dummy)); - }else if (ucart_vrpn_tracker_getData(tracker, &td)) { + } else if (ucart_vrpn_tracker_getData(tracker, &td)) { write(fd, TD_MAGIC " ERROR\n", strlen(TD_MAGIC " ERROR\n")); } else { /* more than sufficient buffer */ @@ -651,17 +651,19 @@ static void client_recv(int fd) { } } } else { - if(clientAddPendResponses(fd, packet) == -1) { - warnx("Ran out of room! Consider increasing CLIENT_MAX_PENDING_RESPONSES!\n"); - } else { - int datalen = (packet[6] << 8) | (packet[5]); - printf("sending %lf '", getFloat(packet, 7)); - for(int i = 0; i < datalen + 8; ++i) { - printf(" 0x%x", (signed) packet[i]); + if (packet[1] == 0x02) { + if (clientAddPendResponses(fd, packet) == -1) { + warnx("Ran out of room! Consider increasing CLIENT_MAX_PENDING_RESPONSES!\n"); } - printf("'\n"); - writeQuad((char *) packet, datalen +8); } + + int datalen = (packet[6] << 8) | (packet[5]); + printf("sending %lf '", getFloat(packet, 7)); + for(int i = 0; i < datalen + 8; ++i) { + printf(" 0x%.2x", (signed) packet[i]); + } + printf("'\n"); + writeQuad((char *) packet, datalen +8); } char * rest = &buffer[newline] + 1;