CubicSDR/src/modules/modem/ModemDigital.h

38 lines
1.1 KiB
C
Raw Normal View History

#pragma once
#include "Modem.h"
class ModemKitDigital : public ModemKit {
public:
ModemKitDigital() : ModemKit() {
};
};
class ModemDigital : public Modem {
public:
ModemDigital();
ModemKit *buildKit(long long sampleRate, int audioSampleRate);
void disposeKit(ModemKit *kit);
2015-11-18 22:57:31 -05:00
void digitalStart(ModemKitDigital *kit, modem mod, ModemIQData *input);
void digitalFinish(ModemKitDigital *kit, modem mod);
2015-11-18 22:57:31 -05:00
virtual void setDemodulatorLock(bool demod_lock_in);
virtual int getDemodulatorLock();
2015-11-18 22:57:31 -05:00
virtual void setDemodulatorCons(int demod_cons_in);
virtual int getDemodulatorCons();
2015-11-18 22:57:31 -05:00
virtual void updateDemodulatorCons(int cons);
virtual void updateDemodulatorLock(modem mod, float sensitivity);
protected:
std::vector<unsigned int> demodOutputDataDigital;
std::atomic_int demodulatorCons;
2015-11-18 22:57:31 -05:00
std::atomic_bool currentDemodLock;
std::atomic_int currentDemodCons;
// std::vector<unsigned int> demodOutputDataDigitalTest;
// std::vector<unsigned char> demodOutputSoftbits;
// std::vector<unsigned char> demodOutputSoftbitsTest;
};