From 2833eb1b0ea8cbd70133108adaa07ba928e0c86d Mon Sep 17 00:00:00 2001 From: f4exb Date: Fri, 26 Apr 2019 02:46:21 +0200 Subject: [PATCH] Remote: pass center frequency on 64 bits --- plugins/channelrx/remotesink/remotesink.cpp | 2 +- .../channeltx/remotesource/remotesource.cpp | 2 +- plugins/samplesink/remoteoutput/udpsinkfec.cpp | 2 +- .../remoteinput/remoteinputbuffer.cpp | 2 +- sdrbase/channel/remotedatablock.h | 18 +++++++++--------- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/plugins/channelrx/remotesink/remotesink.cpp b/plugins/channelrx/remotesink/remotesink.cpp index 746ad62b6..1d725d215 100644 --- a/plugins/channelrx/remotesink/remotesink.cpp +++ b/plugins/channelrx/remotesink/remotesink.cpp @@ -143,7 +143,7 @@ void RemoteSink::feed(const SampleVector::const_iterator& begin, const SampleVec } boost::crc_32_type crc32; - crc32.process_bytes(&metaData, 20); + crc32.process_bytes(&metaData, 24); metaData.m_crc32 = crc32.checksum(); RemoteSuperBlock& superBlock = m_dataBlock->m_superBlocks[0]; // first block superBlock.init(); diff --git a/plugins/channeltx/remotesource/remotesource.cpp b/plugins/channeltx/remotesource/remotesource.cpp index be3e94a97..cd8f3b1af 100644 --- a/plugins/channeltx/remotesource/remotesource.cpp +++ b/plugins/channeltx/remotesource/remotesource.cpp @@ -321,7 +321,7 @@ void RemoteSource::handleDataBlock(RemoteDataBlock* dataBlock) { RemoteMetaDataFEC *metaData = (RemoteMetaDataFEC *) &(dataBlock->m_superBlocks[0].m_protectedBlock); boost::crc_32_type crc32; - crc32.process_bytes(metaData, 20); + crc32.process_bytes(metaData, 24); if (crc32.checksum() == metaData->m_crc32) { diff --git a/plugins/samplesink/remoteoutput/udpsinkfec.cpp b/plugins/samplesink/remoteoutput/udpsinkfec.cpp index 330d938ff..ee1908e99 100644 --- a/plugins/samplesink/remoteoutput/udpsinkfec.cpp +++ b/plugins/samplesink/remoteoutput/udpsinkfec.cpp @@ -134,7 +134,7 @@ void UDPSinkFEC::write(const SampleVector::iterator& begin, uint32_t sampleChunk metaData.m_tv_usec = ts_usecs % 1000000UL; boost::crc_32_type crc32; - crc32.process_bytes(&metaData, 20); + crc32.process_bytes(&metaData, 24); metaData.m_crc32 = crc32.checksum(); diff --git a/plugins/samplesource/remoteinput/remoteinputbuffer.cpp b/plugins/samplesource/remoteinput/remoteinputbuffer.cpp index 6bd05e3d0..bb115cb1c 100644 --- a/plugins/samplesource/remoteinput/remoteinputbuffer.cpp +++ b/plugins/samplesource/remoteinput/remoteinputbuffer.cpp @@ -284,7 +284,7 @@ void RemoteInputBuffer::writeData(char *array) RemoteMetaDataFEC *metaData = (RemoteMetaDataFEC *) recoveredBlock; boost::crc_32_type crc32; - crc32.process_bytes(metaData, 20); + crc32.process_bytes(metaData, 24); if (crc32.checksum() == metaData->m_crc32) { diff --git a/sdrbase/channel/remotedatablock.h b/sdrbase/channel/remotedatablock.h index ad14bf9c7..c3e0f021c 100644 --- a/sdrbase/channel/remotedatablock.h +++ b/sdrbase/channel/remotedatablock.h @@ -38,16 +38,16 @@ #pragma pack(push, 1) struct RemoteMetaDataFEC { - uint32_t m_centerFrequency; //!< 4 center frequency in kHz - uint32_t m_sampleRate; //!< 8 sample rate in Hz - uint8_t m_sampleBytes; //!< 9 4 LSB: number of bytes per sample (2 or 4) - uint8_t m_sampleBits; //!< 10 number of effective bits per sample (deprecated) - uint8_t m_nbOriginalBlocks; //!< 11 number of blocks with original (protected) data - uint8_t m_nbFECBlocks; //!< 12 number of blocks carrying FEC + uint64_t m_centerFrequency; //!< 8 center frequency in kHz + uint32_t m_sampleRate; //!< 12 sample rate in Hz + uint8_t m_sampleBytes; //!< 13 4 LSB: number of bytes per sample (2 or 4) + uint8_t m_sampleBits; //!< 14 number of effective bits per sample (deprecated) + uint8_t m_nbOriginalBlocks; //!< 15 number of blocks with original (protected) data + uint8_t m_nbFECBlocks; //!< 16 number of blocks carrying FEC - uint32_t m_tv_sec; //!< 16 seconds of timestamp at start time of super-frame processing - uint32_t m_tv_usec; //!< 20 microseconds of timestamp at start time of super-frame processing - uint32_t m_crc32; //!< 24 CRC32 of the above + uint32_t m_tv_sec; //!< 20 seconds of timestamp at start time of super-frame processing + uint32_t m_tv_usec; //!< 24 microseconds of timestamp at start time of super-frame processing + uint32_t m_crc32; //!< 28 CRC32 of the above bool operator==(const RemoteMetaDataFEC& rhs) {