diff --git a/plugins/channelmimo/beamsteeringcwmod/beamsteeringcwmod.cpp b/plugins/channelmimo/beamsteeringcwmod/beamsteeringcwmod.cpp index cf976e5e7..e2c0952d7 100644 --- a/plugins/channelmimo/beamsteeringcwmod/beamsteeringcwmod.cpp +++ b/plugins/channelmimo/beamsteeringcwmod/beamsteeringcwmod.cpp @@ -74,8 +74,9 @@ BeamSteeringCWMod::~BeamSteeringCWMod() ); delete m_networkManager; - m_deviceAPI->removeChannelSinkAPI(this); + m_deviceAPI->removeMIMOChannelAPI(this); m_deviceAPI->removeMIMOChannel(this); + QThread::msleep(100); // let some time for message queues to be processed BeamSteeringCWMod::stopSources(); } @@ -83,11 +84,11 @@ void BeamSteeringCWMod::setDeviceAPI(DeviceAPI *deviceAPI) { if (deviceAPI != m_deviceAPI) { - m_deviceAPI->removeChannelSinkAPI(this); + m_deviceAPI->removeMIMOChannelAPI(this); m_deviceAPI->removeMIMOChannel(this); m_deviceAPI = deviceAPI; m_deviceAPI->addMIMOChannel(this); - m_deviceAPI->addChannelSinkAPI(this); + m_deviceAPI->addMIMOChannelAPI(this); } } diff --git a/plugins/channelmimo/doa2/doa2.cpp b/plugins/channelmimo/doa2/doa2.cpp index ed3704f1a..d31ce0599 100644 --- a/plugins/channelmimo/doa2/doa2.cpp +++ b/plugins/channelmimo/doa2/doa2.cpp @@ -77,8 +77,9 @@ DOA2::~DOA2() ); delete m_networkManager; - m_deviceAPI->removeChannelSinkAPI(this); + m_deviceAPI->removeMIMOChannelAPI(this); m_deviceAPI->removeMIMOChannel(this); + QThread::msleep(100); // let some time for message queues to be processed DOA2::stopSinks(); } @@ -86,11 +87,11 @@ void DOA2::setDeviceAPI(DeviceAPI *deviceAPI) { if (deviceAPI != m_deviceAPI) { - m_deviceAPI->removeChannelSinkAPI(this); + m_deviceAPI->removeMIMOChannelAPI(this); m_deviceAPI->removeMIMOChannel(this); m_deviceAPI = deviceAPI; m_deviceAPI->addMIMOChannel(this); - m_deviceAPI->addChannelSinkAPI(this); + m_deviceAPI->addMIMOChannelAPI(this); } } diff --git a/plugins/channelmimo/interferometer/interferometer.cpp b/plugins/channelmimo/interferometer/interferometer.cpp index 808e6503c..2ac5f819a 100644 --- a/plugins/channelmimo/interferometer/interferometer.cpp +++ b/plugins/channelmimo/interferometer/interferometer.cpp @@ -96,8 +96,9 @@ Interferometer::~Interferometer() ); delete m_networkManager; - m_deviceAPI->removeChannelSinkAPI(this); + m_deviceAPI->removeMIMOChannelAPI(this); m_deviceAPI->removeMIMOChannel(this); + QThread::msleep(100); // let some time for message queues to be processed Interferometer::stopSinks(); } @@ -105,11 +106,11 @@ void Interferometer::setDeviceAPI(DeviceAPI *deviceAPI) { if (deviceAPI != m_deviceAPI) { - m_deviceAPI->removeChannelSinkAPI(this); + m_deviceAPI->removeMIMOChannelAPI(this); m_deviceAPI->removeMIMOChannel(this); m_deviceAPI = deviceAPI; m_deviceAPI->addMIMOChannel(this); - m_deviceAPI->addChannelSinkAPI(this); + m_deviceAPI->addMIMOChannelAPI(this); } }