2015-11-18 21:09:51 -05:00
|
|
|
#pragma once
|
|
|
|
#include "Modem.h"
|
|
|
|
|
|
|
|
class ModemKitDigital : public ModemKit {
|
|
|
|
public:
|
|
|
|
ModemKitDigital() : ModemKit() {
|
|
|
|
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class ModemDigital : public Modem {
|
|
|
|
public:
|
|
|
|
ModemDigital();
|
2015-11-18 23:40:30 -05:00
|
|
|
std::string getType();
|
2015-11-18 21:09:51 -05:00
|
|
|
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 21:09:51 -05:00
|
|
|
|
2015-11-18 22:57:31 -05:00
|
|
|
virtual void setDemodulatorLock(bool demod_lock_in);
|
|
|
|
virtual int getDemodulatorLock();
|
2015-11-18 21:09:51 -05:00
|
|
|
|
2015-11-18 22:57:31 -05:00
|
|
|
virtual void setDemodulatorCons(int demod_cons_in);
|
|
|
|
virtual int getDemodulatorCons();
|
2015-11-18 21:09:51 -05:00
|
|
|
|
2015-11-18 22:57:31 -05:00
|
|
|
virtual void updateDemodulatorCons(int cons);
|
|
|
|
virtual void updateDemodulatorLock(modem mod, float sensitivity);
|
2015-11-18 21:09:51 -05:00
|
|
|
|
|
|
|
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;
|
2015-11-18 21:31:59 -05:00
|
|
|
|
2015-11-18 21:09:51 -05:00
|
|
|
// std::vector<unsigned int> demodOutputDataDigitalTest;
|
|
|
|
// std::vector<unsigned char> demodOutputSoftbits;
|
|
|
|
// std::vector<unsigned char> demodOutputSoftbitsTest;
|
|
|
|
};
|