#pragma once #include "SDRThread.h" #include 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 iqDataInQueue; std::atomic iqDataOutQueue; std::atomic iqVisualQueue; std::vector demodulators; std::vector demodulators_add; std::vector demodulators_remove; std::atomic terminated; iirfilt_crcf dcFilter; };