From 09d0e41df45b20c81a71ef5dfba88221e733b4c7 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Sat, 5 Dec 2020 10:03:48 +0200 Subject: [PATCH] wip : proper recording length --- include/ggwave/ggwave.h | 2 +- src/ggwave.cpp | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) 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; }