diff --git a/include/ggwave/ggwave.h b/include/ggwave/ggwave.h index 49a85e9..9aa078a 100644 --- a/include/ggwave/ggwave.h +++ b/include/ggwave/ggwave.h @@ -22,7 +22,7 @@ public: static constexpr auto kMaxDataSize = 256; static constexpr auto kMaxLength = 140; static constexpr auto kMaxSpectrumHistory = 4; - static constexpr auto kMaxRecordedFrames = 64*10; + static constexpr auto kMaxRecordedFrames = 1024; static constexpr auto kDefaultFixedLength = 82; struct TxProtocol { diff --git a/src/ggwave.cpp b/src/ggwave.cpp index d2449b4..89567b6 100644 --- a/src/ggwave.cpp +++ b/src/ggwave.cpp @@ -418,6 +418,7 @@ void GGWave::receive(const CBDequeueAudio & CBDequeueAudio) { } if (analyzingData) { + printf("Analyzing captured data ..\n"); auto tStart = std::chrono::high_resolution_clock::now(); const int stepsPerFrame = 16; @@ -565,9 +566,9 @@ void GGWave::receive(const CBDequeueAudio & CBDequeueAudio) { rxData.fill(0); receivingData = true; if (txMode == TxMode::FixedLength) { - recvDuration_frames = nMarkerFrames + nPostMarkerFrames + maxFramesPerTx()*((kDefaultFixedLength + maxECCBytesPerTx())/minBytesPerTx() + 1); + recvDuration_frames = 2*nMarkerFrames + nPostMarkerFrames + maxFramesPerTx()*((kDefaultFixedLength + maxECCBytesPerTx())/minBytesPerTx() + 1); } else { - recvDuration_frames = nMarkerFrames + nPostMarkerFrames + maxFramesPerTx()*((kMaxLength + ::getECCBytesForLength(kMaxLength))/minBytesPerTx() + 1); + recvDuration_frames = 2*nMarkerFrames + nPostMarkerFrames + maxFramesPerTx()*((kMaxLength + ::getECCBytesForLength(kMaxLength))/minBytesPerTx() + 1); } framesToRecord = recvDuration_frames; framesLeftToRecord = recvDuration_frames; @@ -587,7 +588,7 @@ void GGWave::receive(const CBDequeueAudio & CBDequeueAudio) { if (isEnded && framesToRecord > 1) { std::time_t timestamp = std::time(nullptr); - printf("%sReceived end marker\n", std::asctime(std::localtime(×tamp))); + printf("%sReceived end marker. Frames left = %d\n", std::asctime(std::localtime(×tamp)), framesLeftToRecord); recvDuration_frames -= framesLeftToRecord - 1; framesLeftToRecord = 1; }