mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-11-03 21:20:31 -05:00 
			
		
		
		
	SDRdaemon debug. Frequency now in kHz in the meta data
This commit is contained in:
		
							parent
							
								
									4dfc4701e5
								
							
						
					
					
						commit
						42b52a2d2c
					
				@ -31,7 +31,7 @@ public:
 | 
				
			|||||||
	struct MetaData
 | 
						struct MetaData
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
        // critical data
 | 
					        // critical data
 | 
				
			||||||
		uint64_t m_centerFrequency;   //!< center frequency in Hz
 | 
							uint32_t m_centerFrequency;   //!< center frequency in kHz
 | 
				
			||||||
		uint32_t m_sampleRate;        //!< sample rate in Hz
 | 
							uint32_t m_sampleRate;        //!< sample rate in Hz
 | 
				
			||||||
		uint8_t  m_sampleBytes;       //!< MSB(4): indicators, LSB(4) number of bytes per sample
 | 
							uint8_t  m_sampleBytes;       //!< MSB(4): indicators, LSB(4) number of bytes per sample
 | 
				
			||||||
		uint8_t  m_sampleBits;        //!< number of effective bits per sample
 | 
							uint8_t  m_sampleBits;        //!< number of effective bits per sample
 | 
				
			||||||
 | 
				
			|||||||
@ -38,10 +38,11 @@ SDRdaemonGui::SDRdaemonGui(PluginAPI* pluginAPI, QWidget* parent) :
 | 
				
			|||||||
	m_acquisition(false),
 | 
						m_acquisition(false),
 | 
				
			||||||
	m_sampleRate(0),
 | 
						m_sampleRate(0),
 | 
				
			||||||
	m_centerFrequency(0),
 | 
						m_centerFrequency(0),
 | 
				
			||||||
	m_startingTimeStamp(0),
 | 
					 | 
				
			||||||
	m_samplesCount(0),
 | 
						m_samplesCount(0),
 | 
				
			||||||
	m_tickCount(0)
 | 
						m_tickCount(0)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						m_startingTimeStamp.tv_sec = 0;
 | 
				
			||||||
 | 
						m_startingTimeStamp.tv_usec = 0;
 | 
				
			||||||
	ui->setupUi(this);
 | 
						ui->setupUi(this);
 | 
				
			||||||
	ui->centerFrequency->setColorMapper(ColorMapper(ColorMapper::ReverseGold));
 | 
						ui->centerFrequency->setColorMapper(ColorMapper(ColorMapper::ReverseGold));
 | 
				
			||||||
	ui->centerFrequency->setValueRange(7, 0, pow(10,7));
 | 
						ui->centerFrequency->setValueRange(7, 0, pow(10,7));
 | 
				
			||||||
@ -148,7 +149,8 @@ bool SDRdaemonGui::handleMessage(const Message& message)
 | 
				
			|||||||
	{
 | 
						{
 | 
				
			||||||
		m_sampleRate = ((SDRdaemonInput::MsgReportSDRdaemonStreamData&)message).getSampleRate();
 | 
							m_sampleRate = ((SDRdaemonInput::MsgReportSDRdaemonStreamData&)message).getSampleRate();
 | 
				
			||||||
		m_centerFrequency = ((SDRdaemonInput::MsgReportSDRdaemonStreamData&)message).getCenterFrequency();
 | 
							m_centerFrequency = ((SDRdaemonInput::MsgReportSDRdaemonStreamData&)message).getCenterFrequency();
 | 
				
			||||||
		m_startingTimeStamp = ((SDRdaemonInput::MsgReportSDRdaemonStreamData&)message).getStartingTimeStamp();
 | 
							m_startingTimeStamp.tv_sec = ((SDRdaemonInput::MsgReportSDRdaemonStreamData&)message).get_tv_sec();
 | 
				
			||||||
 | 
							m_startingTimeStamp.tv_usec = ((SDRdaemonInput::MsgReportSDRdaemonStreamData&)message).get_tv_usec();
 | 
				
			||||||
		updateWithStreamData();
 | 
							updateWithStreamData();
 | 
				
			||||||
		return true;
 | 
							return true;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@ -183,11 +185,12 @@ void SDRdaemonGui::displaySettings()
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
void SDRdaemonGui::on_play_toggled(bool checked)
 | 
					void SDRdaemonGui::on_play_toggled(bool checked)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	SDRdaemonInput::MsgConfigureSDRdaemonWork* message = SDRdaemonInput::MsgConfigureSDRdaemonWork::create(checked);
 | 
						SDRdaemonInput::MsgConfigureSDRdaemonWork* message = SDRdaemonInput::MsgConfigureSDRdaemonWork::create(checked);
 | 
				
			||||||
	m_sampleSource->getInputMessageQueue()->push(message);
 | 
						m_sampleSource->getInputMessageQueue()->push(message);
 | 
				
			||||||
}
 | 
					}*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void SDRdaemonGui::on_applyButton_clicked(bool checked)
 | 
					void SDRdaemonGui::on_applyButton_clicked(bool checked)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@ -218,7 +221,7 @@ void SDRdaemonGui::updateWithAcquisition()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void SDRdaemonGui::updateWithStreamData()
 | 
					void SDRdaemonGui::updateWithStreamData()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	ui->centerFrequency->setValue(m_centerFrequency/1000);
 | 
						ui->centerFrequency->setValue(m_centerFrequency);
 | 
				
			||||||
	QString s = QString::number(m_sampleRate/1000.0, 'f', 0);
 | 
						QString s = QString::number(m_sampleRate/1000.0, 'f', 0);
 | 
				
			||||||
	ui->sampleRateText->setText(tr("%1k").arg(s));
 | 
						ui->sampleRateText->setText(tr("%1k").arg(s));
 | 
				
			||||||
	updateWithStreamTime(); // TODO: remove when time data is implemented
 | 
						updateWithStreamTime(); // TODO: remove when time data is implemented
 | 
				
			||||||
