mirror of
https://github.com/cjcliffe/CubicSDR.git
synced 2026-10-08 00:00:23 -04:00
Remove DC spike from IQ stream and visuals
IQ post-process / distribution in separate thread, use of iirfilt_crcf_create_dc_blocker to reduce DC offset in IQ stream.
This commit is contained in:
+18
-2
@@ -36,11 +36,19 @@ bool CubicSDR::OnInit() {
|
||||
|
||||
threadCmdQueueSDR = new SDRThreadCommandQueue;
|
||||
sdrThread = new SDRThread(threadCmdQueueSDR);
|
||||
sdrThread->bindDemodulator(demodulatorTest);
|
||||
|
||||
sdrPostThread = new SDRPostThread();
|
||||
|
||||
iqPostDataQueue = new SDRThreadIQDataQueue;
|
||||
iqVisualQueue = new SDRThreadIQDataQueue;
|
||||
sdrThread->setIQVisualQueue(iqVisualQueue);
|
||||
|
||||
sdrThread->setIQDataOutQueue(iqPostDataQueue);
|
||||
sdrPostThread->setIQDataInQueue(iqPostDataQueue);
|
||||
sdrPostThread->setIQVisualQueue(iqVisualQueue);
|
||||
|
||||
sdrPostThread->bindDemodulator(demodulatorTest);
|
||||
|
||||
threadPostSDR = new std::thread(&SDRPostThread::threadMain, sdrPostThread);
|
||||
threadSDR = new std::thread(&SDRThread::threadMain, sdrThread);
|
||||
|
||||
AppFrame *appframe = new AppFrame();
|
||||
@@ -53,9 +61,15 @@ int CubicSDR::OnExit() {
|
||||
sdrThread->terminate();
|
||||
threadSDR->join();
|
||||
|
||||
sdrPostThread->terminate();
|
||||
threadPostSDR->join();
|
||||
|
||||
delete sdrThread;
|
||||
delete threadSDR;
|
||||
|
||||
delete sdrPostThread;
|
||||
delete threadPostSDR;
|
||||
|
||||
demodMgr.terminateAll();
|
||||
|
||||
audioThread->terminate();
|
||||
@@ -69,6 +83,8 @@ int CubicSDR::OnExit() {
|
||||
|
||||
delete iqVisualQueue;
|
||||
delete audioVisualQueue;
|
||||
delete iqPostDataQueue;
|
||||
|
||||
delete m_glContext;
|
||||
|
||||
return wxApp::OnExit();
|
||||
|
||||
Reference in New Issue
Block a user