mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-24 17:08:36 -05:00
Compare commits
8 Commits
7969b9da1f
...
2a893edf03
Author | SHA1 | Date | |
---|---|---|---|
|
2a893edf03 | ||
|
d6773eafb3 | ||
|
d2e89b7337 | ||
|
60e1d1cd9e | ||
|
5103b27091 | ||
|
202fc96de6 | ||
|
f694ba04b8 | ||
|
027d6af6bb |
@ -269,6 +269,14 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
set(INSTALL_PLUGINS_DIR "${INSTALL_LIB_DIR}/plugins")
|
set(INSTALL_PLUGINS_DIR "${INSTALL_LIB_DIR}/plugins")
|
||||||
set(INSTALL_PLUGINSSRV_DIR "${INSTALL_LIB_DIR}/pluginssrv")
|
set(INSTALL_PLUGINSSRV_DIR "${INSTALL_LIB_DIR}/pluginssrv")
|
||||||
|
|
||||||
|
if(ANDROID)
|
||||||
|
set(PLUGINS_PREFIX "sdrangel_plugins_")
|
||||||
|
set(PLUGINSSRV_PREFIX "sdrangel_pluginssrv_")
|
||||||
|
else()
|
||||||
|
set(PLUGINS_PREFIX "")
|
||||||
|
set(PLUGINSSRV_PREFIX "")
|
||||||
|
endif()
|
||||||
set(EXTERNAL_BUILD_LIBRARIES "${CMAKE_BINARY_DIR}/external")
|
set(EXTERNAL_BUILD_LIBRARIES "${CMAKE_BINARY_DIR}/external")
|
||||||
|
|
||||||
# custom libraries
|
# custom libraries
|
||||||
@ -579,6 +587,7 @@ elseif(ANDROID)
|
|||||||
CACHE INTERNAL ""
|
CACHE INTERNAL ""
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
add_compile_definitions(ANDROID)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# When building a bundle on MacOS, we want to keep build paths in the library
|
# When building a bundle on MacOS, we want to keep build paths in the library
|
||||||
@ -659,6 +668,7 @@ if (BUILD_GUI)
|
|||||||
if (ENABLE_QT6)
|
if (ENABLE_QT6)
|
||||||
find_package(Qt6
|
find_package(Qt6
|
||||||
REQUIRED COMPONENTS
|
REQUIRED COMPONENTS
|
||||||
|
Location
|
||||||
OpenGL
|
OpenGL
|
||||||
OpenGLWidgets
|
OpenGLWidgets
|
||||||
Quick
|
Quick
|
||||||
|
@ -27,9 +27,14 @@ set_target_properties(soapysdrdevice
|
|||||||
|
|
||||||
target_link_libraries(soapysdrdevice
|
target_link_libraries(soapysdrdevice
|
||||||
${SOAPYSDR_LINK_LIBRARIES}
|
${SOAPYSDR_LINK_LIBRARIES}
|
||||||
|
${SOAPYSDR_LIBRARIES}
|
||||||
sdrbase
|
sdrbase
|
||||||
)
|
)
|
||||||
|
|
||||||
|
target_link_directories(soapysdrdevice PRIVATE
|
||||||
|
${SOAPYSDR_LIBRARY_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
if(SOAPYSDR_EXTERNAL AND NOT LINUX)
|
if(SOAPYSDR_EXTERNAL AND NOT LINUX)
|
||||||
add_dependencies(soapysdrdevice soapysdr)
|
add_dependencies(soapysdrdevice soapysdr)
|
||||||
endif()
|
endif()
|
||||||
|
@ -85,8 +85,9 @@ struct FT8_API cdecode
|
|||||||
// total transmission time is 12.64 seconds
|
// total transmission time is 12.64 seconds
|
||||||
|
|
||||||
// tunable parameters
|
// tunable parameters
|
||||||
struct FT8_API FT8Params
|
class FT8_API FT8Params
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
int nthreads; // number of parallel threads, for multi-core
|
int nthreads; // number of parallel threads, for multi-core
|
||||||
int npasses_one; // number of spectral subtraction passes
|
int npasses_one; // number of spectral subtraction passes
|
||||||
int npasses_two; // number of spectral subtraction passes
|
int npasses_two; // number of spectral subtraction passes
|
||||||
|
@ -94,7 +94,7 @@ void HttpConnectionHandlerPool::cleanup()
|
|||||||
if (++idleCounter > maxIdleHandlers)
|
if (++idleCounter > maxIdleHandlers)
|
||||||
{
|
{
|
||||||
pool.removeOne(handler);
|
pool.removeOne(handler);
|
||||||
qDebug("HttpConnectionHandlerPool: Removed connection handler (%p), pool size is now %i",handler,pool.size());
|
qDebug("HttpConnectionHandlerPool: Removed connection handler (%p), pool size is now %i",handler,(int)pool.size());
|
||||||
delete handler;
|
delete handler;
|
||||||
break; // remove only one handler in each interval
|
break; // remove only one handler in each interval
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,7 @@ StaticFileController::StaticFileController(QSettings* settings, QObject* parent)
|
|||||||
maxCachedFileSize=settings->value("maxCachedFileSize","65536").toInt();
|
maxCachedFileSize=settings->value("maxCachedFileSize","65536").toInt();
|
||||||
cache.setMaxCost(settings->value("cacheSize","1000000").toInt());
|
cache.setMaxCost(settings->value("cacheSize","1000000").toInt());
|
||||||
cacheTimeout=settings->value("cacheTime","60000").toInt();
|
cacheTimeout=settings->value("cacheTime","60000").toInt();
|
||||||
qDebug("StaticFileController: cache timeout=%i, size=%i",cacheTimeout,cache.maxCost());
|
qDebug("StaticFileController: cache timeout=%i, size=%i",cacheTimeout,(int)cache.maxCost());
|
||||||
}
|
}
|
||||||
|
|
||||||
StaticFileController::StaticFileController(const HttpDocrootSettings& settings, QObject* parent)
|
StaticFileController::StaticFileController(const HttpDocrootSettings& settings, QObject* parent)
|
||||||
@ -56,7 +56,7 @@ StaticFileController::StaticFileController(const HttpDocrootSettings& settings,
|
|||||||
maxCachedFileSize=settings.maxCachedFileSize;
|
maxCachedFileSize=settings.maxCachedFileSize;
|
||||||
cache.setMaxCost(settings.cacheSize);
|
cache.setMaxCost(settings.cacheSize);
|
||||||
cacheTimeout=settings.cacheTime;
|
cacheTimeout=settings.cacheTime;
|
||||||
qDebug("StaticFileController: cache timeout=%i, size=%i",cacheTimeout,cache.maxCost());
|
qDebug("StaticFileController: cache timeout=%i, size=%i",cacheTimeout,(int)cache.maxCost());
|
||||||
}
|
}
|
||||||
|
|
||||||
void StaticFileController::service(HttpRequest& request, HttpResponse& response)
|
void StaticFileController::service(HttpRequest& request, HttpResponse& response)
|
||||||
|
@ -239,7 +239,7 @@ constexpr T to_int(uint8_t v)
|
|||||||
{
|
{
|
||||||
constexpr auto MAX_LOCAL_INPUT = (1 << (n - 1));
|
constexpr auto MAX_LOCAL_INPUT = (1 << (n - 1));
|
||||||
constexpr auto NEGATIVE_OFFSET = std::numeric_limits<typename std::make_unsigned<T>::type>::max() - (MAX_LOCAL_INPUT - 1);
|
constexpr auto NEGATIVE_OFFSET = std::numeric_limits<typename std::make_unsigned<T>::type>::max() - (MAX_LOCAL_INPUT - 1);
|
||||||
T r = v & (1 << (n - 1)) ? NEGATIVE_OFFSET : 0;
|
T r = v & (1 << (n - 1)) ? (T)NEGATIVE_OFFSET : 0;
|
||||||
return r + (v & (MAX_LOCAL_INPUT - 1));
|
return r + (v & (MAX_LOCAL_INPUT - 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,12 +34,12 @@ if (NOT SERVER_MODE)
|
|||||||
beamsteeringcwmodgui.h
|
beamsteeringcwmodgui.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME beamsteeringcwmod)
|
set(TARGET_NAME ${PLUGINS_PREFIX}beamsteeringcwmod)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME beamsteeringcwmodsrv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}beamsteeringcwmodsrv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -155,8 +155,6 @@ private:
|
|||||||
BeamSteeringCWModBaseband* m_basebandSource;
|
BeamSteeringCWModBaseband* m_basebandSource;
|
||||||
QMutex m_mutex;
|
QMutex m_mutex;
|
||||||
bool m_running;
|
bool m_running;
|
||||||
BasebandSampleSink* m_spectrumSink;
|
|
||||||
BasebandSampleSink* m_scopeSink;
|
|
||||||
BeamSteeringCWModSettings m_settings;
|
BeamSteeringCWModSettings m_settings;
|
||||||
|
|
||||||
QNetworkAccessManager *m_networkManager;
|
QNetworkAccessManager *m_networkManager;
|
||||||
@ -164,8 +162,6 @@ private:
|
|||||||
|
|
||||||
int64_t m_frequencyOffset;
|
int64_t m_frequencyOffset;
|
||||||
uint32_t m_basebandSampleRate;
|
uint32_t m_basebandSampleRate;
|
||||||
int m_count0;
|
|
||||||
int m_count1;
|
|
||||||
|
|
||||||
bool handleMessage(const Message& cmd) final; //!< Processing of a message. Returns true if message has actually been processed
|
bool handleMessage(const Message& cmd) final; //!< Processing of a message. Returns true if message has actually been processed
|
||||||
void applySettings(const BeamSteeringCWModSettings& settings, bool force = false);
|
void applySettings(const BeamSteeringCWModSettings& settings, bool force = false);
|
||||||
|
@ -38,12 +38,12 @@ if (NOT SERVER_MODE)
|
|||||||
doa2compass.cpp
|
doa2compass.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME doa2)
|
set(TARGET_NAME ${PLUGINS_PREFIX}doa2)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME doa2srv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}doa2srv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -173,8 +173,6 @@ private:
|
|||||||
int64_t m_frequencyOffset;
|
int64_t m_frequencyOffset;
|
||||||
uint32_t m_deviceSampleRate;
|
uint32_t m_deviceSampleRate;
|
||||||
qint64 m_deviceCenterFrequency;
|
qint64 m_deviceCenterFrequency;
|
||||||
int m_count0;
|
|
||||||
int m_count1;
|
|
||||||
|
|
||||||
bool handleMessage(const Message& cmd) final; //!< Processing of a message. Returns true if message has actually been processed
|
bool handleMessage(const Message& cmd) final; //!< Processing of a message. Returns true if message has actually been processed
|
||||||
void applySettings(const DOA2Settings& settings, bool force = false);
|
void applySettings(const DOA2Settings& settings, bool force = false);
|
||||||
|
@ -264,7 +264,7 @@ bool DOA2Correlator::performFFTProd(
|
|||||||
m_fft[0]->out() + m_fftSize,
|
m_fft[0]->out() + m_fftSize,
|
||||||
m_dataj,
|
m_dataj,
|
||||||
m_invFFT->in(),
|
m_invFFT->in(),
|
||||||
[this](std::complex<float>& a, const std::complex<float>& b) -> std::complex<float> {
|
[](std::complex<float>& a, const std::complex<float>& b) -> std::complex<float> {
|
||||||
return (a*b);
|
return (a*b);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -44,9 +44,6 @@ private:
|
|||||||
int m_dataSize;
|
int m_dataSize;
|
||||||
int m_bufferSize;
|
int m_bufferSize;
|
||||||
int m_dataStart;
|
int m_dataStart;
|
||||||
|
|
||||||
uint32_t m_log2Decim;
|
|
||||||
uint32_t m_filterChainHash;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -36,12 +36,12 @@ if (NOT SERVER_MODE)
|
|||||||
interferometergui.h
|
interferometergui.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME interferometer)
|
set(TARGET_NAME ${PLUGINS_PREFIX}interferometer)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME interferometersrv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}interferometersrv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -193,8 +193,6 @@ private:
|
|||||||
uint64_t m_centerFrequency;
|
uint64_t m_centerFrequency;
|
||||||
int64_t m_frequencyOffset;
|
int64_t m_frequencyOffset;
|
||||||
uint32_t m_deviceSampleRate;
|
uint32_t m_deviceSampleRate;
|
||||||
int m_count0;
|
|
||||||
int m_count1;
|
|
||||||
|
|
||||||
QList<int> m_localInputDeviceIndexes;
|
QList<int> m_localInputDeviceIndexes;
|
||||||
|
|
||||||
|
@ -555,7 +555,7 @@ bool InterferometerCorrelator::performFFTProd(
|
|||||||
m_fft2[0]->out() + m_fftSize,
|
m_fft2[0]->out() + m_fftSize,
|
||||||
m_dataj,
|
m_dataj,
|
||||||
m_invFFT2->in(),
|
m_invFFT2->in(),
|
||||||
[this](std::complex<float>& a, const std::complex<float>& b) -> std::complex<float> {
|
[](std::complex<float>& a, const std::complex<float>& b) -> std::complex<float> {
|
||||||
return (a*b);
|
return (a*b);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -44,9 +44,6 @@ private:
|
|||||||
int m_dataSize;
|
int m_dataSize;
|
||||||
int m_bufferSize;
|
int m_bufferSize;
|
||||||
int m_dataStart;
|
int m_dataStart;
|
||||||
|
|
||||||
uint32_t m_log2Decim;
|
|
||||||
uint32_t m_filterChainHash;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ include_directories(
|
|||||||
${Boost_INCLUDE_DIRS}
|
${Boost_INCLUDE_DIRS}
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME chanalyzer)
|
set(TARGET_NAME ${PLUGINS_PREFIX}chanalyzer)
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
|
|
||||||
add_library(${TARGET_NAME} SHARED
|
add_library(${TARGET_NAME} SHARED
|
||||||
|
@ -33,12 +33,12 @@ if(NOT SERVER_MODE)
|
|||||||
channelpowergui.h
|
channelpowergui.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME channelpower)
|
set(TARGET_NAME ${PLUGINS_PREFIX}channelpower)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME channelpowersrv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}channelpowersrv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -49,7 +49,7 @@ ChannelPower::ChannelPower(DeviceAPI *deviceAPI) :
|
|||||||
{
|
{
|
||||||
setObjectName(m_channelId);
|
setObjectName(m_channelId);
|
||||||
|
|
||||||
m_basebandSink = new ChannelPowerBaseband(this);
|
m_basebandSink = new ChannelPowerBaseband();
|
||||||
m_basebandSink->setChannel(this);
|
m_basebandSink->setChannel(this);
|
||||||
m_basebandSink->moveToThread(&m_thread);
|
m_basebandSink->moveToThread(&m_thread);
|
||||||
|
|
||||||
|
@ -25,8 +25,7 @@
|
|||||||
|
|
||||||
MESSAGE_CLASS_DEFINITION(ChannelPowerBaseband::MsgConfigureChannelPowerBaseband, Message)
|
MESSAGE_CLASS_DEFINITION(ChannelPowerBaseband::MsgConfigureChannelPowerBaseband, Message)
|
||||||
|
|
||||||
ChannelPowerBaseband::ChannelPowerBaseband(ChannelPower *channelPower) :
|
ChannelPowerBaseband::ChannelPowerBaseband() :
|
||||||
m_sink(channelPower),
|
|
||||||
m_running(false)
|
m_running(false)
|
||||||
{
|
{
|
||||||
qDebug("ChannelPowerBaseband::ChannelPowerBaseband");
|
qDebug("ChannelPowerBaseband::ChannelPowerBaseband");
|
||||||
|
@ -62,7 +62,7 @@ public:
|
|||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
ChannelPowerBaseband(ChannelPower *channelPower);
|
ChannelPowerBaseband();
|
||||||
~ChannelPowerBaseband();
|
~ChannelPowerBaseband();
|
||||||
void reset();
|
void reset();
|
||||||
void startWork();
|
void startWork();
|
||||||
|
@ -20,8 +20,7 @@
|
|||||||
|
|
||||||
#include "channelpowersink.h"
|
#include "channelpowersink.h"
|
||||||
|
|
||||||
ChannelPowerSink::ChannelPowerSink(ChannelPower *channelPower) :
|
ChannelPowerSink::ChannelPowerSink() :
|
||||||
m_channelPower(channelPower),
|
|
||||||
m_channelSampleRate(10000),
|
m_channelSampleRate(10000),
|
||||||
m_channelFrequencyOffset(0),
|
m_channelFrequencyOffset(0),
|
||||||
m_lowpassFFT(nullptr),
|
m_lowpassFFT(nullptr),
|
||||||
@ -41,7 +40,6 @@ ChannelPowerSink::~ChannelPowerSink()
|
|||||||
void ChannelPowerSink::feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end)
|
void ChannelPowerSink::feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end)
|
||||||
{
|
{
|
||||||
QMutexLocker mutexLocker(&m_mutex);
|
QMutexLocker mutexLocker(&m_mutex);
|
||||||
Complex ci;
|
|
||||||
|
|
||||||
for (SampleVector::const_iterator it = begin; it != end; ++it)
|
for (SampleVector::const_iterator it = begin; it != end; ++it)
|
||||||
{
|
{
|
||||||
|
@ -32,7 +32,7 @@ class ChannelPower;
|
|||||||
|
|
||||||
class ChannelPowerSink : public ChannelSampleSink {
|
class ChannelPowerSink : public ChannelSampleSink {
|
||||||
public:
|
public:
|
||||||
ChannelPowerSink(ChannelPower *channelPower);
|
ChannelPowerSink();
|
||||||
~ChannelPowerSink();
|
~ChannelPowerSink();
|
||||||
|
|
||||||
virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
|
virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
|
||||||
@ -65,7 +65,6 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
ChannelPower *m_channelPower;
|
|
||||||
ChannelPowerSettings m_settings;
|
ChannelPowerSettings m_settings;
|
||||||
ChannelAPI *m_channel;
|
ChannelAPI *m_channel;
|
||||||
int m_channelSampleRate;
|
int m_channelSampleRate;
|
||||||
|
@ -59,12 +59,12 @@ if(NOT SERVER_MODE)
|
|||||||
osndb.h
|
osndb.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME demodadsb)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demodadsb)
|
||||||
set(TARGET_LIB Qt::Widgets Qt::Quick Qt::QuickWidgets Qt::Positioning Qt::Location Qt::TextToSpeech)
|
set(TARGET_LIB Qt::Widgets Qt::Quick Qt::QuickWidgets Qt::Positioning Qt::Location Qt::TextToSpeech)
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME demodadsbsrv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodadsbsrv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -4991,7 +4991,7 @@ ADSBDemodGUI::ADSBDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, Baseb
|
|||||||
m_azEl.setLocation(stationLatitude, stationLongitude, stationAltitude);
|
m_azEl.setLocation(stationLatitude, stationLongitude, stationAltitude);
|
||||||
|
|
||||||
// These are the default values in sdrbase/settings/preferences.cpp
|
// These are the default values in sdrbase/settings/preferences.cpp
|
||||||
if ((stationLatitude == 49.012423) && (stationLongitude == 8.418125)) {
|
if ((stationLatitude == (float)49.012423) && (stationLongitude == (float)8.418125)) {
|
||||||
ui->warning->setText("Please set your antenna location under Preferences > My Position");
|
ui->warning->setText("Please set your antenna location under Preferences > My Position");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -811,6 +811,8 @@ public:
|
|||||||
{
|
{
|
||||||
m_aircraftRegExp.optimize();
|
m_aircraftRegExp.optimize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual ~ModelMatch() = default;
|
||||||
|
|
||||||
virtual bool match(const QString &aircraft, const QString &manufacturer, QString &model)
|
virtual bool match(const QString &aircraft, const QString &manufacturer, QString &model)
|
||||||
{
|
{
|
||||||
|
@ -79,7 +79,6 @@ void ADSBDemodSink::feed(const SampleVector::const_iterator& begin, const Sample
|
|||||||
for (SampleVector::const_iterator it = begin; it != end; ++it)
|
for (SampleVector::const_iterator it = begin; it != end; ++it)
|
||||||
{
|
{
|
||||||
Complex c(it->real(), it->imag());
|
Complex c(it->real(), it->imag());
|
||||||
Complex ci;
|
|
||||||
c *= m_nco.nextIQ();
|
c *= m_nco.nextIQ();
|
||||||
processOneSample(complexMagSq(c));
|
processOneSample(complexMagSq(c));
|
||||||
}
|
}
|
||||||
|
@ -33,12 +33,12 @@ if(NOT SERVER_MODE)
|
|||||||
aisdemodgui.h
|
aisdemodgui.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME demodais)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demodais)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME demodaissrv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodaissrv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -118,8 +118,6 @@ void AISDemodSink::feed(const SampleVector::const_iterator& begin, const SampleV
|
|||||||
|
|
||||||
void AISDemodSink::processOneSample(Complex &ci)
|
void AISDemodSink::processOneSample(Complex &ci)
|
||||||
{
|
{
|
||||||
Complex ca;
|
|
||||||
|
|
||||||
// FM demodulation
|
// FM demodulation
|
||||||
double magsqRaw;
|
double magsqRaw;
|
||||||
Real deviation;
|
Real deviation;
|
||||||
|
@ -37,12 +37,12 @@ if(NOT SERVER_MODE)
|
|||||||
amdemodssbdialog.h
|
amdemodssbdialog.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME demodam)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demodam)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME demodamsrv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodamsrv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -663,7 +663,7 @@ void AMDemodGUI::snapClicked()
|
|||||||
{
|
{
|
||||||
applySnap();
|
applySnap();
|
||||||
|
|
||||||
qint64 value;
|
qint64 value = 0;
|
||||||
|
|
||||||
if (m_settings.m_frequencyMode == AMDemodSettings::Offset) {
|
if (m_settings.m_frequencyMode == AMDemodSettings::Offset) {
|
||||||
value = m_settings.m_inputFrequencyOffset;
|
value = m_settings.m_inputFrequencyOffset;
|
||||||
|
@ -44,12 +44,12 @@ if(NOT SERVER_MODE)
|
|||||||
aptdemodselectdialog.h
|
aptdemodselectdialog.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME demodapt)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demodapt)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME demodaptsrv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodaptsrv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -55,7 +55,7 @@ APTDemod::APTDemod(DeviceAPI *deviceAPI) :
|
|||||||
{
|
{
|
||||||
setObjectName(m_channelId);
|
setObjectName(m_channelId);
|
||||||
|
|
||||||
m_basebandSink = new APTDemodBaseband(this);
|
m_basebandSink = new APTDemodBaseband();
|
||||||
m_basebandSink->moveToThread(&m_thread);
|
m_basebandSink->moveToThread(&m_thread);
|
||||||
|
|
||||||
m_imageWorker = new APTDemodImageWorker(this);
|
m_imageWorker = new APTDemodImageWorker(this);
|
||||||
|
@ -26,8 +26,7 @@
|
|||||||
|
|
||||||
MESSAGE_CLASS_DEFINITION(APTDemodBaseband::MsgConfigureAPTDemodBaseband, Message)
|
MESSAGE_CLASS_DEFINITION(APTDemodBaseband::MsgConfigureAPTDemodBaseband, Message)
|
||||||
|
|
||||||
APTDemodBaseband::APTDemodBaseband(APTDemod *packetDemod) :
|
APTDemodBaseband::APTDemodBaseband() :
|
||||||
m_sink(packetDemod),
|
|
||||||
m_running(false)
|
m_running(false)
|
||||||
{
|
{
|
||||||
qDebug("APTDemodBaseband::APTDemodBaseband");
|
qDebug("APTDemodBaseband::APTDemodBaseband");
|
||||||
|
@ -58,7 +58,7 @@ public:
|
|||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
APTDemodBaseband(APTDemod *packetDemod);
|
APTDemodBaseband();
|
||||||
~APTDemodBaseband();
|
~APTDemodBaseband();
|
||||||
void reset();
|
void reset();
|
||||||
void startWork();
|
void startWork();
|
||||||
|
@ -23,8 +23,7 @@
|
|||||||
#include "aptdemod.h"
|
#include "aptdemod.h"
|
||||||
#include "aptdemodsink.h"
|
#include "aptdemodsink.h"
|
||||||
|
|
||||||
APTDemodSink::APTDemodSink(APTDemod *packetDemod) :
|
APTDemodSink::APTDemodSink() :
|
||||||
m_aptDemod(packetDemod),
|
|
||||||
m_channelSampleRate(APTDEMOD_AUDIO_SAMPLE_RATE),
|
m_channelSampleRate(APTDEMOD_AUDIO_SAMPLE_RATE),
|
||||||
m_channelFrequencyOffset(0),
|
m_channelFrequencyOffset(0),
|
||||||
m_magsqSum(0.0f),
|
m_magsqSum(0.0f),
|
||||||
@ -33,6 +32,7 @@ APTDemodSink::APTDemodSink(APTDemod *packetDemod) :
|
|||||||
m_imageWorkerMessageQueue(nullptr),
|
m_imageWorkerMessageQueue(nullptr),
|
||||||
m_samples(nullptr)
|
m_samples(nullptr)
|
||||||
{
|
{
|
||||||
|
|
||||||
m_magsq = 0.0;
|
m_magsq = 0.0;
|
||||||
|
|
||||||
applySettings(m_settings, true);
|
applySettings(m_settings, true);
|
||||||
@ -129,8 +129,6 @@ void APTDemodSink::feed(const SampleVector::const_iterator& begin, const SampleV
|
|||||||
|
|
||||||
void APTDemodSink::processOneSample(Complex &ci)
|
void APTDemodSink::processOneSample(Complex &ci)
|
||||||
{
|
{
|
||||||
Complex ca;
|
|
||||||
|
|
||||||
// FM demodulation
|
// FM demodulation
|
||||||
double magsqRaw;
|
double magsqRaw;
|
||||||
Real deviation;
|
Real deviation;
|
||||||
|
@ -44,7 +44,7 @@ class APTDemod;
|
|||||||
|
|
||||||
class APTDemodSink : public ChannelSampleSink {
|
class APTDemodSink : public ChannelSampleSink {
|
||||||
public:
|
public:
|
||||||
APTDemodSink(APTDemod *packetDemod);
|
APTDemodSink();
|
||||||
~APTDemodSink();
|
~APTDemodSink();
|
||||||
|
|
||||||
virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
|
virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
|
||||||
@ -87,7 +87,6 @@ private:
|
|||||||
double m_magsqPeak;
|
double m_magsqPeak;
|
||||||
};
|
};
|
||||||
|
|
||||||
APTDemod *m_aptDemod;
|
|
||||||
APTDemodSettings m_settings;
|
APTDemodSettings m_settings;
|
||||||
int m_channelSampleRate;
|
int m_channelSampleRate;
|
||||||
int m_channelFrequencyOffset;
|
int m_channelFrequencyOffset;
|
||||||
|
@ -26,7 +26,7 @@ include_directories(
|
|||||||
${Boost_INCLUDE_DIRS}
|
${Boost_INCLUDE_DIRS}
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME demodatv)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demodatv)
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
|
|
||||||
add_library(${TARGET_NAME} SHARED
|
add_library(${TARGET_NAME} SHARED
|
||||||
|
@ -101,9 +101,6 @@ struct ATVDemodSettings
|
|||||||
static float getNominalLineTime(int nbLines, int fps);
|
static float getNominalLineTime(int nbLines, int fps);
|
||||||
static float getRFBandwidthDivisor(ATVModulation modulation);
|
static float getRFBandwidthDivisor(ATVModulation modulation);
|
||||||
static void getBaseValues(int sampleRate, int linesPerSecond, uint32_t& nbPointsPerLine);
|
static void getBaseValues(int sampleRate, int linesPerSecond, uint32_t& nbPointsPerLine);
|
||||||
|
|
||||||
private:
|
|
||||||
int m_rfSliderDivisor;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* PLUGINS_CHANNELRX_DEMODATV_ATVDEMODSETTINGS_H_ */
|
#endif /* PLUGINS_CHANNELRX_DEMODATV_ATVDEMODSETTINGS_H_ */
|
||||||
|
@ -163,7 +163,6 @@ private:
|
|||||||
int m_hSyncErrorCount;
|
int m_hSyncErrorCount;
|
||||||
|
|
||||||
float prevSample;
|
float prevSample;
|
||||||
int m_avgColIndex;
|
|
||||||
|
|
||||||
SampleVector m_sampleBuffer;
|
SampleVector m_sampleBuffer;
|
||||||
|
|
||||||
|
@ -44,12 +44,12 @@ if(NOT SERVER_MODE)
|
|||||||
bfmdemodgui.h
|
bfmdemodgui.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME demodbfm)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demodbfm)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME demodbfmsrv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodbfmsrv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -467,7 +467,6 @@ void RDSParser::decode_type0(unsigned int *group, bool B)
|
|||||||
{
|
{
|
||||||
unsigned int af_code_1 = 0;
|
unsigned int af_code_1 = 0;
|
||||||
unsigned int af_code_2 = 0;
|
unsigned int af_code_2 = 0;
|
||||||
unsigned int no_af = 0;
|
|
||||||
double af_1 = 0;
|
double af_1 = 0;
|
||||||
double af_2 = 0;
|
double af_2 = 0;
|
||||||
|
|
||||||
@ -534,7 +533,7 @@ void RDSParser::decode_type0(unsigned int *group, bool B)
|
|||||||
// @TODO: Find proper header or STL on OSX
|
// @TODO: Find proper header or STL on OSX
|
||||||
auto res = m_g0_alt_freq.insert(af_1/1e3);
|
auto res = m_g0_alt_freq.insert(af_1/1e3);
|
||||||
m_g0_af_updated = m_g0_af_updated || res.second;
|
m_g0_af_updated = m_g0_af_updated || res.second;
|
||||||
no_af += 1;
|
// no_af += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (af_2)
|
if (af_2)
|
||||||
@ -542,7 +541,7 @@ void RDSParser::decode_type0(unsigned int *group, bool B)
|
|||||||
// @TODO: Find proper header or STL on OSX
|
// @TODO: Find proper header or STL on OSX
|
||||||
auto res = m_g0_alt_freq.insert(af_2/1e3);
|
auto res = m_g0_alt_freq.insert(af_2/1e3);
|
||||||
m_g0_af_updated = m_g0_af_updated || res.second;
|
m_g0_af_updated = m_g0_af_updated || res.second;
|
||||||
no_af += 2;
|
// no_af += 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -48,12 +48,12 @@ if(NOT SERVER_MODE)
|
|||||||
${chirpchat_HEADERS}
|
${chirpchat_HEADERS}
|
||||||
chirpchatdemodgui.h
|
chirpchatdemodgui.h
|
||||||
)
|
)
|
||||||
set(TARGET_NAME demodchirpchat)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demodchirpchat)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME demodchirpchatsrv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodchirpchatsrv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -38,12 +38,12 @@ if(NOT SERVER_MODE)
|
|||||||
dabdemodgui.h
|
dabdemodgui.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME demoddab)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demoddab)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME demoddabsrv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}demoddabsrv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -64,7 +64,7 @@ DABDemod::DABDemod(DeviceAPI *deviceAPI) :
|
|||||||
{
|
{
|
||||||
setObjectName(m_channelId);
|
setObjectName(m_channelId);
|
||||||
|
|
||||||
m_basebandSink = new DABDemodBaseband(this);
|
m_basebandSink = new DABDemodBaseband();
|
||||||
m_basebandSink->setMessageQueueToChannel(getInputMessageQueue());
|
m_basebandSink->setMessageQueueToChannel(getInputMessageQueue());
|
||||||
m_basebandSink->setChannel(this);
|
m_basebandSink->setChannel(this);
|
||||||
m_basebandSink->moveToThread(&m_thread);
|
m_basebandSink->moveToThread(&m_thread);
|
||||||
|
@ -28,8 +28,7 @@
|
|||||||
|
|
||||||
MESSAGE_CLASS_DEFINITION(DABDemodBaseband::MsgConfigureDABDemodBaseband, Message)
|
MESSAGE_CLASS_DEFINITION(DABDemodBaseband::MsgConfigureDABDemodBaseband, Message)
|
||||||
|
|
||||||
DABDemodBaseband::DABDemodBaseband(DABDemod *packetDemod) :
|
DABDemodBaseband::DABDemodBaseband() :
|
||||||
m_sink(packetDemod),
|
|
||||||
m_running(false)
|
m_running(false)
|
||||||
{
|
{
|
||||||
qDebug("DABDemodBaseband::DABDemodBaseband");
|
qDebug("DABDemodBaseband::DABDemodBaseband");
|
||||||
|
@ -60,7 +60,7 @@ public:
|
|||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
DABDemodBaseband(DABDemod *packetDemod);
|
DABDemodBaseband();
|
||||||
~DABDemodBaseband();
|
~DABDemodBaseband();
|
||||||
void reset();
|
void reset();
|
||||||
void startWork();
|
void startWork();
|
||||||
|
@ -487,8 +487,7 @@ void DABDemodSink::processOneAudioSample(Complex &ci)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DABDemodSink::DABDemodSink(DABDemod *packetDemod) :
|
DABDemodSink::DABDemodSink() :
|
||||||
m_dabDemod(packetDemod),
|
|
||||||
m_audioSampleRate(48000),
|
m_audioSampleRate(48000),
|
||||||
m_dabAudioSampleRate(10000), // Unused value to begin with
|
m_dabAudioSampleRate(10000), // Unused value to begin with
|
||||||
m_channelSampleRate(DABDEMOD_CHANNEL_SAMPLE_RATE),
|
m_channelSampleRate(DABDEMOD_CHANNEL_SAMPLE_RATE),
|
||||||
|
@ -43,7 +43,7 @@ class DABDemod;
|
|||||||
|
|
||||||
class DABDemodSink : public ChannelSampleSink {
|
class DABDemodSink : public ChannelSampleSink {
|
||||||
public:
|
public:
|
||||||
DABDemodSink(DABDemod *packetDemod);
|
DABDemodSink();
|
||||||
~DABDemodSink();
|
~DABDemodSink();
|
||||||
|
|
||||||
virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
|
virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
|
||||||
@ -106,7 +106,6 @@ private:
|
|||||||
double m_magsqPeak;
|
double m_magsqPeak;
|
||||||
};
|
};
|
||||||
|
|
||||||
DABDemod *m_dabDemod;
|
|
||||||
DABDemodSettings m_settings;
|
DABDemodSettings m_settings;
|
||||||
ChannelAPI *m_channel;
|
ChannelAPI *m_channel;
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@ include_directories(
|
|||||||
${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client
|
${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME demoddatv)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demoddatv)
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
|
|
||||||
add_library(${TARGET_NAME} SHARED
|
add_library(${TARGET_NAME} SHARED
|
||||||
|
@ -1096,12 +1096,12 @@ void DATVDemodSink::InitDATVS2Framework()
|
|||||||
p_vbitcount= new leansdr::pipebuf<int>(m_objScheduler, "Bits processed", BUF_S2PACKETS);
|
p_vbitcount= new leansdr::pipebuf<int>(m_objScheduler, "Bits processed", BUF_S2PACKETS);
|
||||||
p_verrcount = new leansdr::pipebuf<int>(m_objScheduler, "Bits corrected", BUF_S2PACKETS);
|
p_verrcount = new leansdr::pipebuf<int>(m_objScheduler, "Bits corrected", BUF_S2PACKETS);
|
||||||
|
|
||||||
bool commandFileValid = false;
|
// bool commandFileValid = false;
|
||||||
|
|
||||||
if (QFileInfo::exists(m_settings.m_softLDPCToolPath))
|
if (QFileInfo::exists(m_settings.m_softLDPCToolPath))
|
||||||
{
|
{
|
||||||
QFileInfo fileInfo = QFileInfo(m_settings.m_softLDPCToolPath);
|
QFileInfo fileInfo = QFileInfo(m_settings.m_softLDPCToolPath);
|
||||||
commandFileValid = fileInfo.isExecutable();
|
// commandFileValid = fileInfo.isExecutable();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_settings.m_softLDPC /*&& commandFileValid*/)
|
if (m_settings.m_softLDPC /*&& commandFileValid*/)
|
||||||
@ -1195,11 +1195,6 @@ void DATVDemodSink::InitDATVS2Framework()
|
|||||||
|
|
||||||
void DATVDemodSink::feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end)
|
void DATVDemodSink::feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end)
|
||||||
{
|
{
|
||||||
float fltI;
|
|
||||||
float fltQ;
|
|
||||||
fftfilt::cmplx *objRF;
|
|
||||||
int intRFOut;
|
|
||||||
int lngWritable=0;
|
|
||||||
leansdr::s2_frame_receiver<leansdr::f32, leansdr::llr_ss> *objDemodulatorDVBS2 =
|
leansdr::s2_frame_receiver<leansdr::f32, leansdr::llr_ss> *objDemodulatorDVBS2 =
|
||||||
(leansdr::s2_frame_receiver<leansdr::f32, leansdr::llr_ss> *) m_objDemodulatorDVBS2;
|
(leansdr::s2_frame_receiver<leansdr::f32, leansdr::llr_ss> *) m_objDemodulatorDVBS2;
|
||||||
|
|
||||||
|
@ -333,8 +333,8 @@ private:
|
|||||||
Interpolator m_interpolator;
|
Interpolator m_interpolator;
|
||||||
Real m_interpolatorDistance;
|
Real m_interpolatorDistance;
|
||||||
Real m_interpolatorDistanceRemain;
|
Real m_interpolatorDistanceRemain;
|
||||||
static const int m_interpolatorPhaseSteps = 4; // Higher than these two values will struggle to run in real-time
|
static constexpr int m_interpolatorPhaseSteps = 4; // Higher than these two values will struggle to run in real-time
|
||||||
static const int m_interpolatorTapsPerPhase = 3.5f; // without gaining much improvement in PER
|
static constexpr float m_interpolatorTapsPerPhase = 3.5f; // without gaining much improvement in PER
|
||||||
|
|
||||||
bool m_blnInitialized;
|
bool m_blnInitialized;
|
||||||
bool m_blnRenderingVideo;
|
bool m_blnRenderingVideo;
|
||||||
|
@ -279,7 +279,11 @@ bool DATVideoRender::preprocessStream()
|
|||||||
m_metaData.Width = m_videoDecoderCtx->width;
|
m_metaData.Width = m_videoDecoderCtx->width;
|
||||||
m_metaData.Height = m_videoDecoderCtx->height;
|
m_metaData.Height = m_videoDecoderCtx->height;
|
||||||
m_metaData.BitRate = m_videoDecoderCtx->bit_rate;
|
m_metaData.BitRate = m_videoDecoderCtx->bit_rate;
|
||||||
|
#if LIBAVUTIL_VERSION_MAJOR < 59
|
||||||
m_metaData.Channels = m_videoDecoderCtx->channels;
|
m_metaData.Channels = m_videoDecoderCtx->channels;
|
||||||
|
#else
|
||||||
|
m_metaData.Channels = m_videoDecoderCtx->ch_layout.nb_channels;
|
||||||
|
#endif
|
||||||
m_metaData.CodecDescription = QString("%1").arg(videoCodec->long_name);
|
m_metaData.CodecDescription = QString("%1").arg(videoCodec->long_name);
|
||||||
m_metaData.OK_VideoStream = true;
|
m_metaData.OK_VideoStream = true;
|
||||||
|
|
||||||
@ -305,8 +309,13 @@ bool DATVideoRender::preprocessStream()
|
|||||||
//m_audioDecoderCtx = m_formatCtx->streams[m_audioStreamIndex]->codec; // old style
|
//m_audioDecoderCtx = m_formatCtx->streams[m_audioStreamIndex]->codec; // old style
|
||||||
|
|
||||||
qDebug() << "DATVideoRender::preprocessStream: audio: "
|
qDebug() << "DATVideoRender::preprocessStream: audio: "
|
||||||
|
#if LIBAVUTIL_VERSION_MAJOR < 59
|
||||||
<< " channels: " << m_audioDecoderCtx->channels
|
<< " channels: " << m_audioDecoderCtx->channels
|
||||||
<< " channel_layout: " << m_audioDecoderCtx->channel_layout
|
<< " channel_layout: " << m_audioDecoderCtx->channel_layout
|
||||||
|
#else
|
||||||
|
<< " channels: " << m_audioDecoderCtx->ch_layout.nb_channels
|
||||||
|
<< " channel_layout: " << m_audioDecoderCtx->ch_layout.u.mask
|
||||||
|
#endif
|
||||||
<< " sample_rate: " << m_audioDecoderCtx->sample_rate
|
<< " sample_rate: " << m_audioDecoderCtx->sample_rate
|
||||||
<< " sample_fmt: " << m_audioDecoderCtx->sample_fmt
|
<< " sample_fmt: " << m_audioDecoderCtx->sample_fmt
|
||||||
<< " codec_id: "<< m_audioDecoderCtx->codec_id;
|
<< " codec_id: "<< m_audioDecoderCtx->codec_id;
|
||||||
@ -625,10 +634,16 @@ void DATVideoRender::setResampler()
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_audioSWR = swr_alloc();
|
m_audioSWR = swr_alloc();
|
||||||
|
#if LIBAVUTIL_VERSION_MAJOR < 59
|
||||||
av_opt_set_int(m_audioSWR, "in_channel_count", m_audioDecoderCtx->channels, 0);
|
av_opt_set_int(m_audioSWR, "in_channel_count", m_audioDecoderCtx->channels, 0);
|
||||||
av_opt_set_int(m_audioSWR, "out_channel_count", 2, 0);
|
av_opt_set_int(m_audioSWR, "out_channel_count", 2, 0);
|
||||||
av_opt_set_int(m_audioSWR, "in_channel_layout", m_audioDecoderCtx->channel_layout, 0);
|
av_opt_set_int(m_audioSWR, "in_channel_layout", m_audioDecoderCtx->channel_layout, 0);
|
||||||
av_opt_set_int(m_audioSWR, "out_channel_layout", AV_CH_LAYOUT_STEREO, 0);
|
av_opt_set_int(m_audioSWR, "out_channel_layout", AV_CH_LAYOUT_STEREO, 0);
|
||||||
|
#else
|
||||||
|
AVChannelLayout out_chlayout = AV_CHANNEL_LAYOUT_STEREO;
|
||||||
|
av_opt_set_chlayout(m_audioSWR, "in_chlayout", &m_audioDecoderCtx->ch_layout, 0);
|
||||||
|
av_opt_set_chlayout(m_audioSWR, "out_chlayout", &out_chlayout, 0);
|
||||||
|
#endif
|
||||||
av_opt_set_int(m_audioSWR, "in_sample_rate", m_audioDecoderCtx->sample_rate, 0);
|
av_opt_set_int(m_audioSWR, "in_sample_rate", m_audioDecoderCtx->sample_rate, 0);
|
||||||
av_opt_set_int(m_audioSWR, "out_sample_rate", m_audioSampleRate, 0);
|
av_opt_set_int(m_audioSWR, "out_sample_rate", m_audioSampleRate, 0);
|
||||||
av_opt_set_sample_fmt(m_audioSWR, "in_sample_fmt", m_audioDecoderCtx->sample_fmt, 0);
|
av_opt_set_sample_fmt(m_audioSWR, "in_sample_fmt", m_audioDecoderCtx->sample_fmt, 0);
|
||||||
@ -637,10 +652,17 @@ void DATVideoRender::setResampler()
|
|||||||
swr_init(m_audioSWR);
|
swr_init(m_audioSWR);
|
||||||
|
|
||||||
qDebug() << "DATVideoRender::setResampler: "
|
qDebug() << "DATVideoRender::setResampler: "
|
||||||
|
#if LIBAVUTIL_VERSION_MAJOR < 59
|
||||||
<< " in_channel_count: " << m_audioDecoderCtx->channels
|
<< " in_channel_count: " << m_audioDecoderCtx->channels
|
||||||
<< " out_channel_count: " << 2
|
<< " out_channel_count: " << 2
|
||||||
<< " in_channel_layout: " << m_audioDecoderCtx->channel_layout
|
<< " in_channel_layout: " << m_audioDecoderCtx->channel_layout
|
||||||
<< " out_channel_layout: " << AV_CH_LAYOUT_STEREO
|
<< " out_channel_layout: " << AV_CH_LAYOUT_STEREO
|
||||||
|
#else
|
||||||
|
<< " in_channel_count: " << m_audioDecoderCtx->ch_layout.nb_channels
|
||||||
|
<< " out_channel_count: " << 2
|
||||||
|
<< " in_channel_layout: " << m_audioDecoderCtx->ch_layout.u.mask
|
||||||
|
<< " out_channel_layout: " << out_chlayout.u.mask
|
||||||
|
#endif
|
||||||
<< " in_sample_rate: " << m_audioDecoderCtx->sample_rate
|
<< " in_sample_rate: " << m_audioDecoderCtx->sample_rate
|
||||||
<< " out_sample_rate: " << m_audioSampleRate
|
<< " out_sample_rate: " << m_audioSampleRate
|
||||||
<< " in_sample_fmt: " << m_audioDecoderCtx->sample_fmt
|
<< " in_sample_fmt: " << m_audioDecoderCtx->sample_fmt
|
||||||
|
@ -58,7 +58,7 @@ struct bitvect
|
|||||||
for (int i = 0; i < nw; ++i)
|
for (int i = 0; i < nw; ++i)
|
||||||
v[i] = a.v[i];
|
v[i] = a.v[i];
|
||||||
if (M < N)
|
if (M < N)
|
||||||
for (int i = a.NW; i < NW; ++i)
|
for (size_t i = a.NW; i < NW; ++i)
|
||||||
v[i] = 0;
|
v[i] = 0;
|
||||||
if (M > N)
|
if (M > N)
|
||||||
truncate_to_N();
|
truncate_to_N();
|
||||||
|
@ -458,6 +458,8 @@ struct s2_frame_transmitter : runnable
|
|||||||
std::complex<T> *pout
|
std::complex<T> *pout
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
(void)mcinfo;
|
||||||
|
|
||||||
std::complex<T> *pout0 = pout; // For sanity check
|
std::complex<T> *pout0 = pout; // For sanity check
|
||||||
// PLHEADER: SOF AND PLSCODE
|
// PLHEADER: SOF AND PLSCODE
|
||||||
// EN 302 307-1 section 5.5.2 PL signalling
|
// EN 302 307-1 section 5.5.2 PL signalling
|
||||||
@ -2584,6 +2586,8 @@ struct s2_deinterleaver : runnable
|
|||||||
static inline void split_symbol(const llr_ss &ps,
|
static inline void split_symbol(const llr_ss &ps,
|
||||||
hard_sb accs[/*bps*/], int nacc)
|
hard_sb accs[/*bps*/], int nacc)
|
||||||
{
|
{
|
||||||
|
(void)nacc;
|
||||||
|
|
||||||
if (MSB_FIRST)
|
if (MSB_FIRST)
|
||||||
{
|
{
|
||||||
for (int b = 0; b < BPS; ++b) {
|
for (int b = 0; b < BPS; ++b) {
|
||||||
@ -3833,10 +3837,6 @@ struct s2_fecdec_helper : runnable
|
|||||||
// Receive a finished job.
|
// Receive a finished job.
|
||||||
void receive_frame(const helper_job *job)
|
void receive_frame(const helper_job *job)
|
||||||
{
|
{
|
||||||
// Read corrected frame from helper
|
|
||||||
const s2_pls *pls = &job->pls;
|
|
||||||
int iosize = (pls->framebits() / 8) * sizeof(ldpc_buf[0]);
|
|
||||||
|
|
||||||
// Non blocking read - will do the next time if no adata is available
|
// Non blocking read - will do the next time if no adata is available
|
||||||
if (job->h->m_worker->dataAvailable())
|
if (job->h->m_worker->dataAvailable())
|
||||||
{
|
{
|
||||||
@ -4267,7 +4267,6 @@ private:
|
|||||||
// 188 = waiting for CRC
|
// 188 = waiting for CRC
|
||||||
uint8_t leftover[188];
|
uint8_t leftover[188];
|
||||||
static const int MAX_TS_PER_BBFRAME = fec_info::KBCH_MAX / 8 / 188 + 1;
|
static const int MAX_TS_PER_BBFRAME = fec_info::KBCH_MAX / 8 / 188 + 1;
|
||||||
bool locked;
|
|
||||||
pipereader<bbframe> in;
|
pipereader<bbframe> in;
|
||||||
pipewriter<tspacket> out;
|
pipewriter<tspacket> out;
|
||||||
int current_state;
|
int current_state;
|
||||||
|
@ -544,6 +544,7 @@ struct serializer : runnable
|
|||||||
in(_in),
|
in(_in),
|
||||||
out(_out, nout)
|
out(_out, nout)
|
||||||
{
|
{
|
||||||
|
(void)sch;
|
||||||
if (nin * sizeof(Tin) != nout * sizeof(Tout)) {
|
if (nin * sizeof(Tin) != nout * sizeof(Tout)) {
|
||||||
fail("serializer: incompatible sizes");
|
fail("serializer: incompatible sizes");
|
||||||
}
|
}
|
||||||
|
@ -414,7 +414,6 @@ struct simple_agc : runnable
|
|||||||
float gain = estimated ? out_rms / sqrtf(estimated) : 0;
|
float gain = estimated ? out_rms / sqrtf(estimated) : 0;
|
||||||
pin = in.rd();
|
pin = in.rd();
|
||||||
std::complex<T> *pout = out.wr();
|
std::complex<T> *pout = out.wr();
|
||||||
float bwcomp = 1 - bw;
|
|
||||||
|
|
||||||
for (; pin < pend; ++pin, ++pout)
|
for (; pin < pend; ++pin, ++pout)
|
||||||
{
|
{
|
||||||
|
@ -33,12 +33,12 @@ if(NOT SERVER_MODE)
|
|||||||
dscdemodgui.h
|
dscdemodgui.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME demoddsc)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demoddsc)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME demoddscsrv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}demoddscsrv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -767,7 +767,7 @@ void DSCDemodGUI::customContextMenuRequested(QPoint pos)
|
|||||||
QAction* sendAreaToMapAction = new QAction(QString("Display %1 on map").arg(address), tableContextMenu);
|
QAction* sendAreaToMapAction = new QAction(QString("Display %1 on map").arg(address), tableContextMenu);
|
||||||
connect(sendAreaToMapAction, &QAction::triggered, this, [this, name, address, info]()->void {
|
connect(sendAreaToMapAction, &QAction::triggered, this, [this, name, address, info]()->void {
|
||||||
sendAreaToMapFeature(name, address, info);
|
sendAreaToMapFeature(name, address, info);
|
||||||
QTimer::singleShot(500, [this, name] {
|
QTimer::singleShot(500, [ name] {
|
||||||
FeatureWebAPIUtils::mapFind(name);
|
FeatureWebAPIUtils::mapFind(name);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -776,7 +776,7 @@ void DSCDemodGUI::customContextMenuRequested(QPoint pos)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
QAction* findAreaOnMapAction = new QAction(QString("Center map on %1").arg(address), tableContextMenu);
|
QAction* findAreaOnMapAction = new QAction(QString("Center map on %1").arg(address), tableContextMenu);
|
||||||
connect(findAreaOnMapAction, &QAction::triggered, this, [this, name]()->void {
|
connect(findAreaOnMapAction, &QAction::triggered, this, [ name]()->void {
|
||||||
FeatureWebAPIUtils::mapFind(name);
|
FeatureWebAPIUtils::mapFind(name);
|
||||||
});
|
});
|
||||||
tableContextMenu->addAction(findAreaOnMapAction);
|
tableContextMenu->addAction(findAreaOnMapAction);
|
||||||
@ -814,7 +814,7 @@ void DSCDemodGUI::customContextMenuRequested(QPoint pos)
|
|||||||
if (sampleSource)
|
if (sampleSource)
|
||||||
{
|
{
|
||||||
QAction* tuneRxAction = new QAction(QString("Tune SSB Demod %1:%2 to %3").arg(deviceSetIndex).arg(chi).arg(rxFormatted), tableContextMenu);
|
QAction* tuneRxAction = new QAction(QString("Tune SSB Demod %1:%2 to %3").arg(deviceSetIndex).arg(chi).arg(rxFormatted), tableContextMenu);
|
||||||
connect(tuneRxAction, &QAction::triggered, this, [this, deviceSetIndex, chi, rxFreq, sampleSource]()->void {
|
connect(tuneRxAction, &QAction::triggered, this, [deviceSetIndex, chi, rxFreq, sampleSource]()->void {
|
||||||
|
|
||||||
int bw = sampleSource->getSampleRate();
|
int bw = sampleSource->getSampleRate();
|
||||||
quint64 cf = sampleSource->getCenterFrequency();
|
quint64 cf = sampleSource->getCenterFrequency();
|
||||||
|
@ -42,12 +42,12 @@ if(NOT SERVER_MODE)
|
|||||||
dsdstatustextdialog.h
|
dsdstatustextdialog.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME demoddsd)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demoddsd)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME demoddsdsrv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}demoddsdsrv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -35,12 +35,12 @@ if(NOT SERVER_MODE)
|
|||||||
endoftraindemodgui.h
|
endoftraindemodgui.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME demodendoftrain)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demodendoftrain)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME demodendoftrainsrv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodendoftrainsrv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -119,8 +119,6 @@ void EndOfTrainDemodSink::feed(const SampleVector::const_iterator& begin, const
|
|||||||
|
|
||||||
void EndOfTrainDemodSink::processOneSample(Complex &ci)
|
void EndOfTrainDemodSink::processOneSample(Complex &ci)
|
||||||
{
|
{
|
||||||
Complex ca;
|
|
||||||
|
|
||||||
// FM demodulation
|
// FM demodulation
|
||||||
double magsqRaw;
|
double magsqRaw;
|
||||||
Real deviation;
|
Real deviation;
|
||||||
|
@ -33,12 +33,12 @@ if(NOT SERVER_MODE)
|
|||||||
${freedv_HEADERS}
|
${freedv_HEADERS}
|
||||||
freedvdemodgui.h
|
freedvdemodgui.h
|
||||||
)
|
)
|
||||||
set(TARGET_NAME demodfreedv)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demodfreedv)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME demodfreedvsrv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodfreedvsrv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -43,12 +43,12 @@ if(NOT SERVER_MODE)
|
|||||||
ft8demodfilterproxy.h
|
ft8demodfilterproxy.h
|
||||||
ft8demodsettingsdialog.h
|
ft8demodsettingsdialog.h
|
||||||
)
|
)
|
||||||
set(TARGET_NAME demodft8)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demodft8)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME demodft8srv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodft8srv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -697,7 +697,7 @@ void FT8Demod::sendChannelSettings(
|
|||||||
const FT8DemodSettings& settings,
|
const FT8DemodSettings& settings,
|
||||||
bool force)
|
bool force)
|
||||||
{
|
{
|
||||||
qDebug("FT8Demod::sendChannelSettings: %d pipes", pipes.size());
|
qDebug("FT8Demod::sendChannelSettings: %d pipes", (int)pipes.size());
|
||||||
|
|
||||||
for (const auto& pipe : pipes)
|
for (const auto& pipe : pipes)
|
||||||
{
|
{
|
||||||
|
@ -51,8 +51,9 @@ struct FT8DemodBandPreset
|
|||||||
int m_channelOffset;
|
int m_channelOffset;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct FT8DemodSettings
|
class FT8DemodSettings
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
enum MessageCol {
|
enum MessageCol {
|
||||||
MESSAGE_COL_UTC,
|
MESSAGE_COL_UTC,
|
||||||
MESSAGE_COL_TYPE,
|
MESSAGE_COL_TYPE,
|
||||||
|
@ -40,7 +40,6 @@ FT8DemodWorker::FT8Callback::FT8Callback(
|
|||||||
) :
|
) :
|
||||||
m_packing(packing),
|
m_packing(packing),
|
||||||
m_periodTS(periodTS),
|
m_periodTS(periodTS),
|
||||||
m_baseFrequency(baseFrequency),
|
|
||||||
m_name(name),
|
m_name(name),
|
||||||
m_validCallsigns(nullptr)
|
m_validCallsigns(nullptr)
|
||||||
{
|
{
|
||||||
@ -226,7 +225,7 @@ void FT8DemodWorker::processBuffer(int16_t *buffer, QDateTime periodTS)
|
|||||||
|
|
||||||
m_ft8Decoder.wait(m_decoderTimeBudget + 1.0); // add one second to budget to force quit threads
|
m_ft8Decoder.wait(m_decoderTimeBudget + 1.0); // add one second to budget to force quit threads
|
||||||
qDebug("FT8DemodWorker::processBuffer: done: at %6.3f %d messages",
|
qDebug("FT8DemodWorker::processBuffer: done: at %6.3f %d messages",
|
||||||
m_baseFrequency / 1000000.0, ft8Callback.getReportMessage()->getFT8Messages().size());
|
m_baseFrequency / 1000000.0, (int)ft8Callback.getReportMessage()->getFT8Messages().size());
|
||||||
|
|
||||||
if (m_reportingMessageQueue) {
|
if (m_reportingMessageQueue) {
|
||||||
m_reportingMessageQueue->push(new MsgReportFT8Messages(*ft8Callback.getReportMessage()));
|
m_reportingMessageQueue->push(new MsgReportFT8Messages(*ft8Callback.getReportMessage()));
|
||||||
|
@ -84,7 +84,6 @@ private:
|
|||||||
FT8::Packing& m_packing;
|
FT8::Packing& m_packing;
|
||||||
MsgReportFT8Messages *m_msgReportFT8Messages;
|
MsgReportFT8Messages *m_msgReportFT8Messages;
|
||||||
const QDateTime& m_periodTS;
|
const QDateTime& m_periodTS;
|
||||||
qint64 m_baseFrequency;
|
|
||||||
QString m_name;
|
QString m_name;
|
||||||
const QSet<QString> *m_validCallsigns;
|
const QSet<QString> *m_validCallsigns;
|
||||||
};
|
};
|
||||||
|
@ -33,12 +33,12 @@ if(NOT SERVER_MODE)
|
|||||||
ilsdemodgui.h
|
ilsdemodgui.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME demodils)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demodils)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME demodilssrv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodilssrv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -61,7 +61,7 @@ ILSDemod::ILSDemod(DeviceAPI *deviceAPI) :
|
|||||||
{
|
{
|
||||||
setObjectName(m_channelId);
|
setObjectName(m_channelId);
|
||||||
|
|
||||||
m_basebandSink = new ILSDemodBaseband(this);
|
m_basebandSink = new ILSDemodBaseband();
|
||||||
m_basebandSink->setMessageQueueToChannel(getInputMessageQueue());
|
m_basebandSink->setMessageQueueToChannel(getInputMessageQueue());
|
||||||
m_basebandSink->setChannel(this);
|
m_basebandSink->setChannel(this);
|
||||||
m_basebandSink->moveToThread(&m_thread);
|
m_basebandSink->moveToThread(&m_thread);
|
||||||
|
@ -27,8 +27,7 @@
|
|||||||
|
|
||||||
MESSAGE_CLASS_DEFINITION(ILSDemodBaseband::MsgConfigureILSDemodBaseband, Message)
|
MESSAGE_CLASS_DEFINITION(ILSDemodBaseband::MsgConfigureILSDemodBaseband, Message)
|
||||||
|
|
||||||
ILSDemodBaseband::ILSDemodBaseband(ILSDemod *packetDemod) :
|
ILSDemodBaseband::ILSDemodBaseband() :
|
||||||
m_sink(packetDemod),
|
|
||||||
m_running(false)
|
m_running(false)
|
||||||
{
|
{
|
||||||
qDebug("ILSDemodBaseband::ILSDemodBaseband");
|
qDebug("ILSDemodBaseband::ILSDemodBaseband");
|
||||||
|
@ -63,7 +63,7 @@ public:
|
|||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
ILSDemodBaseband(ILSDemod *packetDemod);
|
ILSDemodBaseband();
|
||||||
~ILSDemodBaseband();
|
~ILSDemodBaseband();
|
||||||
void reset();
|
void reset();
|
||||||
void startWork();
|
void startWork();
|
||||||
|
@ -1432,7 +1432,6 @@ void ILSDemodGUI::scanAvailableChannels()
|
|||||||
MessagePipes& messagePipes = mainCore->getMessagePipes();
|
MessagePipes& messagePipes = mainCore->getMessagePipes();
|
||||||
std::vector<DeviceSet*>& deviceSets = mainCore->getDeviceSets();
|
std::vector<DeviceSet*>& deviceSets = mainCore->getDeviceSets();
|
||||||
m_availableChannels.clear();
|
m_availableChannels.clear();
|
||||||
int deviceSetIndex = 0;
|
|
||||||
|
|
||||||
for (const auto& deviceSet : deviceSets)
|
for (const auto& deviceSet : deviceSets)
|
||||||
{
|
{
|
||||||
@ -1465,7 +1464,6 @@ void ILSDemodGUI::scanAvailableChannels()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
deviceSetIndex++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,10 +28,9 @@
|
|||||||
#include "ilsdemod.h"
|
#include "ilsdemod.h"
|
||||||
#include "ilsdemodsink.h"
|
#include "ilsdemodsink.h"
|
||||||
|
|
||||||
ILSDemodSink::ILSDemodSink(ILSDemod *ilsDemod) :
|
ILSDemodSink::ILSDemodSink() :
|
||||||
m_spectrumSink(nullptr),
|
m_spectrumSink(nullptr),
|
||||||
m_scopeSink(nullptr),
|
m_scopeSink(nullptr),
|
||||||
m_ilsDemod(ilsDemod),
|
|
||||||
m_channel(nullptr),
|
m_channel(nullptr),
|
||||||
m_channelSampleRate(ILSDemodSettings::ILSDEMOD_CHANNEL_SAMPLE_RATE),
|
m_channelSampleRate(ILSDemodSettings::ILSDEMOD_CHANNEL_SAMPLE_RATE),
|
||||||
m_channelFrequencyOffset(0),
|
m_channelFrequencyOffset(0),
|
||||||
|
@ -44,7 +44,7 @@ class SpectrumVis;
|
|||||||
|
|
||||||
class ILSDemodSink : public ChannelSampleSink {
|
class ILSDemodSink : public ChannelSampleSink {
|
||||||
public:
|
public:
|
||||||
ILSDemodSink(ILSDemod *packetDemod);
|
ILSDemodSink();
|
||||||
~ILSDemodSink();
|
~ILSDemodSink();
|
||||||
|
|
||||||
virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
|
virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
|
||||||
@ -96,7 +96,6 @@ private:
|
|||||||
|
|
||||||
SpectrumVis* m_spectrumSink;
|
SpectrumVis* m_spectrumSink;
|
||||||
ScopeVis* m_scopeSink; // Scope GUI to display baseband waveform
|
ScopeVis* m_scopeSink; // Scope GUI to display baseband waveform
|
||||||
ILSDemod *m_ilsDemod;
|
|
||||||
ILSDemodSettings m_settings;
|
ILSDemodSettings m_settings;
|
||||||
ChannelAPI *m_channel;
|
ChannelAPI *m_channel;
|
||||||
int m_channelSampleRate;
|
int m_channelSampleRate;
|
||||||
|
@ -43,12 +43,12 @@ if(NOT SERVER_MODE)
|
|||||||
m17demodgui.h
|
m17demodgui.h
|
||||||
m17statustextdialog.h
|
m17statustextdialog.h
|
||||||
)
|
)
|
||||||
set(TARGET_NAME demodm17)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demodm17)
|
||||||
set(TARGET_LIB "Qt::Widgets" Qt::Charts)
|
set(TARGET_LIB "Qt::Widgets" Qt::Charts)
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME demodm17srv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodm17srv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -33,12 +33,12 @@ if(NOT SERVER_MODE)
|
|||||||
navtexdemodgui.h
|
navtexdemodgui.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME demodnavtex)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demodnavtex)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME demodnavtexsrv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodnavtexsrv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -53,7 +53,7 @@ NavtexDemod::NavtexDemod(DeviceAPI *deviceAPI) :
|
|||||||
{
|
{
|
||||||
setObjectName(m_channelId);
|
setObjectName(m_channelId);
|
||||||
|
|
||||||
m_basebandSink = new NavtexDemodBaseband(this);
|
m_basebandSink = new NavtexDemodBaseband();
|
||||||
m_basebandSink->setMessageQueueToChannel(getInputMessageQueue());
|
m_basebandSink->setMessageQueueToChannel(getInputMessageQueue());
|
||||||
m_basebandSink->setChannel(this);
|
m_basebandSink->setChannel(this);
|
||||||
m_basebandSink->moveToThread(&m_thread);
|
m_basebandSink->moveToThread(&m_thread);
|
||||||
|
@ -26,8 +26,7 @@
|
|||||||
|
|
||||||
MESSAGE_CLASS_DEFINITION(NavtexDemodBaseband::MsgConfigureNavtexDemodBaseband, Message)
|
MESSAGE_CLASS_DEFINITION(NavtexDemodBaseband::MsgConfigureNavtexDemodBaseband, Message)
|
||||||
|
|
||||||
NavtexDemodBaseband::NavtexDemodBaseband(NavtexDemod *navtexDemod) :
|
NavtexDemodBaseband::NavtexDemodBaseband() :
|
||||||
m_sink(navtexDemod),
|
|
||||||
m_running(false)
|
m_running(false)
|
||||||
{
|
{
|
||||||
qDebug("NavtexDemodBaseband::NavtexDemodBaseband");
|
qDebug("NavtexDemodBaseband::NavtexDemodBaseband");
|
||||||
|
@ -62,7 +62,7 @@ public:
|
|||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
NavtexDemodBaseband(NavtexDemod *navtexDemod);
|
NavtexDemodBaseband();
|
||||||
~NavtexDemodBaseband();
|
~NavtexDemodBaseband();
|
||||||
void reset();
|
void reset();
|
||||||
void startWork();
|
void startWork();
|
||||||
|
@ -27,8 +27,7 @@
|
|||||||
#include "navtexdemod.h"
|
#include "navtexdemod.h"
|
||||||
#include "navtexdemodsink.h"
|
#include "navtexdemodsink.h"
|
||||||
|
|
||||||
NavtexDemodSink::NavtexDemodSink(NavtexDemod *packetDemod) :
|
NavtexDemodSink::NavtexDemodSink() :
|
||||||
m_navtexDemod(packetDemod),
|
|
||||||
m_channelSampleRate(NavtexDemodSettings::NAVTEXDEMOD_CHANNEL_SAMPLE_RATE),
|
m_channelSampleRate(NavtexDemodSettings::NAVTEXDEMOD_CHANNEL_SAMPLE_RATE),
|
||||||
m_channelFrequencyOffset(0),
|
m_channelFrequencyOffset(0),
|
||||||
m_magsqSum(0.0f),
|
m_magsqSum(0.0f),
|
||||||
|
@ -39,7 +39,7 @@ class ScopeVis;
|
|||||||
|
|
||||||
class NavtexDemodSink : public ChannelSampleSink {
|
class NavtexDemodSink : public ChannelSampleSink {
|
||||||
public:
|
public:
|
||||||
NavtexDemodSink(NavtexDemod *packetDemod);
|
NavtexDemodSink();
|
||||||
~NavtexDemodSink();
|
~NavtexDemodSink();
|
||||||
|
|
||||||
virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
|
virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
|
||||||
@ -83,7 +83,6 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
ScopeVis* m_scopeSink; // Scope GUI to display baseband waveform
|
ScopeVis* m_scopeSink; // Scope GUI to display baseband waveform
|
||||||
NavtexDemod *m_navtexDemod;
|
|
||||||
NavtexDemodSettings m_settings;
|
NavtexDemodSettings m_settings;
|
||||||
ChannelAPI *m_channel;
|
ChannelAPI *m_channel;
|
||||||
int m_channelSampleRate;
|
int m_channelSampleRate;
|
||||||
|
@ -38,12 +38,12 @@ if(NOT SERVER_MODE)
|
|||||||
nfmdemodgui.h
|
nfmdemodgui.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME demodnfm)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demodnfm)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME demodnfmsrv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodnfmsrv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -33,12 +33,12 @@ if(NOT SERVER_MODE)
|
|||||||
packetdemodgui.h
|
packetdemodgui.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME demodpacket)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demodpacket)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME demodpacketsrv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodpacketsrv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -88,8 +88,6 @@ void PacketDemodSink::feed(const SampleVector::const_iterator& begin, const Samp
|
|||||||
|
|
||||||
void PacketDemodSink::processOneSample(Complex &ci)
|
void PacketDemodSink::processOneSample(Complex &ci)
|
||||||
{
|
{
|
||||||
Complex ca;
|
|
||||||
|
|
||||||
// FM demodulation
|
// FM demodulation
|
||||||
double magsqRaw;
|
double magsqRaw;
|
||||||
Real deviation;
|
Real deviation;
|
||||||
|
@ -36,12 +36,12 @@ if(NOT SERVER_MODE)
|
|||||||
pagerdemodcharsetdialog.h
|
pagerdemodcharsetdialog.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME demodpager)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demodpager)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME demodpagersrv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodpagersrv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -46,7 +46,7 @@ PagerDemod::PagerDemod(DeviceAPI *deviceAPI) :
|
|||||||
{
|
{
|
||||||
setObjectName(m_channelId);
|
setObjectName(m_channelId);
|
||||||
|
|
||||||
m_basebandSink = new PagerDemodBaseband(this);
|
m_basebandSink = new PagerDemodBaseband();
|
||||||
m_basebandSink->setMessageQueueToChannel(getInputMessageQueue());
|
m_basebandSink->setMessageQueueToChannel(getInputMessageQueue());
|
||||||
m_basebandSink->setChannel(this);
|
m_basebandSink->setChannel(this);
|
||||||
m_basebandSink->moveToThread(&m_thread);
|
m_basebandSink->moveToThread(&m_thread);
|
||||||
|
@ -26,8 +26,7 @@
|
|||||||
|
|
||||||
MESSAGE_CLASS_DEFINITION(PagerDemodBaseband::MsgConfigurePagerDemodBaseband, Message)
|
MESSAGE_CLASS_DEFINITION(PagerDemodBaseband::MsgConfigurePagerDemodBaseband, Message)
|
||||||
|
|
||||||
PagerDemodBaseband::PagerDemodBaseband(PagerDemod *pagerDemod) :
|
PagerDemodBaseband::PagerDemodBaseband() :
|
||||||
m_sink(pagerDemod),
|
|
||||||
m_running(false)
|
m_running(false)
|
||||||
{
|
{
|
||||||
qDebug("PagerDemodBaseband::PagerDemodBaseband");
|
qDebug("PagerDemodBaseband::PagerDemodBaseband");
|
||||||
|
@ -62,7 +62,7 @@ public:
|
|||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
PagerDemodBaseband(PagerDemod *pagerDemod);
|
PagerDemodBaseband();
|
||||||
~PagerDemodBaseband();
|
~PagerDemodBaseband();
|
||||||
void reset();
|
void reset();
|
||||||
void startWork();
|
void startWork();
|
||||||
|
@ -28,9 +28,8 @@
|
|||||||
#include "pagerdemod.h"
|
#include "pagerdemod.h"
|
||||||
#include "pagerdemodsink.h"
|
#include "pagerdemodsink.h"
|
||||||
|
|
||||||
PagerDemodSink::PagerDemodSink(PagerDemod *pagerDemod) :
|
PagerDemodSink::PagerDemodSink() :
|
||||||
m_scopeSink(nullptr),
|
m_scopeSink(nullptr),
|
||||||
m_pagerDemod(pagerDemod),
|
|
||||||
m_channelSampleRate(PagerDemodSettings::m_channelSampleRate),
|
m_channelSampleRate(PagerDemodSettings::m_channelSampleRate),
|
||||||
m_channelFrequencyOffset(0),
|
m_channelFrequencyOffset(0),
|
||||||
m_magsqSum(0.0f),
|
m_magsqSum(0.0f),
|
||||||
|
@ -45,7 +45,7 @@ class ScopeVis;
|
|||||||
|
|
||||||
class PagerDemodSink : public ChannelSampleSink {
|
class PagerDemodSink : public ChannelSampleSink {
|
||||||
public:
|
public:
|
||||||
PagerDemodSink(PagerDemod *pagerDemod);
|
PagerDemodSink();
|
||||||
~PagerDemodSink();
|
~PagerDemodSink();
|
||||||
|
|
||||||
virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
|
virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
|
||||||
@ -88,7 +88,6 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
ScopeVis* m_scopeSink; // Scope GUI to display debug waveforms
|
ScopeVis* m_scopeSink; // Scope GUI to display debug waveforms
|
||||||
PagerDemod *m_pagerDemod;
|
|
||||||
PagerDemodSettings m_settings;
|
PagerDemodSettings m_settings;
|
||||||
ChannelAPI *m_channel;
|
ChannelAPI *m_channel;
|
||||||
int m_channelSampleRate;
|
int m_channelSampleRate;
|
||||||
|
@ -33,12 +33,12 @@ if(NOT SERVER_MODE)
|
|||||||
radiosondedemodgui.h
|
radiosondedemodgui.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME demodradiosonde)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demodradiosonde)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME demodradiosondesrv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodradiosondesrv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -33,12 +33,12 @@ if(NOT SERVER_MODE)
|
|||||||
rttydemodgui.h
|
rttydemodgui.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TARGET_NAME demodrtty)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demodrtty)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME demodrttysrv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodrttysrv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -53,7 +53,7 @@ RttyDemod::RttyDemod(DeviceAPI *deviceAPI) :
|
|||||||
{
|
{
|
||||||
setObjectName(m_channelId);
|
setObjectName(m_channelId);
|
||||||
|
|
||||||
m_basebandSink = new RttyDemodBaseband(this);
|
m_basebandSink = new RttyDemodBaseband();
|
||||||
m_basebandSink->setMessageQueueToChannel(getInputMessageQueue());
|
m_basebandSink->setMessageQueueToChannel(getInputMessageQueue());
|
||||||
m_basebandSink->setChannel(this);
|
m_basebandSink->setChannel(this);
|
||||||
m_basebandSink->moveToThread(&m_thread);
|
m_basebandSink->moveToThread(&m_thread);
|
||||||
|
@ -26,8 +26,7 @@
|
|||||||
|
|
||||||
MESSAGE_CLASS_DEFINITION(RttyDemodBaseband::MsgConfigureRttyDemodBaseband, Message)
|
MESSAGE_CLASS_DEFINITION(RttyDemodBaseband::MsgConfigureRttyDemodBaseband, Message)
|
||||||
|
|
||||||
RttyDemodBaseband::RttyDemodBaseband(RttyDemod *rttyDemod) :
|
RttyDemodBaseband::RttyDemodBaseband() :
|
||||||
m_sink(rttyDemod),
|
|
||||||
m_running(false)
|
m_running(false)
|
||||||
{
|
{
|
||||||
qDebug("RttyDemodBaseband::RttyDemodBaseband");
|
qDebug("RttyDemodBaseband::RttyDemodBaseband");
|
||||||
|
@ -62,7 +62,7 @@ public:
|
|||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
RttyDemodBaseband(RttyDemod *rttyDemod);
|
RttyDemodBaseband();
|
||||||
~RttyDemodBaseband();
|
~RttyDemodBaseband();
|
||||||
void reset();
|
void reset();
|
||||||
void startWork();
|
void startWork();
|
||||||
|
@ -28,8 +28,7 @@
|
|||||||
#include "rttydemod.h"
|
#include "rttydemod.h"
|
||||||
#include "rttydemodsink.h"
|
#include "rttydemodsink.h"
|
||||||
|
|
||||||
RttyDemodSink::RttyDemodSink(RttyDemod *packetDemod) :
|
RttyDemodSink::RttyDemodSink() :
|
||||||
m_rttyDemod(packetDemod),
|
|
||||||
m_channelSampleRate(RttyDemodSettings::RTTYDEMOD_CHANNEL_SAMPLE_RATE),
|
m_channelSampleRate(RttyDemodSettings::RTTYDEMOD_CHANNEL_SAMPLE_RATE),
|
||||||
m_channelFrequencyOffset(0),
|
m_channelFrequencyOffset(0),
|
||||||
m_magsqSum(0.0f),
|
m_magsqSum(0.0f),
|
||||||
|
@ -39,7 +39,7 @@ class ScopeVis;
|
|||||||
|
|
||||||
class RttyDemodSink : public ChannelSampleSink {
|
class RttyDemodSink : public ChannelSampleSink {
|
||||||
public:
|
public:
|
||||||
RttyDemodSink(RttyDemod *packetDemod);
|
RttyDemodSink();
|
||||||
~RttyDemodSink();
|
~RttyDemodSink();
|
||||||
|
|
||||||
virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
|
virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
|
||||||
@ -83,7 +83,6 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
ScopeVis* m_scopeSink; // Scope GUI to display baseband waveform
|
ScopeVis* m_scopeSink; // Scope GUI to display baseband waveform
|
||||||
RttyDemod *m_rttyDemod;
|
|
||||||
RttyDemodSettings m_settings;
|
RttyDemodSettings m_settings;
|
||||||
ChannelAPI *m_channel;
|
ChannelAPI *m_channel;
|
||||||
int m_channelSampleRate;
|
int m_channelSampleRate;
|
||||||
|
@ -32,12 +32,12 @@ if(NOT SERVER_MODE)
|
|||||||
${ssb_HEADERS}
|
${ssb_HEADERS}
|
||||||
ssbdemodgui.h
|
ssbdemodgui.h
|
||||||
)
|
)
|
||||||
set(TARGET_NAME demodssb)
|
set(TARGET_NAME ${PLUGINS_PREFIX}demodssb)
|
||||||
set(TARGET_LIB "Qt::Widgets")
|
set(TARGET_LIB "Qt::Widgets")
|
||||||
set(TARGET_LIB_GUI "sdrgui")
|
set(TARGET_LIB_GUI "sdrgui")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
|
||||||
else()
|
else()
|
||||||
set(TARGET_NAME demodssbsrv)
|
set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodssbsrv)
|
||||||
set(TARGET_LIB "")
|
set(TARGET_LIB "")
|
||||||
set(TARGET_LIB_GUI "")
|
set(TARGET_LIB_GUI "")
|
||||||
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
|
||||||
|
@ -752,7 +752,7 @@ void SSBDemod::sendChannelSettings(
|
|||||||
const SSBDemodSettings& settings,
|
const SSBDemodSettings& settings,
|
||||||
bool force)
|
bool force)
|
||||||
{
|
{
|
||||||
qDebug("SSBDemod::sendChannelSettings: %d pipes", pipes.size());
|
qDebug("SSBDemod::sendChannelSettings: %d pipes", (int)pipes.size());
|
||||||
|
|
||||||
for (const auto& pipe : pipes)
|
for (const auto& pipe : pipes)
|
||||||
{
|
{
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user