@ -226,6 +229,11 @@ void SDRdaemonGui::updateWithStreamData()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void SDRdaemonGui::updateWithStreamTime()
 | 
					void SDRdaemonGui::updateWithStreamTime()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						quint64 startingTimeStampMsec = (m_startingTimeStamp.tv_sec * 1000) + (m_startingTimeStamp.tv_usec / 1000);
 | 
				
			||||||
 | 
						QDateTime dt = QDateTime::fromMSecsSinceEpoch(startingTimeStampMsec);
 | 
				
			||||||
 | 
						QString s_date = dt.toString("yyyyMMdd hh.mm.ss.zzz");
 | 
				
			||||||
 | 
						ui->absTimeText->setText(s_date);
 | 
				
			||||||
 | 
						/*
 | 
				
			||||||
	int t_sec = 0;
 | 
						int t_sec = 0;
 | 
				
			||||||
	int t_msec = 0;
 | 
						int t_msec = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -244,7 +252,7 @@ void SDRdaemonGui::updateWithStreamTime()
 | 
				
			|||||||
	dt = dt.addSecs(t_sec);
 | 
						dt = dt.addSecs(t_sec);
 | 
				
			||||||
	dt = dt.addMSecs(t_msec);
 | 
						dt = dt.addMSecs(t_msec);
 | 
				
			||||||
	QString s_date = dt.toString("yyyyMMdd hh.mm.ss.zzz");
 | 
						QString s_date = dt.toString("yyyyMMdd hh.mm.ss.zzz");
 | 
				
			||||||
	ui->absTimeText->setText(s_date);
 | 
						ui->absTimeText->setText(s_date);*/
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void SDRdaemonGui::tick()
 | 
					void SDRdaemonGui::tick()
 | 
				
			||||||
 | 
				
			|||||||
@ -18,6 +18,7 @@
 | 
				
			|||||||
#define INCLUDE_SDRDAEMONGUI_H
 | 
					#define INCLUDE_SDRDAEMONGUI_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <QTimer>
 | 
					#include <QTimer>
 | 
				
			||||||
 | 
					#include <sys/time.h>
 | 
				
			||||||
#include "plugin/plugingui.h"
 | 
					#include "plugin/plugingui.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "sdrdaemoninput.h"
 | 
					#include "sdrdaemoninput.h"
 | 
				
			||||||
@ -55,7 +56,7 @@ private:
 | 
				
			|||||||
    bool m_acquisition;
 | 
					    bool m_acquisition;
 | 
				
			||||||
	int m_sampleRate;
 | 
						int m_sampleRate;
 | 
				
			||||||
	quint64 m_centerFrequency;
 | 
						quint64 m_centerFrequency;
 | 
				
			||||||
	std::time_t m_startingTimeStamp;
 | 
						struct timeval m_startingTimeStamp;
 | 
				
			||||||
	int m_samplesCount;
 | 
						int m_samplesCount;
 | 
				
			||||||
	std::size_t m_tickCount;
 | 
						std::size_t m_tickCount;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -68,8 +69,6 @@ private:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
