mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-05-29 13:32:26 -04:00
This commit is contained in:
parent
d0cae88ba8
commit
a91fa3b760
@ -88,7 +88,7 @@ ChannelAnalyzer::~ChannelAnalyzer()
|
|||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
|
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
if (m_basebandSink->isRunning()) {
|
if (m_basebandSink->isRunning()) {
|
||||||
stop();
|
stop();
|
||||||
@ -103,7 +103,7 @@ void ChannelAnalyzer::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -84,7 +84,7 @@ ChannelPower::~ChannelPower()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
if (m_basebandSink->isRunning()) {
|
if (m_basebandSink->isRunning()) {
|
||||||
stop();
|
stop();
|
||||||
@ -98,7 +98,7 @@ void ChannelPower::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -104,7 +104,7 @@ ADSBDemod::~ADSBDemod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
delete m_basebandSink; // This results in a call to ADSBDemod::stop(), so need to delete before worker and thread
|
delete m_basebandSink; // This results in a call to ADSBDemod::stop(), so need to delete before worker and thread
|
||||||
delete m_worker;
|
delete m_worker;
|
||||||
delete m_thread;
|
delete m_thread;
|
||||||
@ -115,7 +115,7 @@ void ADSBDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -85,7 +85,7 @@ AISDemod::~AISDemod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
if (m_basebandSink->isRunning()) {
|
if (m_basebandSink->isRunning()) {
|
||||||
stop();
|
stop();
|
||||||
@ -99,7 +99,7 @@ void AISDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -91,7 +91,7 @@ AMDemod::~AMDemod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ void AMDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -95,7 +95,7 @@ APTDemod::~APTDemod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
if (m_imageWorker->isRunning()) {
|
if (m_imageWorker->isRunning()) {
|
||||||
stopImageWorker();
|
stopImageWorker();
|
||||||
@ -115,7 +115,7 @@ void APTDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -67,7 +67,7 @@ ATVDemod::~ATVDemod()
|
|||||||
{
|
{
|
||||||
qDebug("ATVDemod::~ATVDemod");
|
qDebug("ATVDemod::~ATVDemod");
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
if (m_basebandSink->isRunning()) {
|
if (m_basebandSink->isRunning()) {
|
||||||
stop();
|
stop();
|
||||||
@ -81,7 +81,7 @@ void ATVDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -89,7 +89,7 @@ BFMDemod::~BFMDemod()
|
|||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
|
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -98,7 +98,7 @@ void BFMDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -97,7 +97,7 @@ ChirpChatDemod::~ChirpChatDemod()
|
|||||||
{
|
{
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -106,7 +106,7 @@ void ChirpChatDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -100,7 +100,7 @@ DABDemod::~DABDemod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
if (m_basebandSink->isRunning()) {
|
if (m_basebandSink->isRunning()) {
|
||||||
stop();
|
stop();
|
||||||
@ -114,7 +114,7 @@ void DABDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -84,7 +84,7 @@ DATVDemod::~DATVDemod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
if (m_basebandSink->isRunning()) {
|
if (m_basebandSink->isRunning()) {
|
||||||
stop();
|
stop();
|
||||||
@ -98,7 +98,7 @@ void DATVDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -89,7 +89,7 @@ DSCDemod::~DSCDemod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
if (m_basebandSink->isRunning()) {
|
if (m_basebandSink->isRunning()) {
|
||||||
stop();
|
stop();
|
||||||
@ -103,7 +103,7 @@ void DSCDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -113,7 +113,7 @@ DSDDemod::~DSDDemod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
@ -123,7 +123,7 @@ void DSDDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -84,7 +84,7 @@ EndOfTrainDemod::~EndOfTrainDemod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
if (m_basebandSink->isRunning()) {
|
if (m_basebandSink->isRunning()) {
|
||||||
stop();
|
stop();
|
||||||
@ -98,7 +98,7 @@ void EndOfTrainDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -88,7 +88,7 @@ FreeDVDemod::~FreeDVDemod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
delete m_basebandSink;
|
delete m_basebandSink;
|
||||||
delete m_thread;
|
delete m_thread;
|
||||||
}
|
}
|
||||||
@ -98,7 +98,7 @@ void FreeDVDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -94,7 +94,7 @@ FT8Demod::~FT8Demod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
@ -104,7 +104,7 @@ void FT8Demod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -97,7 +97,7 @@ ILSDemod::~ILSDemod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
if (m_basebandSink->isRunning()) {
|
if (m_basebandSink->isRunning()) {
|
||||||
stop();
|
stop();
|
||||||
@ -111,7 +111,7 @@ void ILSDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -94,7 +94,7 @@ M17Demod::~M17Demod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -103,7 +103,7 @@ void M17Demod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -89,7 +89,7 @@ NavtexDemod::~NavtexDemod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
if (m_basebandSink->isRunning()) {
|
if (m_basebandSink->isRunning()) {
|
||||||
stop();
|
stop();
|
||||||
@ -103,7 +103,7 @@ void NavtexDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -90,7 +90,7 @@ NFMDemod::~NFMDemod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
@ -100,7 +100,7 @@ void NFMDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -88,7 +88,7 @@ PacketDemod::~PacketDemod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
if (m_basebandSink->isRunning()) {
|
if (m_basebandSink->isRunning()) {
|
||||||
stop();
|
stop();
|
||||||
@ -102,7 +102,7 @@ void PacketDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -83,7 +83,7 @@ PagerDemod::~PagerDemod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
if (m_basebandSink->isRunning()) {
|
if (m_basebandSink->isRunning()) {
|
||||||
stop();
|
stop();
|
||||||
@ -97,7 +97,7 @@ void PagerDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -84,7 +84,7 @@ RadiosondeDemod::~RadiosondeDemod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
if (m_basebandSink->isRunning()) {
|
if (m_basebandSink->isRunning()) {
|
||||||
stop();
|
stop();
|
||||||
@ -98,7 +98,7 @@ void RadiosondeDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -89,7 +89,7 @@ RttyDemod::~RttyDemod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
if (m_basebandSink->isRunning()) {
|
if (m_basebandSink->isRunning()) {
|
||||||
stop();
|
stop();
|
||||||
@ -103,7 +103,7 @@ void RttyDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -92,7 +92,7 @@ SSBDemod::~SSBDemod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
@ -102,7 +102,7 @@ void SSBDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -91,7 +91,7 @@ VORDemod::~VORDemod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ void VORDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -85,7 +85,7 @@ VORDemodMC::~VORDemodMC()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
if (m_basebandSink->isRunning()) {
|
if (m_basebandSink->isRunning()) {
|
||||||
stop();
|
stop();
|
||||||
@ -99,7 +99,7 @@ void VORDemodMC::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -92,7 +92,7 @@ WFMDemod::~WFMDemod()
|
|||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
|
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -101,7 +101,7 @@ void WFMDemod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -95,7 +95,7 @@ FileSink::~FileSink()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
@ -105,7 +105,7 @@ void FileSink::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -112,7 +112,7 @@ FreqScanner::~FreqScanner()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
@ -122,7 +122,7 @@ void FreqScanner::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -91,7 +91,7 @@ FreqTracker::~FreqTracker()
|
|||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
|
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ void FreqTracker::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -82,7 +82,7 @@ HeatMap::~HeatMap()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
if (m_basebandSink->isRunning()) {
|
if (m_basebandSink->isRunning()) {
|
||||||
stop();
|
stop();
|
||||||
@ -96,7 +96,7 @@ void HeatMap::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -104,7 +104,7 @@ LocalSink::~LocalSink()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
stopProcessing();
|
stopProcessing();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -113,7 +113,7 @@ void LocalSink::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this ,false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -98,7 +98,7 @@ NoiseFigure::~NoiseFigure()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
if (m_basebandSink->isRunning()) {
|
if (m_basebandSink->isRunning()) {
|
||||||
stop();
|
stop();
|
||||||
@ -112,7 +112,7 @@ void NoiseFigure::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -153,7 +153,7 @@ RadioAstronomy::~RadioAstronomy()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
if ((m_basebandSink->isRunning()) || (m_worker->isRunning())) {
|
if ((m_basebandSink->isRunning()) || (m_worker->isRunning())) {
|
||||||
stop();
|
stop();
|
||||||
@ -168,7 +168,7 @@ void RadioAstronomy::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -87,7 +87,7 @@ RadioClock::~RadioClock()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
if (m_basebandSink->isRunning()) {
|
if (m_basebandSink->isRunning()) {
|
||||||
stop();
|
stop();
|
||||||
@ -101,7 +101,7 @@ void RadioClock::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -91,7 +91,7 @@ RemoteSink::~RemoteSink()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ void RemoteSink::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -108,7 +108,7 @@ RemoteTCPSink::~RemoteTCPSink()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
m_basebandSink->deleteLater();
|
m_basebandSink->deleteLater();
|
||||||
}
|
}
|
||||||
@ -118,7 +118,7 @@ void RemoteTCPSink::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -94,7 +94,7 @@ SigMFFileSink::~SigMFFileSink()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
@ -104,7 +104,7 @@ void SigMFFileSink::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -81,6 +81,7 @@ UDPSink::UDPSink(DeviceAPI *deviceAPI) :
|
|||||||
|
|
||||||
UDPSink::~UDPSink()
|
UDPSink::~UDPSink()
|
||||||
{
|
{
|
||||||
|
stop();
|
||||||
QObject::disconnect(
|
QObject::disconnect(
|
||||||
m_networkManager,
|
m_networkManager,
|
||||||
&QNetworkAccessManager::finished,
|
&QNetworkAccessManager::finished,
|
||||||
@ -89,7 +90,7 @@ UDPSink::~UDPSink()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
delete m_basebandSink;
|
delete m_basebandSink;
|
||||||
delete m_thread;
|
delete m_thread;
|
||||||
}
|
}
|
||||||
@ -99,7 +100,7 @@ void UDPSink::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -93,7 +93,7 @@ WDSPRx::~WDSPRx()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, true);
|
||||||
|
|
||||||
WDSPRx::stop();
|
WDSPRx::stop();
|
||||||
qDebug("WDSPRx::~WDSPRx: emd");
|
qDebug("WDSPRx::~WDSPRx: emd");
|
||||||
@ -104,7 +104,7 @@ void WDSPRx::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSinkAPI(this);
|
m_deviceAPI->removeChannelSinkAPI(this);
|
||||||
m_deviceAPI->removeChannelSink(this);
|
m_deviceAPI->removeChannelSink(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSink(this);
|
m_deviceAPI->addChannelSink(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
|
@ -86,7 +86,8 @@ FileSource::~FileSource()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, true);
|
||||||
|
stop();
|
||||||
delete m_basebandSource;
|
delete m_basebandSource;
|
||||||
delete m_thread;
|
delete m_thread;
|
||||||
}
|
}
|
||||||
@ -96,7 +97,7 @@ void FileSource::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSource(this);
|
m_deviceAPI->addChannelSource(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
@ -262,7 +263,7 @@ void FileSource::applySettings(const FileSourceSettings& settings, bool force)
|
|||||||
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this, m_settings.m_streamIndex);
|
m_deviceAPI->removeChannelSource(this, false, m_settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSourceAPI(this);
|
m_deviceAPI->addChannelSourceAPI(this);
|
||||||
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
||||||
|
@ -80,7 +80,8 @@ LocalSource::~LocalSource()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, true);
|
||||||
|
stop();
|
||||||
delete m_basebandSource;
|
delete m_basebandSource;
|
||||||
delete m_thread;
|
delete m_thread;
|
||||||
}
|
}
|
||||||
@ -90,7 +91,7 @@ void LocalSource::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSource(this);
|
m_deviceAPI->addChannelSource(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
@ -307,7 +308,7 @@ void LocalSource::applySettings(const LocalSourceSettings& settings, bool force)
|
|||||||
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this, m_settings.m_streamIndex);
|
m_deviceAPI->removeChannelSource(this, false, m_settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSourceAPI(this);
|
m_deviceAPI->addChannelSourceAPI(this);
|
||||||
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
||||||
|
@ -89,7 +89,8 @@ IEEE_802_15_4_Mod::~IEEE_802_15_4_Mod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, true);
|
||||||
|
stop();
|
||||||
delete m_basebandSource;
|
delete m_basebandSource;
|
||||||
delete m_thread;
|
delete m_thread;
|
||||||
}
|
}
|
||||||
@ -99,7 +100,7 @@ void IEEE_802_15_4_Mod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSource(this);
|
m_deviceAPI->addChannelSource(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
@ -371,7 +372,7 @@ void IEEE_802_15_4_Mod::applySettings(const IEEE_802_15_4_ModSettings& settings,
|
|||||||
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this, m_settings.m_streamIndex);
|
m_deviceAPI->removeChannelSource(this, false, m_settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSourceAPI(this);
|
m_deviceAPI->addChannelSourceAPI(this);
|
||||||
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
||||||
|
@ -92,7 +92,8 @@ AISMod::~AISMod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, true);
|
||||||
|
stop();
|
||||||
delete m_basebandSource;
|
delete m_basebandSource;
|
||||||
delete m_thread;
|
delete m_thread;
|
||||||
}
|
}
|
||||||
@ -102,7 +103,7 @@ void AISMod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSource(this);
|
m_deviceAPI->addChannelSource(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
@ -458,7 +459,7 @@ void AISMod::applySettings(const AISModSettings& settings, bool force)
|
|||||||
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this, m_settings.m_streamIndex);
|
m_deviceAPI->removeChannelSource(this, false, m_settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSourceAPI(this);
|
m_deviceAPI->addChannelSourceAPI(this);
|
||||||
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
||||||
|
@ -55,7 +55,9 @@ const char* const AMMod::m_channelId ="AMMod";
|
|||||||
|
|
||||||
AMMod::AMMod(DeviceAPI *deviceAPI) :
|
AMMod::AMMod(DeviceAPI *deviceAPI) :
|
||||||
ChannelAPI(m_channelIdURI, ChannelAPI::StreamSingleSource),
|
ChannelAPI(m_channelIdURI, ChannelAPI::StreamSingleSource),
|
||||||
m_deviceAPI(deviceAPI)
|
m_deviceAPI(deviceAPI),
|
||||||
|
m_basebandSampleRate(0),
|
||||||
|
m_centerFrequency(0)
|
||||||
{
|
{
|
||||||
setObjectName(m_channelId);
|
setObjectName(m_channelId);
|
||||||
applySettings(m_settings, true);
|
applySettings(m_settings, true);
|
||||||
@ -82,9 +84,8 @@ AMMod::~AMMod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, true);
|
||||||
|
stop();
|
||||||
AMMod::stop();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void AMMod::setDeviceAPI(DeviceAPI *deviceAPI)
|
void AMMod::setDeviceAPI(DeviceAPI *deviceAPI)
|
||||||
@ -92,7 +93,7 @@ void AMMod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSource(this);
|
m_deviceAPI->addChannelSource(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
@ -134,6 +135,9 @@ void AMMod::start()
|
|||||||
|
|
||||||
m_thread->start();
|
m_thread->start();
|
||||||
|
|
||||||
|
DSPSignalNotification *dspMsg = new DSPSignalNotification(m_basebandSampleRate, m_centerFrequency);
|
||||||
|
m_basebandSource->getInputMessageQueue()->push(dspMsg);
|
||||||
|
|
||||||
AMModBaseband::MsgConfigureAMModBaseband *msg = AMModBaseband::MsgConfigureAMModBaseband::create(m_settings, true);
|
AMModBaseband::MsgConfigureAMModBaseband *msg = AMModBaseband::MsgConfigureAMModBaseband::create(m_settings, true);
|
||||||
m_basebandSource->getInputMessageQueue()->push(msg);
|
m_basebandSource->getInputMessageQueue()->push(msg);
|
||||||
|
|
||||||
@ -237,6 +241,9 @@ bool AMMod::handleMessage(const Message& cmd)
|
|||||||
// Forward to the source
|
// Forward to the source
|
||||||
auto& notif = (const DSPSignalNotification&) cmd;
|
auto& notif = (const DSPSignalNotification&) cmd;
|
||||||
|
|
||||||
|
m_centerFrequency = notif.getCenterFrequency();
|
||||||
|
m_basebandSampleRate = notif.getSampleRate();
|
||||||
|
|
||||||
if (m_running) {
|
if (m_running) {
|
||||||
m_basebandSource->getInputMessageQueue()->push(new DSPSignalNotification(notif));
|
m_basebandSource->getInputMessageQueue()->push(new DSPSignalNotification(notif));
|
||||||
}
|
}
|
||||||
|
@ -254,6 +254,8 @@ private:
|
|||||||
bool m_running = false;
|
bool m_running = false;
|
||||||
AMModBaseband* m_basebandSource;
|
AMModBaseband* m_basebandSource;
|
||||||
AMModSettings m_settings;
|
AMModSettings m_settings;
|
||||||
|
int m_basebandSampleRate;
|
||||||
|
qint64 m_centerFrequency;
|
||||||
|
|
||||||
SampleVector m_sampleBuffer;
|
SampleVector m_sampleBuffer;
|
||||||
QRecursiveMutex m_settingsMutex;
|
QRecursiveMutex m_settingsMutex;
|
||||||
|
@ -29,6 +29,7 @@ const int AMModSource::m_levelNbSamples = 480; // every 10ms
|
|||||||
|
|
||||||
AMModSource::AMModSource() :
|
AMModSource::AMModSource() :
|
||||||
m_audioFifo(12000),
|
m_audioFifo(12000),
|
||||||
|
m_feedbackAudioSampleRate(48000),
|
||||||
m_feedbackAudioFifo(48000)
|
m_feedbackAudioFifo(48000)
|
||||||
{
|
{
|
||||||
m_audioFifo.setLabel("AMModSource.m_audioFifo");
|
m_audioFifo.setLabel("AMModSource.m_audioFifo");
|
||||||
|
@ -89,7 +89,8 @@ ATVMod::~ATVMod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, true);
|
||||||
|
stop();
|
||||||
delete m_basebandSource;
|
delete m_basebandSource;
|
||||||
delete m_thread;
|
delete m_thread;
|
||||||
}
|
}
|
||||||
@ -99,7 +100,7 @@ void ATVMod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSource(this);
|
m_deviceAPI->addChannelSource(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
@ -342,7 +343,7 @@ void ATVMod::applySettings(const ATVModSettings& settings, bool force)
|
|||||||
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this, m_settings.m_streamIndex);
|
m_deviceAPI->removeChannelSource(this, false, m_settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSourceAPI(this);
|
m_deviceAPI->addChannelSourceAPI(this);
|
||||||
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
||||||
|
@ -88,7 +88,8 @@ ChirpChatMod::~ChirpChatMod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, true);
|
||||||
|
stop();
|
||||||
delete m_basebandSource;
|
delete m_basebandSource;
|
||||||
delete m_thread;
|
delete m_thread;
|
||||||
}
|
}
|
||||||
@ -98,7 +99,7 @@ void ChirpChatMod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSource(this);
|
m_deviceAPI->addChannelSource(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
@ -338,7 +339,7 @@ void ChirpChatMod::applySettings(const ChirpChatModSettings& settings, bool forc
|
|||||||
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this, m_settings.m_streamIndex);
|
m_deviceAPI->removeChannelSource(this, false, m_settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSourceAPI(this);
|
m_deviceAPI->addChannelSourceAPI(this);
|
||||||
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
||||||
|
@ -90,7 +90,8 @@ DATVMod::~DATVMod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, true);
|
||||||
|
stop();
|
||||||
delete m_basebandSource;
|
delete m_basebandSource;
|
||||||
delete m_thread;
|
delete m_thread;
|
||||||
}
|
}
|
||||||
@ -100,7 +101,7 @@ void DATVMod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSource(this);
|
m_deviceAPI->addChannelSource(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
@ -306,7 +307,7 @@ void DATVMod::applySettings(const DATVModSettings& settings, bool force)
|
|||||||
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this, m_settings.m_streamIndex);
|
m_deviceAPI->removeChannelSource(this, false, m_settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSourceAPI(this);
|
m_deviceAPI->addChannelSourceAPI(this);
|
||||||
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
||||||
|
@ -92,7 +92,8 @@ FreeDVMod::~FreeDVMod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, true);
|
||||||
|
stop();
|
||||||
delete m_basebandSource;
|
delete m_basebandSource;
|
||||||
delete m_thread;
|
delete m_thread;
|
||||||
}
|
}
|
||||||
@ -102,7 +103,7 @@ void FreeDVMod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSource(this);
|
m_deviceAPI->addChannelSource(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
@ -313,7 +314,7 @@ void FreeDVMod::applySettings(const FreeDVModSettings& settings, bool force)
|
|||||||
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this, m_settings.m_streamIndex);
|
m_deviceAPI->removeChannelSource(this, false, m_settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSourceAPI(this);
|
m_deviceAPI->addChannelSourceAPI(this);
|
||||||
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
||||||
|
@ -97,7 +97,8 @@ M17Mod::~M17Mod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, true);
|
||||||
|
stop();
|
||||||
delete m_basebandSource;
|
delete m_basebandSource;
|
||||||
delete m_thread;
|
delete m_thread;
|
||||||
}
|
}
|
||||||
@ -107,7 +108,7 @@ void M17Mod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSource(this);
|
m_deviceAPI->addChannelSource(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
@ -329,7 +330,7 @@ void M17Mod::applySettings(const M17ModSettings& settings, const QList<QString>&
|
|||||||
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this, m_settings.m_streamIndex);
|
m_deviceAPI->removeChannelSource(this, false, m_settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSourceAPI(this);
|
m_deviceAPI->addChannelSourceAPI(this);
|
||||||
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
||||||
|
@ -56,7 +56,9 @@ const char* const NFMMod::m_channelId = "NFMMod";
|
|||||||
|
|
||||||
NFMMod::NFMMod(DeviceAPI *deviceAPI) :
|
NFMMod::NFMMod(DeviceAPI *deviceAPI) :
|
||||||
ChannelAPI(m_channelIdURI, ChannelAPI::StreamSingleSource),
|
ChannelAPI(m_channelIdURI, ChannelAPI::StreamSingleSource),
|
||||||
m_deviceAPI(deviceAPI)
|
m_deviceAPI(deviceAPI),
|
||||||
|
m_basebandSampleRate(0),
|
||||||
|
m_centerFrequency(0)
|
||||||
{
|
{
|
||||||
setObjectName(m_channelId);
|
setObjectName(m_channelId);
|
||||||
|
|
||||||
@ -84,9 +86,8 @@ NFMMod::~NFMMod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, true);
|
||||||
|
stop();
|
||||||
NFMMod::stop();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void NFMMod::setDeviceAPI(DeviceAPI *deviceAPI)
|
void NFMMod::setDeviceAPI(DeviceAPI *deviceAPI)
|
||||||
@ -94,7 +95,7 @@ void NFMMod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSource(this);
|
m_deviceAPI->addChannelSource(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
@ -135,6 +136,9 @@ void NFMMod::start()
|
|||||||
connect(m_basebandSource, SIGNAL(levelChanged(qreal, qreal, int)), m_levelMeter, SLOT(levelChanged(qreal, qreal, int)));
|
connect(m_basebandSource, SIGNAL(levelChanged(qreal, qreal, int)), m_levelMeter, SLOT(levelChanged(qreal, qreal, int)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DSPSignalNotification *dspMsg = new DSPSignalNotification(m_basebandSampleRate, m_centerFrequency);
|
||||||
|
m_basebandSource->getInputMessageQueue()->push(dspMsg);
|
||||||
|
|
||||||
NFMModBaseband::MsgConfigureNFMModBaseband *msg = NFMModBaseband::MsgConfigureNFMModBaseband::create(m_settings, true);
|
NFMModBaseband::MsgConfigureNFMModBaseband *msg = NFMModBaseband::MsgConfigureNFMModBaseband::create(m_settings, true);
|
||||||
m_basebandSource->getInputMessageQueue()->push(msg);
|
m_basebandSource->getInputMessageQueue()->push(msg);
|
||||||
|
|
||||||
@ -266,10 +270,14 @@ bool NFMMod::handleMessage(const Message& cmd)
|
|||||||
}
|
}
|
||||||
else if (DSPSignalNotification::match(cmd))
|
else if (DSPSignalNotification::match(cmd))
|
||||||
{
|
{
|
||||||
|
auto& notif = (const DSPSignalNotification&) cmd;
|
||||||
|
|
||||||
|
m_centerFrequency = notif.getCenterFrequency();
|
||||||
|
m_basebandSampleRate = notif.getSampleRate();
|
||||||
|
|
||||||
// Forward to the source
|
// Forward to the source
|
||||||
if (m_running)
|
if (m_running)
|
||||||
{
|
{
|
||||||
auto& notif = (const DSPSignalNotification&) cmd;
|
|
||||||
auto* rep = new DSPSignalNotification(notif); // make a copy
|
auto* rep = new DSPSignalNotification(notif); // make a copy
|
||||||
qDebug() << "NFMMod::handleMessage: DSPSignalNotification";
|
qDebug() << "NFMMod::handleMessage: DSPSignalNotification";
|
||||||
m_basebandSource->getInputMessageQueue()->push(rep);
|
m_basebandSource->getInputMessageQueue()->push(rep);
|
||||||
@ -410,7 +418,7 @@ void NFMMod::applySettings(const NFMModSettings& settings, bool force)
|
|||||||
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this, m_settings.m_streamIndex);
|
m_deviceAPI->removeChannelSource(this, false, m_settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSourceAPI(this);
|
m_deviceAPI->addChannelSourceAPI(this);
|
||||||
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
||||||
|
@ -254,6 +254,8 @@ private:
|
|||||||
bool m_running = false;
|
bool m_running = false;
|
||||||
NFMModBaseband* m_basebandSource;
|
NFMModBaseband* m_basebandSource;
|
||||||
NFMModSettings m_settings;
|
NFMModSettings m_settings;
|
||||||
|
int m_basebandSampleRate;
|
||||||
|
qint64 m_centerFrequency;
|
||||||
|
|
||||||
SampleVector m_sampleBuffer;
|
SampleVector m_sampleBuffer;
|
||||||
QRecursiveMutex m_settingsMutex;
|
QRecursiveMutex m_settingsMutex;
|
||||||
|
@ -94,7 +94,8 @@ PacketMod::~PacketMod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, true);
|
||||||
|
stop();
|
||||||
delete m_basebandSource;
|
delete m_basebandSource;
|
||||||
delete m_thread;
|
delete m_thread;
|
||||||
}
|
}
|
||||||
@ -104,7 +105,7 @@ void PacketMod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSource(this);
|
m_deviceAPI->addChannelSource(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
@ -406,7 +407,7 @@ void PacketMod::applySettings(const PacketModSettings& settings, bool force)
|
|||||||
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this, m_settings.m_streamIndex);
|
m_deviceAPI->removeChannelSource(this, false, m_settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSourceAPI(this);
|
m_deviceAPI->addChannelSourceAPI(this);
|
||||||
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
||||||
|
@ -90,7 +90,8 @@ PSK31::~PSK31()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, true);
|
||||||
|
stop();
|
||||||
delete m_basebandSource;
|
delete m_basebandSource;
|
||||||
delete m_thread;
|
delete m_thread;
|
||||||
}
|
}
|
||||||
@ -100,7 +101,7 @@ void PSK31::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSource(this);
|
m_deviceAPI->addChannelSource(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
@ -297,7 +298,7 @@ void PSK31::applySettings(const PSK31Settings& settings, bool force)
|
|||||||
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this, m_settings.m_streamIndex);
|
m_deviceAPI->removeChannelSource(this, false, m_settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSourceAPI(this);
|
m_deviceAPI->addChannelSourceAPI(this);
|
||||||
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
||||||
|
@ -90,7 +90,8 @@ RttyMod::~RttyMod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, true);
|
||||||
|
stop();
|
||||||
delete m_basebandSource;
|
delete m_basebandSource;
|
||||||
delete m_thread;
|
delete m_thread;
|
||||||
}
|
}
|
||||||
@ -100,7 +101,7 @@ void RttyMod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSource(this);
|
m_deviceAPI->addChannelSource(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
@ -322,7 +323,7 @@ void RttyMod::applySettings(const RttyModSettings& settings, bool force)
|
|||||||
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this, m_settings.m_streamIndex);
|
m_deviceAPI->removeChannelSource(this, false, m_settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSourceAPI(this);
|
m_deviceAPI->addChannelSourceAPI(this);
|
||||||
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
||||||
|
@ -57,6 +57,8 @@ const char* const SSBMod::m_channelId = "SSBMod";
|
|||||||
SSBMod::SSBMod(DeviceAPI *deviceAPI) :
|
SSBMod::SSBMod(DeviceAPI *deviceAPI) :
|
||||||
ChannelAPI(m_channelIdURI, ChannelAPI::StreamSingleSource),
|
ChannelAPI(m_channelIdURI, ChannelAPI::StreamSingleSource),
|
||||||
m_deviceAPI(deviceAPI),
|
m_deviceAPI(deviceAPI),
|
||||||
|
m_basebandSampleRate(0),
|
||||||
|
m_centerFrequency(0),
|
||||||
m_spectrumVis(SDR_TX_SCALEF)
|
m_spectrumVis(SDR_TX_SCALEF)
|
||||||
{
|
{
|
||||||
setObjectName(m_channelId);
|
setObjectName(m_channelId);
|
||||||
@ -92,7 +94,8 @@ SSBMod::~SSBMod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, true);
|
||||||
|
stop();
|
||||||
delete m_basebandSource;
|
delete m_basebandSource;
|
||||||
delete m_thread;
|
delete m_thread;
|
||||||
}
|
}
|
||||||
@ -102,7 +105,7 @@ void SSBMod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSource(this);
|
m_deviceAPI->addChannelSource(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
@ -118,6 +121,10 @@ void SSBMod::start()
|
|||||||
qDebug("SSBMod::start");
|
qDebug("SSBMod::start");
|
||||||
m_basebandSource->reset();
|
m_basebandSource->reset();
|
||||||
m_thread->start();
|
m_thread->start();
|
||||||
|
|
||||||
|
DSPSignalNotification *dspMsg = new DSPSignalNotification(m_basebandSampleRate, m_centerFrequency);
|
||||||
|
m_basebandSource->getInputMessageQueue()->push(dspMsg);
|
||||||
|
|
||||||
m_running = true;
|
m_running = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -210,6 +217,10 @@ bool SSBMod::handleMessage(const Message& cmd)
|
|||||||
else if (DSPSignalNotification::match(cmd))
|
else if (DSPSignalNotification::match(cmd))
|
||||||
{
|
{
|
||||||
auto& notif = (const DSPSignalNotification&) cmd;
|
auto& notif = (const DSPSignalNotification&) cmd;
|
||||||
|
|
||||||
|
m_centerFrequency = notif.getCenterFrequency();
|
||||||
|
m_basebandSampleRate = notif.getSampleRate();
|
||||||
|
|
||||||
// Forward to the source
|
// Forward to the source
|
||||||
if (m_running)
|
if (m_running)
|
||||||
{
|
{
|
||||||
@ -351,7 +362,7 @@ void SSBMod::applySettings(const SSBModSettings& settings, bool force)
|
|||||||
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this, m_settings.m_streamIndex);
|
m_deviceAPI->removeChannelSource(this, false, m_settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSourceAPI(this);
|
m_deviceAPI->addChannelSourceAPI(this);
|
||||||
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
||||||
|
@ -256,6 +256,8 @@ private:
|
|||||||
bool m_running = false;
|
bool m_running = false;
|
||||||
SSBModBaseband* m_basebandSource;
|
SSBModBaseband* m_basebandSource;
|
||||||
SSBModSettings m_settings;
|
SSBModSettings m_settings;
|
||||||
|
int m_basebandSampleRate;
|
||||||
|
qint64 m_centerFrequency;
|
||||||
SpectrumVis m_spectrumVis;
|
SpectrumVis m_spectrumVis;
|
||||||
|
|
||||||
SampleVector m_sampleBuffer;
|
SampleVector m_sampleBuffer;
|
||||||
|
@ -90,7 +90,8 @@ WFMMod::~WFMMod()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, true);
|
||||||
|
stop();
|
||||||
delete m_basebandSource;
|
delete m_basebandSource;
|
||||||
delete m_thread;
|
delete m_thread;
|
||||||
}
|
}
|
||||||
@ -100,7 +101,7 @@ void WFMMod::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSource(this);
|
m_deviceAPI->addChannelSource(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
@ -313,7 +314,7 @@ void WFMMod::applySettings(const WFMModSettings& settings, bool force)
|
|||||||
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this, m_settings.m_streamIndex);
|
m_deviceAPI->removeChannelSource(this, false, m_settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSourceAPI(this);
|
m_deviceAPI->addChannelSourceAPI(this);
|
||||||
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
||||||
|
@ -84,7 +84,8 @@ RemoteSource::~RemoteSource()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, true);
|
||||||
|
stop();
|
||||||
delete m_basebandSource;
|
delete m_basebandSource;
|
||||||
delete m_thread;
|
delete m_thread;
|
||||||
}
|
}
|
||||||
@ -94,7 +95,7 @@ void RemoteSource::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSource(this);
|
m_deviceAPI->addChannelSource(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
@ -242,7 +243,7 @@ void RemoteSource::applySettings(const RemoteSourceSettings& settings, bool forc
|
|||||||
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this, m_settings.m_streamIndex);
|
m_deviceAPI->removeChannelSource(this, false, m_settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSourceAPI(this);
|
m_deviceAPI->addChannelSourceAPI(this);
|
||||||
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
||||||
|
@ -78,7 +78,8 @@ UDPSource::~UDPSource()
|
|||||||
);
|
);
|
||||||
delete m_networkManager;
|
delete m_networkManager;
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, true);
|
||||||
|
stop();
|
||||||
delete m_basebandSource;
|
delete m_basebandSource;
|
||||||
delete m_thread;
|
delete m_thread;
|
||||||
}
|
}
|
||||||
@ -88,7 +89,7 @@ void UDPSource::setDeviceAPI(DeviceAPI *deviceAPI)
|
|||||||
if (deviceAPI != m_deviceAPI)
|
if (deviceAPI != m_deviceAPI)
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this);
|
m_deviceAPI->removeChannelSource(this, false);
|
||||||
m_deviceAPI = deviceAPI;
|
m_deviceAPI = deviceAPI;
|
||||||
m_deviceAPI->addChannelSource(this);
|
m_deviceAPI->addChannelSource(this);
|
||||||
m_deviceAPI->addChannelSinkAPI(this);
|
m_deviceAPI->addChannelSinkAPI(this);
|
||||||
@ -277,7 +278,7 @@ void UDPSource::applySettings(const UDPSourceSettings& settings, bool force)
|
|||||||
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
if (m_deviceAPI->getSampleMIMO()) // change of stream is possible for MIMO devices only
|
||||||
{
|
{
|
||||||
m_deviceAPI->removeChannelSourceAPI(this);
|
m_deviceAPI->removeChannelSourceAPI(this);
|
||||||
m_deviceAPI->removeChannelSource(this, m_settings.m_streamIndex);
|
m_deviceAPI->removeChannelSource(this, false, m_settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
m_deviceAPI->addChannelSource(this, settings.m_streamIndex);
|
||||||
m_deviceAPI->addChannelSourceAPI(this);
|
m_deviceAPI->addChannelSourceAPI(this);
|
||||||
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
m_settings.m_streamIndex = settings.m_streamIndex; // make sure ChannelAPI::getStreamIndex() is consistent
|
||||||
|
@ -83,10 +83,10 @@ void DeviceAPI::addChannelSink(BasebandSampleSink* sink, int streamIndex)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DeviceAPI::removeChannelSink(BasebandSampleSink* sink, int streamIndex)
|
void DeviceAPI::removeChannelSink(BasebandSampleSink* sink, bool deleting, int streamIndex)
|
||||||
{
|
{
|
||||||
if (m_deviceSourceEngine) {
|
if (m_deviceSourceEngine) {
|
||||||
m_deviceSourceEngine->removeSink(sink);
|
m_deviceSourceEngine->removeSink(sink, deleting);
|
||||||
} else if (m_deviceMIMOEngine) {
|
} else if (m_deviceMIMOEngine) {
|
||||||
m_deviceMIMOEngine->removeChannelSink(sink, streamIndex);
|
m_deviceMIMOEngine->removeChannelSink(sink, streamIndex);
|
||||||
}
|
}
|
||||||
@ -101,12 +101,12 @@ void DeviceAPI::addChannelSource(BasebandSampleSource* source, int streamIndex)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DeviceAPI::removeChannelSource(BasebandSampleSource* source, int streamIndex)
|
void DeviceAPI::removeChannelSource(BasebandSampleSource* source, bool deleting, int streamIndex)
|
||||||
{
|
{
|
||||||
if (m_deviceSinkEngine) {
|
if (m_deviceSinkEngine) {
|
||||||
m_deviceSinkEngine->removeChannelSource(source);
|
m_deviceSinkEngine->removeChannelSource(source, deleting);
|
||||||
} else if (m_deviceMIMOEngine) {
|
} else if (m_deviceMIMOEngine) {
|
||||||
m_deviceMIMOEngine->removeChannelSource(source, streamIndex);
|
m_deviceMIMOEngine->removeChannelSource(source, deleting, streamIndex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,9 +70,9 @@ public:
|
|||||||
void setSpectrumSinkInput(bool sourceElseSink = true, unsigned int index = 0); //!< Used in the MIMO case to select which stream is used as input to main spectrum
|
void setSpectrumSinkInput(bool sourceElseSink = true, unsigned int index = 0); //!< Used in the MIMO case to select which stream is used as input to main spectrum
|
||||||
|
|
||||||
void addChannelSink(BasebandSampleSink* sink, int streamIndex = 0); //!< Add a channel sink (Rx)
|
void addChannelSink(BasebandSampleSink* sink, int streamIndex = 0); //!< Add a channel sink (Rx)
|
||||||
void removeChannelSink(BasebandSampleSink* sink, int streamIndex = 0); //!< Remove a channel sink (Rx)
|
void removeChannelSink(BasebandSampleSink* sink, bool deleting, int streamIndex = 0); //!< Remove a channel sink (Rx)
|
||||||
void addChannelSource(BasebandSampleSource* sink, int streamIndex = 0); //!< Add a channel source (Tx)
|
void addChannelSource(BasebandSampleSource* sink, int streamIndex = 0); //!< Add a channel source (Tx)
|
||||||
void removeChannelSource(BasebandSampleSource* sink, int streamIndex = 0); //!< Remove a channel source (Tx)
|
void removeChannelSource(BasebandSampleSource* sink, bool deleting, int streamIndex = 0); //!< Remove a channel source (Tx)
|
||||||
void addMIMOChannel(MIMOChannel* channel); //!< Add a MIMO channel (n Rx and m Tx combination)
|
void addMIMOChannel(MIMOChannel* channel); //!< Add a MIMO channel (n Rx and m Tx combination)
|
||||||
void removeMIMOChannel(MIMOChannel* channel); //!< Remove a MIMO channel (n Rx and m Tx combination)
|
void removeMIMOChannel(MIMOChannel* channel); //!< Remove a MIMO channel (n Rx and m Tx combination)
|
||||||
|
|
||||||
|
@ -152,12 +152,14 @@ class SDRBASE_API DSPRemoveBasebandSampleSink : public Message {
|
|||||||
MESSAGE_CLASS_DECLARATION
|
MESSAGE_CLASS_DECLARATION
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DSPRemoveBasebandSampleSink(BasebandSampleSink* sampleSink) : Message(), m_sampleSink(sampleSink) { }
|
DSPRemoveBasebandSampleSink(BasebandSampleSink* sampleSink, bool deleting) : Message(), m_sampleSink(sampleSink), m_deleting(deleting) { }
|
||||||
|
|
||||||
BasebandSampleSink* getSampleSink() const { return m_sampleSink; }
|
BasebandSampleSink* getSampleSink() const { return m_sampleSink; }
|
||||||
|
bool getDeleting() const { return m_deleting; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
BasebandSampleSink* m_sampleSink;
|
BasebandSampleSink* m_sampleSink;
|
||||||
|
bool m_deleting;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SDRBASE_API DSPRemoveSpectrumSink : public Message {
|
class SDRBASE_API DSPRemoveSpectrumSink : public Message {
|
||||||
@ -176,12 +178,14 @@ class SDRBASE_API DSPRemoveBasebandSampleSource : public Message {
|
|||||||
MESSAGE_CLASS_DECLARATION
|
MESSAGE_CLASS_DECLARATION
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DSPRemoveBasebandSampleSource(BasebandSampleSource* sampleSource) : Message(), m_sampleSource(sampleSource) { }
|
DSPRemoveBasebandSampleSource(BasebandSampleSource* sampleSource, bool deleting) : Message(), m_sampleSource(sampleSource), m_deleting(deleting) { }
|
||||||
|
|
||||||
BasebandSampleSource* getSampleSource() const { return m_sampleSource; }
|
BasebandSampleSource* getSampleSource() const { return m_sampleSource; }
|
||||||
|
bool getDeleting() const { return m_deleting; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
BasebandSampleSource* m_sampleSource;
|
BasebandSampleSource* m_sampleSource;
|
||||||
|
bool m_deleting;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SDRBASE_API DSPAddAudioSink : public Message {
|
class SDRBASE_API DSPAddAudioSink : public Message {
|
||||||
|
@ -155,13 +155,13 @@ void DSPDeviceMIMOEngine::addChannelSource(BasebandSampleSource* source, int ind
|
|||||||
getInputMessageQueue()->push(cmd);
|
getInputMessageQueue()->push(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DSPDeviceMIMOEngine::removeChannelSource(BasebandSampleSource* source, int index)
|
void DSPDeviceMIMOEngine::removeChannelSource(BasebandSampleSource* source, bool deleting, int index)
|
||||||
{
|
{
|
||||||
qDebug() << "DSPDeviceMIMOEngine::removeChannelSource: "
|
qDebug() << "DSPDeviceMIMOEngine::removeChannelSource: "
|
||||||
<< source->getSourceName().toStdString().c_str()
|
<< source->getSourceName().toStdString().c_str()
|
||||||
<< " at: "
|
<< " at: "
|
||||||
<< index;
|
<< index;
|
||||||
auto *cmd = new RemoveBasebandSampleSource(source, index);
|
auto *cmd = new RemoveBasebandSampleSource(source, index, deleting);
|
||||||
getInputMessageQueue()->push(cmd);
|
getInputMessageQueue()->push(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1129,10 +1129,13 @@ bool DSPDeviceMIMOEngine::handleMessage(const Message& message)
|
|||||||
const auto& msg = (const RemoveBasebandSampleSource&) message;
|
const auto& msg = (const RemoveBasebandSampleSource&) message;
|
||||||
BasebandSampleSource* sampleSource = msg.getSampleSource();
|
BasebandSampleSource* sampleSource = msg.getSampleSource();
|
||||||
unsigned int isink = msg.getIndex();
|
unsigned int isink = msg.getIndex();
|
||||||
|
bool deleting = msg.getDeleting();
|
||||||
|
|
||||||
if (isink < m_basebandSampleSources.size())
|
if (isink < m_basebandSampleSources.size())
|
||||||
{
|
{
|
||||||
sampleSource->stop();
|
if (!deleting) {
|
||||||
|
sampleSource->stop();
|
||||||
|
}
|
||||||
m_basebandSampleSources[isink].remove(sampleSource);
|
m_basebandSampleSources[isink].remove(sampleSource);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,16 +65,19 @@ public:
|
|||||||
MESSAGE_CLASS_DECLARATION
|
MESSAGE_CLASS_DECLARATION
|
||||||
|
|
||||||
public:
|
public:
|
||||||
RemoveBasebandSampleSource(BasebandSampleSource* sampleSource, unsigned int index) :
|
RemoveBasebandSampleSource(BasebandSampleSource* sampleSource, unsigned int index, bool deleting) :
|
||||||
Message(),
|
Message(),
|
||||||
m_sampleSource(sampleSource),
|
m_sampleSource(sampleSource),
|
||||||
m_index(index)
|
m_index(index),
|
||||||
|
m_deleting(deleting)
|
||||||
{ }
|
{ }
|
||||||
BasebandSampleSource* getSampleSource() const { return m_sampleSource; }
|
BasebandSampleSource* getSampleSource() const { return m_sampleSource; }
|
||||||
unsigned int getIndex() const { return m_index; }
|
unsigned int getIndex() const { return m_index; }
|
||||||
|
bool getDeleting() const { return m_deleting; }
|
||||||
private:
|
private:
|
||||||
BasebandSampleSource* m_sampleSource;
|
BasebandSampleSource* m_sampleSource;
|
||||||
unsigned int m_index;
|
unsigned int m_index;
|
||||||
|
bool m_deleting;
|
||||||
};
|
};
|
||||||
|
|
||||||
class AddMIMOChannel : public Message {
|
class AddMIMOChannel : public Message {
|
||||||
@ -227,7 +230,7 @@ public:
|
|||||||
uint getUID() const { return m_uid; }
|
uint getUID() const { return m_uid; }
|
||||||
|
|
||||||
void addChannelSource(BasebandSampleSource* source, int index = 0); //!< Add a channel source
|
void addChannelSource(BasebandSampleSource* source, int index = 0); //!< Add a channel source
|
||||||
void removeChannelSource(BasebandSampleSource* source, int index = 0); //!< Remove a channel source
|
void removeChannelSource(BasebandSampleSource* source, bool deleting, int index = 0); //!< Remove a channel source
|
||||||
void addChannelSink(BasebandSampleSink* sink, int index = 0); //!< Add a channel sink
|
void addChannelSink(BasebandSampleSink* sink, int index = 0); //!< Add a channel sink
|
||||||
void removeChannelSink(BasebandSampleSink* sink, int index = 0); //!< Remove a channel sink
|
void removeChannelSink(BasebandSampleSink* sink, int index = 0); //!< Remove a channel sink
|
||||||
void addMIMOChannel(MIMOChannel *channel); //!< Add a MIMO channel
|
void addMIMOChannel(MIMOChannel *channel); //!< Add a MIMO channel
|
||||||
|
@ -101,10 +101,10 @@ void DSPDeviceSinkEngine::addChannelSource(BasebandSampleSource* source)
|
|||||||
getInputMessageQueue()->push(cmd);
|
getInputMessageQueue()->push(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DSPDeviceSinkEngine::removeChannelSource(BasebandSampleSource* source)
|
void DSPDeviceSinkEngine::removeChannelSource(BasebandSampleSource* source, bool deleting)
|
||||||
{
|
{
|
||||||
qDebug() << "DSPDeviceSinkEngine::removeChannelSource: " << source->getSourceName().toStdString().c_str();
|
qDebug() << "DSPDeviceSinkEngine::removeChannelSource: " << source->getSourceName().toStdString().c_str();
|
||||||
auto *cmd = new DSPRemoveBasebandSampleSource(source);
|
auto *cmd = new DSPRemoveBasebandSampleSource(source, deleting);
|
||||||
getInputMessageQueue()->push(cmd);
|
getInputMessageQueue()->push(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -499,8 +499,9 @@ bool DSPDeviceSinkEngine::handleMessage(const Message& message)
|
|||||||
{
|
{
|
||||||
auto& cmd = (const DSPRemoveBasebandSampleSource&) message;
|
auto& cmd = (const DSPRemoveBasebandSampleSource&) message;
|
||||||
BasebandSampleSource* source = cmd.getSampleSource();
|
BasebandSampleSource* source = cmd.getSampleSource();
|
||||||
|
bool deleting = cmd.getDeleting();
|
||||||
|
|
||||||
if(m_state == State::StRunning) {
|
if (!deleting && (m_state == State::StRunning)) {
|
||||||
source->stop();
|
source->stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@ public:
|
|||||||
void setSinkSequence(int sequence); //!< Set the sample sink sequence in type
|
void setSinkSequence(int sequence); //!< Set the sample sink sequence in type
|
||||||
|
|
||||||
void addChannelSource(BasebandSampleSource* source); //!< Add a baseband sample source
|
void addChannelSource(BasebandSampleSource* source); //!< Add a baseband sample source
|
||||||
void removeChannelSource(BasebandSampleSource* source); //!< Remove a baseband sample source
|
void removeChannelSource(BasebandSampleSource* source, bool deleting); //!< Remove a baseband sample source
|
||||||
|
|
||||||
void addSpectrumSink(BasebandSampleSink* spectrumSink); //!< Add a spectrum vis baseband sample sink
|
void addSpectrumSink(BasebandSampleSink* spectrumSink); //!< Add a spectrum vis baseband sample sink
|
||||||
void removeSpectrumSink(BasebandSampleSink* spectrumSink); //!< Add a spectrum vis baseband sample sink
|
void removeSpectrumSink(BasebandSampleSink* spectrumSink); //!< Add a spectrum vis baseband sample sink
|
||||||
|
@ -109,10 +109,10 @@ void DSPDeviceSourceEngine::addSink(BasebandSampleSink* sink)
|
|||||||
getInputMessageQueue()->push(cmd);
|
getInputMessageQueue()->push(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DSPDeviceSourceEngine::removeSink(BasebandSampleSink* sink)
|
void DSPDeviceSourceEngine::removeSink(BasebandSampleSink* sink, bool deleting)
|
||||||
{
|
{
|
||||||
qDebug() << "DSPDeviceSourceEngine::removeSink: " << sink->getSinkName().toStdString().c_str();
|
qDebug() << "DSPDeviceSourceEngine::removeSink: " << sink->getSinkName().toStdString().c_str();
|
||||||
auto *cmd = new DSPRemoveBasebandSampleSink(sink);
|
auto *cmd = new DSPRemoveBasebandSampleSink(sink, deleting);
|
||||||
getInputMessageQueue()->push(cmd);
|
getInputMessageQueue()->push(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -629,8 +629,10 @@ bool DSPDeviceSourceEngine::handleMessage(const Message& message)
|
|||||||
{
|
{
|
||||||
auto cmd = (const DSPRemoveBasebandSampleSink&) message;
|
auto cmd = (const DSPRemoveBasebandSampleSink&) message;
|
||||||
BasebandSampleSink* sink = cmd.getSampleSink();
|
BasebandSampleSink* sink = cmd.getSampleSink();
|
||||||
|
bool deleting = cmd.getDeleting();
|
||||||
|
|
||||||
if(m_state == State::StRunning) {
|
// Don't dereference sink if deleting, as it may have already been deleted
|
||||||
|
if (!deleting && (m_state == State::StRunning)) {
|
||||||
sink->stop();
|
sink->stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@ public:
|
|||||||
DeviceSampleSource *getSource() { return m_deviceSampleSource; }
|
DeviceSampleSource *getSource() { return m_deviceSampleSource; }
|
||||||
|
|
||||||
void addSink(BasebandSampleSink* sink); //!< Add a sample sink
|
void addSink(BasebandSampleSink* sink); //!< Add a sample sink
|
||||||
void removeSink(BasebandSampleSink* sink); //!< Remove a sample sink
|
void removeSink(BasebandSampleSink* sink, bool deleting); //!< Remove a sample sink
|
||||||
|
|
||||||
void configureCorrections(bool dcOffsetCorrection, bool iqImbalanceCorrection); //!< Configure DSP corrections
|
void configureCorrections(bool dcOffsetCorrection, bool iqImbalanceCorrection); //!< Configure DSP corrections
|
||||||
|
|
||||||
|
@ -740,7 +740,7 @@ void RemoveDeviceSetFSM::removeSink()
|
|||||||
{
|
{
|
||||||
qDebug() << "RemoveDeviceSetFSM::removeSink";
|
qDebug() << "RemoveDeviceSetFSM::removeSink";
|
||||||
if (m_deviceSourceEngine) {
|
if (m_deviceSourceEngine) {
|
||||||
m_deviceSourceEngine->removeSink(m_deviceUISet->m_spectrumVis);
|
m_deviceSourceEngine->removeSink(m_deviceUISet->m_spectrumVis, false);
|
||||||
} else if (m_deviceSinkEngine) {
|
} else if (m_deviceSinkEngine) {
|
||||||
m_deviceSinkEngine->removeSpectrumSink(m_deviceUISet->m_spectrumVis);
|
m_deviceSinkEngine->removeSpectrumSink(m_deviceUISet->m_spectrumVis);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user