diff --git a/plugins/samplesink/sdrdaemonsink/UDPSocket.cpp b/plugins/samplesink/sdrdaemonsink/UDPSocket.cpp index fe111cbef..dabb54e17 100644 --- a/plugins/samplesink/sdrdaemonsink/UDPSocket.cpp +++ b/plugins/samplesink/sdrdaemonsink/UDPSocket.cpp @@ -121,7 +121,6 @@ void CSocket::BindLocalAddressAndPort( const string &localAddress, unsigned shor void CSocket::FillAddr( const string & localAddress, unsigned short localPort, sockaddr_in& localAddr ) { - ////cout<<"\n Inside Fille addr:"<h_addr_list[0]); localAddr.sin_port = htons(localPort); // Assign port in network byte order - ////cout<<"\n returning from Fille addr"; } unsigned long int CSocket::GetReadBufferSize() @@ -175,19 +173,14 @@ void CSocket::SetNonBlocking( bool bBlocking ) void CSocket::ConnectToHost( const string &foreignAddress, unsigned short foreignPort ) { - //cout<<"\nstart Connect to host"; // Get the address of the requested host sockaddr_in destAddr; - //cout<<"\ninside Connect to host"; FillAddr(foreignAddress, foreignPort, destAddr); - //cout<<"trying to connect to host"; // Try to connect to the given port if (::connect(m_sockDesc, (sockaddr *) &destAddr, sizeof(destAddr)) < 0) { throw CSocketException("Connect failed (connect())", true); } - //cout<<"\n after connecting"; - } void CSocket::Send( const void *buffer, int bufferLen ) @@ -249,7 +242,6 @@ int CSocket::OnDataRead(unsigned long timeToWait) { /* master file descriptor list */ fd_set master; - //struct timeval *ptimeout = NULL; /* temp file descriptor list for select() */ fd_set read_fds; @@ -268,8 +260,8 @@ int CSocket::OnDataRead(unsigned long timeToWait) /* copy it */ read_fds = master; - //cout<<"Waiting for select"; int nRet; + if (timeToWait == ULONG_MAX) { nRet = select(fdmax+1, &read_fds, NULL, NULL, NULL); @@ -300,13 +292,6 @@ void CSocket::SetBindToDevice( const string& sInterface ) struct ifreq ifr; memset(&ifr, 0, sizeof(ifr)); snprintf(ifr.ifr_name, sizeof(ifr.ifr_name), "%s", sInterface.c_str()); - //Todo:SO_BINDTODEVICE not declared error comes in CygWin, need to compile in Linux. - /*int nRet = ::setsockopt(m_sockDesc, SOL_SOCKET, SO_BINDTODEVICE, (void*)&ifr, sizeof(ifr)); - - if (nRet < 0) - { - throw CSocketException("Error in binding to device ", true); - }*/ } UDPSocket::UDPSocket():CSocket(UdpSocket,IPv4Protocol) @@ -346,10 +331,8 @@ void UDPSocket::DisconnectFromHost() void UDPSocket::SendDataGram( const void *buffer, int bufferLen, const string &foreignAddress, unsigned short foreignPort ) { - //cout<<"Befor Fill addr"; sockaddr_in destAddr; FillAddr(foreignAddress, foreignPort, destAddr); - //cout<<"Befor socket send"; // Write out the whole buffer as a single message. if (sendto(m_sockDesc, (void *) buffer, bufferLen, 0,(sockaddr *) &destAddr, sizeof(destAddr)) != bufferLen) { diff --git a/plugins/samplesink/sdrdaemonsink/udpsinkfec.cpp b/plugins/samplesink/sdrdaemonsink/udpsinkfec.cpp index 77984afe2..404644728 100644 --- a/plugins/samplesink/sdrdaemonsink/udpsinkfec.cpp +++ b/plugins/samplesink/sdrdaemonsink/udpsinkfec.cpp @@ -100,7 +100,6 @@ void UDPSinkFEC::setRemoteAddress(const QString& address, uint16_t port) void UDPSinkFEC::write(const SampleVector::iterator& begin, uint32_t sampleChunkSize) { - //qDebug("UDPSinkFEC::write(: %u samples", sampleChunkSize); const SampleVector::iterator end = begin + sampleChunkSize; SampleVector::iterator it = begin; @@ -186,10 +185,7 @@ void UDPSinkFEC::write(const SampleVector::iterator& begin, uint32_t sampleChunk int nbBlocksFEC = m_nbBlocksFEC; int txDelay = m_txDelay; - //qDebug("UDPSinkFEC::write: push frame to worker: %u", m_frameCount); m_udpWorker->pushTxFrame(m_txBlocks[m_txBlocksIndex], nbBlocksFEC, txDelay, m_frameCount); - //m_txThread = new std::thread(transmitUDP, this, m_txBlocks[m_txBlocksIndex], m_frameCount, nbBlocksFEC, txDelay, m_cm256Valid); - //transmitUDP(this, m_txBlocks[m_txBlocksIndex], m_frameCount, m_nbBlocksFEC, m_txDelay, m_cm256Valid); m_txBlocksIndex = (m_txBlocksIndex + 1) % 4; m_txBlockIndex = 0; @@ -282,8 +278,6 @@ void UDPSinkFECWorker::encodeAndTransmit(SDRDaemonSuperBlock *txBlockx, uint16_t if ((nbBlocksFEC == 0) || !m_cm256Valid) { -// qDebug("UDPSinkFECWorker::encodeAndTransmit: transmit frame without FEC to %s:%d", m_remoteAddress.toStdString().c_str(), m_remotePort); - for (unsigned int i = 0; i < UDPSinkFEC::m_nbOriginalBlocks; i++) { m_socket.SendDataGram((const void *) &txBlockx[i], (int) UDPSinkFEC::m_udpSize, m_remoteAddress.toStdString(), (uint32_t) m_remotePort); @@ -328,8 +322,6 @@ void UDPSinkFECWorker::encodeAndTransmit(SDRDaemonSuperBlock *txBlockx, uint16_t // Transmit all blocks -// qDebug("UDPSinkFECWorker::encodeAndTransmit: transmit frame with FEC to %s:%d", m_remoteAddress.toStdString().c_str(), m_remotePort); - for (int i = 0; i < cm256Params.OriginalCount + cm256Params.RecoveryCount; i++) { #ifdef SDRDAEMON_PUNCTURE @@ -337,22 +329,8 @@ void UDPSinkFECWorker::encodeAndTransmit(SDRDaemonSuperBlock *txBlockx, uint16_t continue; } #endif -// std::cerr << "UDPSinkFEC::transmitUDP:" -// << " i: " << i -// << " frameIndex: " << (int) m_txBlocks[i].header.frameIndex -// << " blockIndex: " << (int) m_txBlocks[i].header.blockIndex -// << " i.q:"; -// -// for (int j = 0; j < 10; j++) -// { -// std::cerr << " " << (int) m_txBlocks[i].protectedBlock.m_samples[j].m_real -// << "." << (int) m_txBlocks[i].protectedBlock.m_samples[j].m_imag; -// } -// -// std::cerr << std::endl; m_socket.SendDataGram((const void *) &txBlockx[i], (int) UDPSinkFEC::m_udpSize, m_remoteAddress.toStdString(), (uint32_t) m_remotePort); - //m_udpSocket->writeDatagram((const char *) &txBlockx[i], (int) UDPSinkFEC::m_udpSize, m_remoteAddress, m_remotePort); usleep(txDelay); } } diff --git a/plugins/samplesink/sdrdaemonsink/udpsinkfec.h b/plugins/samplesink/sdrdaemonsink/udpsinkfec.h index 172e07312..308e5db39 100644 --- a/plugins/samplesink/sdrdaemonsink/udpsinkfec.h +++ b/plugins/samplesink/sdrdaemonsink/udpsinkfec.h @@ -43,52 +43,6 @@ class UDPSinkFEC : public QObject public: static const uint32_t m_udpSize = 512; //!< Size of UDP block in number of bytes static const uint32_t m_nbOriginalBlocks = 128; //!< Number of original blocks in a protected block sequence -//#pragma pack(push, 1) -// struct MetaDataFEC -// { -// uint32_t m_centerFrequency; //!< 4 center frequency in kHz -// uint32_t m_sampleRate; //!< 8 sample rate in Hz -// uint8_t m_sampleBytes; //!< 9 MSB(4): indicators, LSB(4) number of bytes per sample -// uint8_t m_sampleBits; //!< 10 number of effective bits per sample -// uint8_t m_nbOriginalBlocks; //!< 11 number of blocks with original (protected) data -// uint8_t m_nbFECBlocks; //!< 12 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 -// -// bool operator==(const MetaDataFEC& rhs) -// { -// return (memcmp((const char *) this, (const char *) &rhs, 12) == 0); // Only the 12 first bytes are relevant -// } -// -// void init() -// { -// memset((char *) this, 0, sizeof(MetaDataFEC)); -// m_nbFECBlocks = -1; -// } -// }; -// -// struct Header -// { -// uint16_t frameIndex; -// uint8_t blockIndex; -// uint8_t filler; -// uint32_t filler2; -// }; -// -// static const int bytesPerBlock = m_udpSize - sizeof(Header); -// -// struct ProtectedBlock -// { -// uint8_t m_buf[bytesPerBlock]; -// }; -// -// struct SuperBlock -// { -// Header header; -// ProtectedBlock protectedBlock; -// }; -//#pragma pack(pop) /** * Construct UDP sink diff --git a/plugins/samplesource/sdrdaemonsource/sdrdaemonsourceinput.cpp b/plugins/samplesource/sdrdaemonsource/sdrdaemonsourceinput.cpp index 1c6d95891..2718bed46 100644 --- a/plugins/samplesource/sdrdaemonsource/sdrdaemonsourceinput.cpp +++ b/plugins/samplesource/sdrdaemonsource/sdrdaemonsourceinput.cpp @@ -224,11 +224,8 @@ void SDRdaemonSourceInput::applySettings(const SDRdaemonSourceSettings& settings settings.m_iqCorrection ? "true" : "false"); } -// if (force || (m_settings.m_dataAddress != settings.m_dataAddress) || (m_settings.m_dataPort != settings.m_dataPort)) -// { - m_SDRdaemonUDPHandler->configureUDPLink(settings.m_dataAddress, settings.m_dataPort); - m_SDRdaemonUDPHandler->getRemoteAddress(remoteAddress); -// } + m_SDRdaemonUDPHandler->configureUDPLink(settings.m_dataAddress, settings.m_dataPort); + m_SDRdaemonUDPHandler->getRemoteAddress(remoteAddress); mutexLocker.unlock(); m_settings = settings;