private slots:
 | 
					private slots:
 | 
				
			||||||
	void handleSourceMessages();
 | 
						void handleSourceMessages();
 | 
				
			||||||
	void on_playLoop_toggled(bool checked);
 | 
					 | 
				
			||||||
	void on_play_toggled(bool checked);
 | 
					 | 
				
			||||||
	void on_applyButton_clicked(bool checked);
 | 
						void on_applyButton_clicked(bool checked);
 | 
				
			||||||
	void tick();
 | 
						void tick();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
				
			|||||||
@ -176,6 +176,13 @@
 | 
				
			|||||||
   </item>
 | 
					   </item>
 | 
				
			||||||
   <item>
 | 
					   <item>
 | 
				
			||||||
    <layout class="QHBoxLayout" name="rateTimeLayout">
 | 
					    <layout class="QHBoxLayout" name="rateTimeLayout">
 | 
				
			||||||
 | 
					     <item>
 | 
				
			||||||
 | 
					      <widget class="QLabel" name="label">
 | 
				
			||||||
 | 
					       <property name="text">
 | 
				
			||||||
 | 
					        <string>Rate: </string>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
     <item>
 | 
					     <item>
 | 
				
			||||||
      <widget class="QLabel" name="sampleRateText">
 | 
					      <widget class="QLabel" name="sampleRateText">
 | 
				
			||||||
       <property name="minimumSize">
 | 
					       <property name="minimumSize">
 | 
				
			||||||
 | 
				
			|||||||
