mirror of
https://github.com/cjcliffe/CubicSDR.git
synced 2024-09-29 00:26:47 -04:00
34 lines
944 B
C++
34 lines
944 B
C++
#pragma once
|
|
|
|
#include "SDRThread.h"
|
|
#include <algorithm>
|
|
|
|
class SDRPostThread {
|
|
public:
|
|
SDRPostThread();
|
|
~SDRPostThread();
|
|
|
|
void bindDemodulator(DemodulatorInstance *demod);
|
|
void removeDemodulator(DemodulatorInstance *demod);
|
|
|
|
void setIQDataInQueue(SDRThreadIQDataQueue* iqDataQueue);
|
|
void setIQDataOutQueue(DemodulatorThreadInputQueue* iqDataQueue);
|
|
void setIQVisualQueue(DemodulatorThreadInputQueue* iqVisQueue);
|
|
|
|
void threadMain();
|
|
void terminate();
|
|
|
|
protected:
|
|
uint32_t sample_rate;
|
|
|
|
std::atomic<SDRThreadIQDataQueue *> iqDataInQueue;
|
|
std::atomic<DemodulatorThreadInputQueue *> iqDataOutQueue;
|
|
std::atomic<DemodulatorThreadInputQueue *> iqVisualQueue;
|
|
|
|
std::vector<DemodulatorInstance *> demodulators;
|
|
std::vector<DemodulatorInstance *> demodulators_add;
|
|
std::vector<DemodulatorInstance *> demodulators_remove;
|
|
std::atomic<bool> terminated;
|
|
iirfilt_crcf dcFilter;
|
|
};
|