From be903af666f46a34a4ed3111727a415d3a645fca Mon Sep 17 00:00:00 2001 From: Tom Early Date: Thu, 11 Jun 2020 05:46:28 -0700 Subject: [PATCH] gps debugging --- QnetGateway.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/QnetGateway.cpp b/QnetGateway.cpp index 4fc8b19..b8d1df2 100644 --- a/QnetGateway.cpp +++ b/QnetGateway.cpp @@ -970,6 +970,7 @@ void CQnetGateway::ProcessSlowData(unsigned char *data, const unsigned short sid void CQnetGateway::ProcessIncomingSD(const SDSVT &dsvt) { + static unsigned char hold[6]; int i; for (i=0; i<3; i++) { if (Rptr.mod[i].defined && (toRptr[i].streamid == dsvt.streamid)) @@ -978,8 +979,10 @@ void CQnetGateway::ProcessIncomingSD(const SDSVT &dsvt) // if i==3, then the streamid of this voice packet didn't match any module SSD &sd = Sd[i]; - if (VoicePacketIsSync(dsvt.vasd.text)) + if (VoicePacketIsSync(dsvt.vasd.text)) { + sd.first = true; return; + } const unsigned char c[3] = { static_cast(dsvt.vasd.text[0] ^ 0x70u), @@ -998,6 +1001,8 @@ void CQnetGateway::ProcessIncomingSD(const SDSVT &dsvt) switch (sd.type) { case 0x30U: // GPS data if (sd.size + sd.ig < 255) { + memset(hold, 0, 6); + memcpy(hold, c, 3); memcpy(sd.gps+sd.ig, c+1, size); if (c[1]=='\r' || c[2]=='\r') { sd.gps[sd.ig + (c[1] == '\r') ? 0 : 1] = '\0'; @@ -1050,6 +1055,8 @@ void CQnetGateway::ProcessIncomingSD(const SDSVT &dsvt) return; switch (sd.type) { case 0x30U: // GPS + memcpy(hold+3, c, 3); + printf("hold=%02x%02x%02x%02x%02x%02x\n", hold[0], hold[1], hold[2], hold[3], hold[4], hold[5]); memcpy(sd.gps+sd.ig, c, sd.size); if (c[0]=='\r' || c[1]=='\r' || c[2]=='\r') { if (c[0]=='\r')