@ -73,7 +73,7 @@ MESSAGE_CLASS_DEFINITION(SDRdaemonInput::MsgReportSDRdaemonStreamTiming, Message
 | 
				
			|||||||
SDRdaemonInput::SDRdaemonInput(const QTimer& masterTimer) :
 | 
					SDRdaemonInput::SDRdaemonInput(const QTimer& masterTimer) :
 | 
				
			||||||
	m_address("127.0.0.1"),
 | 
						m_address("127.0.0.1"),
 | 
				
			||||||
	m_port(9090),
 | 
						m_port(9090),
 | 
				
			||||||
	m_SDRdaemonThread(NULL),
 | 
						m_SDRdaemonThread(0),
 | 
				
			||||||
	m_deviceDescription(),
 | 
						m_deviceDescription(),
 | 
				
			||||||
	m_sampleRate(0),
 | 
						m_sampleRate(0),
 | 
				
			||||||
	m_centerFrequency(0),
 | 
						m_centerFrequency(0),
 | 
				
			||||||
@ -97,12 +97,12 @@ bool SDRdaemonInput::start(int device)
 | 
				
			|||||||
	QMutexLocker mutexLocker(&m_mutex);
 | 
						QMutexLocker mutexLocker(&m_mutex);
 | 
				
			||||||
	qDebug() << "SDRdaemonInput::startInput";
 | 
						qDebug() << "SDRdaemonInput::startInput";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if(!m_sampleFifo.setSize(96000 * 4)) {
 | 
						if (!m_sampleFifo.setSize(96000 * 4)) {
 | 
				
			||||||
		qCritical("Could not allocate SampleFifo");
 | 
							qCritical("Could not allocate SampleFifo");
 | 
				
			||||||
		return false;
 | 
							return false;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if((m_SDRdaemonThread = new SDRdaemonThread(&m_sampleFifo)) == NULL) {
 | 
						if ((m_SDRdaemonThread = new SDRdaemonThread(&m_sampleFifo, getOutputMessageQueueToGUI())) == NULL) {
 | 
				
			||||||
		qFatal("out of memory");
 | 
							qFatal("out of memory");
 | 
				
			||||||
		stop();
 | 
							stop();
 | 
				
			||||||
		return false;
 | 
							return false;
 | 
				
			||||||
 | 
				
			|||||||
@ -22,6 +22,7 @@
 | 
				
			|||||||
#include <QTimer>
 | 
					#include <QTimer>
 | 
				
			||||||
#include <ctime>
 | 
					#include <ctime>
 | 
				
			||||||
#include <iostream>
 | 
					#include <iostream>
 | 
				
			||||||
 | 
					#include <stdint.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class SDRdaemonThread;
 | 
					class SDRdaemonThread;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -113,23 +114,26 @@ public:
 | 
				
			|||||||
	public:
 | 
						public:
 | 
				
			||||||
		int getSampleRate() const { return m_sampleRate; }
 | 
							int getSampleRate() const { return m_sampleRate; }
 | 
				
			||||||
		quint64 getCenterFrequency() const { return m_centerFrequency; }
 | 
							quint64 getCenterFrequency() const { return m_centerFrequency; }
 | 
				
			||||||
		std::time_t getStartingTimeStamp() const { return m_startingTimeStamp; }
 | 
							uint32_t get_tv_sec() const { return m_tv_sec; }
 | 
				
			||||||
 | 
							uint32_t get_tv_usec() const { return m_tv_usec; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		static MsgReportSDRdaemonStreamData* create(int sampleRate, quint64 centerFrequency, std::time_t startingTimeStamp)
 | 
							static MsgReportSDRdaemonStreamData* create(int sampleRate, quint64 centerFrequency, uint32_t tv_sec, uint32_t tv_usec)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			return new MsgReportSDRdaemonStreamData(sampleRate, centerFrequency, startingTimeStamp);
 | 
								return new MsgReportSDRdaemonStreamData(sampleRate, centerFrequency, tv_sec, tv_usec);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	protected:
 | 
						protected:
 | 
				
			||||||
		int m_sampleRate;
 | 
							int m_sampleRate;
 | 
				
			||||||
		quint64 m_centerFrequency;
 | 
							quint64 m_centerFrequency;
 | 
				
			||||||
		std::time_t m_startingTimeStamp;
 | 
							uint32_t m_tv_sec;
 | 
				
			||||||
 | 
							uint32_t m_tv_usec;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		MsgReportSDRdaemonStreamData(int sampleRate, quint64 centerFrequency, std::time_t startingTimeStamp) :
 | 
							MsgReportSDRdaemonStreamData(int sampleRate, quint64 centerFrequency, uint32_t tv_sec, uint32_t tv_usec) :
 | 
				
			||||||
			Message(),
 | 
								Message(),
 | 
				
			||||||
			m_sampleRate(sampleRate),
 | 
								m_sampleRate(sampleRate),
 | 
				
			||||||
			m_centerFrequency(centerFrequency),
 | 
								m_centerFrequency(centerFrequency),
 | 
				
			||||||
			m_startingTimeStamp(startingTimeStamp)
 | 
								m_tv_sec(tv_sec),
 | 
				
			||||||
 | 
								m_tv_usec(tv_usec)
 | 
				
			||||||
		{ }
 | 
							{ }
 | 
				
			||||||
	};
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -18,6 +18,8 @@
 | 
				
			|||||||
#include <errno.h>
 | 
					#include <errno.h>
 | 
				
			||||||
#include <assert.h>
 | 
					#include <assert.h>
 | 
				
			||||||
#include "dsp/samplefifo.h"
 | 
					#include "dsp/samplefifo.h"
 | 
				
			||||||
 | 
					#include "util/messagequeue.h"
 | 
				
			||||||
 | 
					#include "sdrdaemoninput.h"
 | 
				
			||||||
#include <QUdpSocket>
 | 
					#include <QUdpSocket>
 | 
				
			||||||
#include <QDebug>
 | 
					#include <QDebug>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -26,7 +28,7 @@
 | 
				
			|||||||
const int SDRdaemonThread::m_rateDivider = 1000/SDRDAEMON_THROTTLE_MS;
 | 
					const int SDRdaemonThread::m_rateDivider = 1000/SDRDAEMON_THROTTLE_MS;
 | 
				
			||||||
const int SDRdaemonThread::m_udpPayloadSize = 512;
 | 
					const int SDRdaemonThread::m_udpPayloadSize = 512;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SDRdaemonThread::SDRdaemonThread(SampleFifo* sampleFifo, QObject* parent) :
 | 
					SDRdaemonThread::SDRdaemonThread(SampleFifo* sampleFifo, MessageQueue *outputMessageQueueToGUI, QObject* parent) :
 | 
				
			||||||
	QThread(parent),
 | 
						QThread(parent),
 | 
				
			||||||
	m_running(false),
 | 
						m_running(false),
 | 
				
			||||||
	m_dataSocket(0),
 | 
						m_dataSocket(0),
 | 
				
			||||||
@ -40,7 +42,9 @@ SDRdaemonThread::SDRdaemonThread(SampleFifo* sampleFifo, QObject* parent) :
 | 
				
			|||||||
	m_sampleFifo(sampleFifo),
 | 
						m_sampleFifo(sampleFifo),
 | 
				
			||||||
	m_samplesCount(0),
 | 
						m_samplesCount(0),
 | 
				
			||||||
	m_sdrDaemonBuffer(m_udpPayloadSize),
 | 
						m_sdrDaemonBuffer(m_udpPayloadSize),
 | 
				
			||||||
	m_samplerate(0)
 | 
						m_samplerate(0),
 | 
				
			||||||
 | 
						m_centerFrequency(0),
 | 
				
			||||||
 | 
						m_outputMessageQueueToGUI(outputMessageQueueToGUI)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    m_udpBuf = new char[m_udpPayloadSize];
 | 
					    m_udpBuf = new char[m_udpPayloadSize];
 | 
				
			||||||
    m_dataSocket = new QUdpSocket(this);
 | 
					    m_dataSocket = new QUdpSocket(this);
 | 
				
			||||||
@ -218,12 +222,30 @@ void SDRdaemonThread::dataReadyRead()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			if (m_sdrDaemonBuffer.readMeta(m_udpBuf, readBytes))
 | 
								if (m_sdrDaemonBuffer.readMeta(m_udpBuf, readBytes))
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				uint32_t sampleRate = m_sdrDaemonBuffer.getCurrentMeta().m_sampleRate;
 | 
									const SDRdaemonBuffer::MetaData& metaData =  m_sdrDaemonBuffer.getCurrentMeta();
 | 
				
			||||||
 | 
									bool change = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				if (m_samplerate != sampleRate)
 | 
									if (m_samplerate != metaData.m_sampleRate)
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					setSamplerate(sampleRate);
 | 
										setSamplerate(metaData.m_sampleRate);
 | 
				
			||||||
					m_samplerate = sampleRate;
 | 
										m_samplerate = metaData.m_sampleRate;
 | 
				
			||||||
 | 
										change = true;
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									if (m_centerFrequency != metaData.m_centerFrequency)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										m_centerFrequency = metaData.m_centerFrequency;
 | 
				
			||||||
 | 
										change = true;
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									if (change)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										SDRdaemonInput::MsgReportSDRdaemonStreamData *report = SDRdaemonInput::MsgReportSDRdaemonStreamData::create(
 | 
				
			||||||
 | 
											metaData.m_sampleRate,
 | 
				
			||||||
 | 
											metaData.m_centerFrequency,
 | 
				
			||||||
 | 
											metaData.m_tv_sec,
 | 
				
			||||||
 | 
											metaData.m_tv_usec);
 | 
				
			||||||
 | 
										m_outputMessageQueueToGUI->push(report);
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			else if (m_sdrDaemonBuffer.isSync())
 | 
								else if (m_sdrDaemonBuffer.isSync())
 | 
				
			||||||
 | 
				
			|||||||
@ -32,12 +32,13 @@
 | 
				
			|||||||
#define SDRDAEMON_THROTTLE_MS 50
 | 
					#define SDRDAEMON_THROTTLE_MS 50
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class QUdpSocket;
 | 
					class QUdpSocket;
 | 
				
			||||||
 | 
					class MessageQueue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class SDRdaemonThread : public QThread {
 | 
					class SDRdaemonThread : public QThread {
 | 
				
			||||||
	Q_OBJECT
 | 
						Q_OBJECT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
	SDRdaemonThread(SampleFifo* sampleFifo, QObject* parent = NULL);
 | 
						SDRdaemonThread(SampleFifo* sampleFifo, MessageQueue *outputMessageQueueToGUI, QObject* parent = NULL);
 | 
				
			||||||
	~SDRdaemonThread();
 | 
						~SDRdaemonThread();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	void startWork();
 | 
						void startWork();
 | 
				
			||||||
@ -70,6 +71,8 @@ private:
 | 
				
			|||||||
	SDRdaemonBuffer m_sdrDaemonBuffer;
 | 
						SDRdaemonBuffer m_sdrDaemonBuffer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	uint32_t m_samplerate;
 | 
						uint32_t m_samplerate;
 | 
				
			||||||
 | 
						uint32_t m_centerFrequency;
 | 
				
			||||||
 | 
						MessageQueue *m_outputMessageQueueToGUI;
 | 
				
			||||||
	static const int m_rateDivider;
 | 
						static const int m_rateDivider;
 | 
				
			||||||
	static const int m_udpPayloadSize;
 | 
						static const int m_udpPayloadSize;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user