mirror of
https://github.com/cjcliffe/CubicSDR.git
synced 2025-02-03 09:44:26 -05:00
Cleanup: digital modems
This commit is contained in:
parent
74f63d0e84
commit
9e22a1314c
@ -70,9 +70,9 @@ std::string ModemAPSK::readSetting(std::string setting) {
|
||||
return "";
|
||||
}
|
||||
|
||||
void ModemAPSK::updateDemodulatorCons(int cons) {
|
||||
this->cons = cons;
|
||||
switch (cons) {
|
||||
void ModemAPSK::updateDemodulatorCons(int cons_in) {
|
||||
cons = cons_in;
|
||||
switch (cons_in) {
|
||||
case 4:
|
||||
demodAPSK = demodAPSK4;
|
||||
break;
|
||||
@ -98,7 +98,7 @@ void ModemAPSK::updateDemodulatorCons(int cons) {
|
||||
}
|
||||
|
||||
void ModemAPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
|
||||
ModemKitDigital *dkit = (ModemKitDigital *)kit;
|
||||
auto *dkit = (ModemKitDigital *)kit;
|
||||
|
||||
digitalStart(dkit, demodAPSK, input);
|
||||
|
||||
|
@ -7,18 +7,18 @@
|
||||
class ModemAPSK : public ModemDigital {
|
||||
public:
|
||||
ModemAPSK();
|
||||
~ModemAPSK();
|
||||
~ModemAPSK() override;
|
||||
|
||||
std::string getName();
|
||||
std::string getName() override;
|
||||
|
||||
static ModemBase *factory();
|
||||
|
||||
ModemArgInfoList getSettings();
|
||||
void writeSetting(std::string setting, std::string value);
|
||||
std::string readSetting(std::string setting);
|
||||
ModemArgInfoList getSettings() override;
|
||||
void writeSetting(std::string setting, std::string value) override;
|
||||
std::string readSetting(std::string setting) override;
|
||||
|
||||
void updateDemodulatorCons(int cons);
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut);
|
||||
void updateDemodulatorCons(int cons_in);
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
|
||||
|
||||
private:
|
||||
int cons;
|
||||
|
@ -72,9 +72,9 @@ std::string ModemASK::readSetting(std::string setting) {
|
||||
return "";
|
||||
}
|
||||
|
||||
void ModemASK::updateDemodulatorCons(int cons) {
|
||||
this->cons = cons;
|
||||
switch (cons) {
|
||||
void ModemASK::updateDemodulatorCons(int cons_in) {
|
||||
cons = cons_in;
|
||||
switch (cons_in) {
|
||||
case 2:
|
||||
demodASK = demodASK2;
|
||||
break;
|
||||
@ -103,7 +103,7 @@ void ModemASK::updateDemodulatorCons(int cons) {
|
||||
}
|
||||
|
||||
void ModemASK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
|
||||
ModemKitDigital *dkit = (ModemKitDigital *)kit;
|
||||
auto *dkit = (ModemKitDigital *)kit;
|
||||
|
||||
digitalStart(dkit, demodASK, input);
|
||||
|
||||
|
@ -7,18 +7,18 @@
|
||||
class ModemASK : public ModemDigital {
|
||||
public:
|
||||
ModemASK();
|
||||
~ModemASK();
|
||||
~ModemASK() override;
|
||||
|
||||
std::string getName();
|
||||
std::string getName() override;
|
||||
|
||||
static ModemBase *factory();
|
||||
|
||||
ModemArgInfoList getSettings();
|
||||
void writeSetting(std::string setting, std::string value);
|
||||
std::string readSetting(std::string setting);
|
||||
ModemArgInfoList getSettings() override;
|
||||
void writeSetting(std::string setting, std::string value) override;
|
||||
std::string readSetting(std::string setting) override;
|
||||
|
||||
void updateDemodulatorCons(int cons);
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut);
|
||||
void updateDemodulatorCons(int cons_in);
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
|
||||
|
||||
private:
|
||||
int cons;
|
||||
|
@ -20,7 +20,7 @@ std::string ModemBPSK::getName() {
|
||||
}
|
||||
|
||||
void ModemBPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
|
||||
ModemKitDigital *dkit = (ModemKitDigital *)kit;
|
||||
auto *dkit = (ModemKitDigital *)kit;
|
||||
digitalStart(dkit, demodBPSK, input);
|
||||
|
||||
for (size_t i = 0, bufSize=input->data.size(); i < bufSize; i++) {
|
||||
|
@ -7,13 +7,13 @@
|
||||
class ModemBPSK : public ModemDigital {
|
||||
public:
|
||||
ModemBPSK();
|
||||
~ModemBPSK();
|
||||
~ModemBPSK() override;
|
||||
|
||||
std::string getName();
|
||||
std::string getName() override;
|
||||
|
||||
static ModemBase *factory();
|
||||
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut);
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
|
||||
|
||||
private:
|
||||
modem demodBPSK;
|
||||
|
@ -73,9 +73,9 @@ std::string ModemDPSK::readSetting(std::string setting) {
|
||||
return "";
|
||||
}
|
||||
|
||||
void ModemDPSK::updateDemodulatorCons(int cons) {
|
||||
this->cons = cons;
|
||||
switch (cons) {
|
||||
void ModemDPSK::updateDemodulatorCons(int cons_in) {
|
||||
cons = cons_in;
|
||||
switch (cons_in) {
|
||||
case 2:
|
||||
demodDPSK = demodDPSK2;
|
||||
break;
|
||||
@ -104,7 +104,7 @@ void ModemDPSK::updateDemodulatorCons(int cons) {
|
||||
}
|
||||
|
||||
void ModemDPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
|
||||
ModemKitDigital *dkit = (ModemKitDigital *)kit;
|
||||
auto *dkit = (ModemKitDigital *)kit;
|
||||
|
||||
digitalStart(dkit, demodDPSK, input);
|
||||
|
||||
|
@ -7,18 +7,18 @@
|
||||
class ModemDPSK : public ModemDigital {
|
||||
public:
|
||||
ModemDPSK();
|
||||
~ModemDPSK();
|
||||
~ModemDPSK() override;
|
||||
|
||||
std::string getName();
|
||||
std::string getName() override;
|
||||
|
||||
static ModemBase *factory();
|
||||
|
||||
ModemArgInfoList getSettings();
|
||||
void writeSetting(std::string setting, std::string value);
|
||||
std::string readSetting(std::string setting);
|
||||
ModemArgInfoList getSettings() override;
|
||||
void writeSetting(std::string setting, std::string value) override;
|
||||
std::string readSetting(std::string setting) override;
|
||||
|
||||
void updateDemodulatorCons(int cons);
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut);
|
||||
void updateDemodulatorCons(int cons_in);
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
|
||||
|
||||
private:
|
||||
int cons;
|
||||
|
@ -99,7 +99,7 @@ std::string ModemFSK::readSetting(std::string setting) {
|
||||
}
|
||||
|
||||
ModemKit *ModemFSK::buildKit(long long sampleRate, int audioSampleRate) {
|
||||
ModemKitFSK *dkit = new ModemKitFSK;
|
||||
auto *dkit = new ModemKitFSK;
|
||||
dkit->m = bps;
|
||||
dkit->k = (unsigned int)(sampleRate / sps);
|
||||
dkit->bw = bw;
|
||||
@ -113,7 +113,7 @@ ModemKit *ModemFSK::buildKit(long long sampleRate, int audioSampleRate) {
|
||||
}
|
||||
|
||||
void ModemFSK::disposeKit(ModemKit *kit) {
|
||||
ModemKitFSK *dkit = (ModemKitFSK *)kit;
|
||||
auto *dkit = (ModemKitFSK *)kit;
|
||||
|
||||
fskdem_destroy(dkit->demodFSK);
|
||||
|
||||
@ -124,12 +124,10 @@ std::string ModemFSK::getName() {
|
||||
return "FSK";
|
||||
}
|
||||
|
||||
ModemFSK::~ModemFSK() {
|
||||
|
||||
}
|
||||
ModemFSK::~ModemFSK() = default;
|
||||
|
||||
void ModemFSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
|
||||
ModemKitFSK *dkit = (ModemKitFSK *)kit;
|
||||
auto *dkit = (ModemKitFSK *)kit;
|
||||
|
||||
digitalStart(dkit, nullptr, input);
|
||||
|
||||
|
@ -18,23 +18,23 @@ public:
|
||||
class ModemFSK : public ModemDigital {
|
||||
public:
|
||||
ModemFSK();
|
||||
~ModemFSK();
|
||||
~ModemFSK() override;
|
||||
|
||||
std::string getName();
|
||||
std::string getName() override;
|
||||
|
||||
static ModemBase *factory();
|
||||
|
||||
int checkSampleRate(long long sampleRate, int audioSampleRate);
|
||||
int getDefaultSampleRate();
|
||||
int checkSampleRate(long long sampleRate, int audioSampleRate) override;
|
||||
int getDefaultSampleRate() override;
|
||||
|
||||
ModemArgInfoList getSettings();
|
||||
void writeSetting(std::string setting, std::string value);
|
||||
std::string readSetting(std::string setting);
|
||||
ModemArgInfoList getSettings() override;
|
||||
void writeSetting(std::string setting, std::string value) override;
|
||||
std::string readSetting(std::string setting) override;
|
||||
|
||||
ModemKit *buildKit(long long sampleRate, int audioSampleRate);
|
||||
void disposeKit(ModemKit *kit);
|
||||
ModemKit *buildKit(long long sampleRate, int audioSampleRate) override;
|
||||
void disposeKit(ModemKit *kit) override;
|
||||
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut);
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
|
||||
|
||||
private:
|
||||
int sps, bps;
|
||||
|
@ -11,9 +11,7 @@ ModemGMSK::ModemGMSK() : ModemDigital() {
|
||||
outStream << std::hex;
|
||||
}
|
||||
|
||||
ModemGMSK::~ModemGMSK() {
|
||||
|
||||
}
|
||||
ModemGMSK::~ModemGMSK() = default;
|
||||
|
||||
std::string ModemGMSK::getName() {
|
||||
return "GMSK";
|
||||
@ -94,7 +92,7 @@ std::string ModemGMSK::readSetting(std::string setting) {
|
||||
}
|
||||
|
||||
ModemKit *ModemGMSK::buildKit(long long sampleRate, int audioSampleRate) {
|
||||
ModemKitGMSK *dkit = new ModemKitGMSK;
|
||||
auto *dkit = new ModemKitGMSK;
|
||||
dkit->sps = _sps;
|
||||
dkit->fdelay = _fdelay;
|
||||
dkit->ebf = _ebf;
|
||||
@ -108,7 +106,7 @@ ModemKit *ModemGMSK::buildKit(long long sampleRate, int audioSampleRate) {
|
||||
}
|
||||
|
||||
void ModemGMSK::disposeKit(ModemKit *kit) {
|
||||
ModemKitGMSK *dkit = (ModemKitGMSK *)kit;
|
||||
auto *dkit = (ModemKitGMSK *)kit;
|
||||
|
||||
gmskdem_destroy(dkit->demodGMSK);
|
||||
|
||||
@ -116,7 +114,7 @@ void ModemGMSK::disposeKit(ModemKit *kit) {
|
||||
}
|
||||
|
||||
void ModemGMSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
|
||||
ModemKitGMSK *dkit = (ModemKitGMSK *)kit;
|
||||
auto *dkit = (ModemKitGMSK *)kit;
|
||||
unsigned int sym_out;
|
||||
|
||||
digitalStart(dkit, nullptr, input);
|
||||
|
@ -18,23 +18,23 @@ public:
|
||||
class ModemGMSK : public ModemDigital {
|
||||
public:
|
||||
ModemGMSK();
|
||||
~ModemGMSK();
|
||||
~ModemGMSK() override;
|
||||
|
||||
std::string getName();
|
||||
std::string getName() override;
|
||||
|
||||
static ModemBase *factory();
|
||||
|
||||
int checkSampleRate(long long sampleRate, int audioSampleRate);
|
||||
int getDefaultSampleRate();
|
||||
int checkSampleRate(long long sampleRate, int audioSampleRate) override;
|
||||
int getDefaultSampleRate() override;
|
||||
|
||||
ModemArgInfoList getSettings();
|
||||
void writeSetting(std::string setting, std::string value);
|
||||
std::string readSetting(std::string setting);
|
||||
ModemArgInfoList getSettings() override;
|
||||
void writeSetting(std::string setting, std::string value) override;
|
||||
std::string readSetting(std::string setting) override;
|
||||
|
||||
ModemKit *buildKit(long long sampleRate, int audioSampleRate);
|
||||
void disposeKit(ModemKit *kit);
|
||||
ModemKit *buildKit(long long sampleRate, int audioSampleRate) override;
|
||||
void disposeKit(ModemKit *kit) override;
|
||||
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut);
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
|
||||
|
||||
private:
|
||||
int _sps; // samples per symbol
|
||||
|
@ -27,7 +27,7 @@ int ModemOOK::checkSampleRate(long long sampleRate, int /* audioSampleRate */) {
|
||||
}
|
||||
|
||||
void ModemOOK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
|
||||
ModemKitDigital *dkit = (ModemKitDigital *)kit;
|
||||
auto *dkit = (ModemKitDigital *)kit;
|
||||
digitalStart(dkit, demodOOK, input);
|
||||
|
||||
for (size_t i = 0, bufSize=input->data.size(); i < bufSize; i++) {
|
||||
|
@ -7,15 +7,15 @@
|
||||
class ModemOOK : public ModemDigital {
|
||||
public:
|
||||
ModemOOK();
|
||||
~ModemOOK();
|
||||
~ModemOOK() override;
|
||||
|
||||
std::string getName();
|
||||
std::string getName() override;
|
||||
|
||||
static ModemBase *factory();
|
||||
|
||||
int checkSampleRate(long long sampleRate, int audioSampleRate);
|
||||
int checkSampleRate(long long sampleRate, int audioSampleRate) override;
|
||||
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut);
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
|
||||
|
||||
private:
|
||||
modem demodOOK;
|
||||
|
@ -74,9 +74,9 @@ std::string ModemPSK::readSetting(std::string setting) {
|
||||
return "";
|
||||
}
|
||||
|
||||
void ModemPSK::updateDemodulatorCons(int cons) {
|
||||
this->cons = cons;
|
||||
switch (cons) {
|
||||
void ModemPSK::updateDemodulatorCons(int cons_in) {
|
||||
cons = cons_in;
|
||||
switch (cons_in) {
|
||||
case 2:
|
||||
demodPSK = demodPSK2;
|
||||
break;
|
||||
@ -105,7 +105,7 @@ void ModemPSK::updateDemodulatorCons(int cons) {
|
||||
}
|
||||
|
||||
void ModemPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
|
||||
ModemKitDigital *dkit = (ModemKitDigital *)kit;
|
||||
auto *dkit = (ModemKitDigital *)kit;
|
||||
|
||||
digitalStart(dkit, demodPSK, input);
|
||||
|
||||
|
@ -7,18 +7,18 @@
|
||||
class ModemPSK : public ModemDigital {
|
||||
public:
|
||||
ModemPSK();
|
||||
~ModemPSK();
|
||||
~ModemPSK() override;
|
||||
|
||||
std::string getName();
|
||||
std::string getName() override;
|
||||
|
||||
static ModemBase *factory();
|
||||
|
||||
ModemArgInfoList getSettings();
|
||||
void writeSetting(std::string setting, std::string value);
|
||||
std::string readSetting(std::string setting);
|
||||
ModemArgInfoList getSettings() override;
|
||||
void writeSetting(std::string setting, std::string value) override;
|
||||
std::string readSetting(std::string setting) override;
|
||||
|
||||
void updateDemodulatorCons(int cons);
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut);
|
||||
void updateDemodulatorCons(int cons_in);
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
|
||||
|
||||
private:
|
||||
int cons;
|
||||
|
@ -70,9 +70,9 @@ std::string ModemQAM::readSetting(std::string setting) {
|
||||
return "";
|
||||
}
|
||||
|
||||
void ModemQAM::updateDemodulatorCons(int cons) {
|
||||
this->cons = cons;
|
||||
switch (cons) {
|
||||
void ModemQAM::updateDemodulatorCons(int cons_in) {
|
||||
cons = cons_in;
|
||||
switch (cons_in) {
|
||||
case 4:
|
||||
demodQAM = demodQAM4;
|
||||
break;
|
||||
@ -98,7 +98,7 @@ void ModemQAM::updateDemodulatorCons(int cons) {
|
||||
}
|
||||
|
||||
void ModemQAM::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
|
||||
ModemKitDigital *dkit = (ModemKitDigital *)kit;
|
||||
auto *dkit = (ModemKitDigital *)kit;
|
||||
digitalStart(dkit, demodQAM, input);
|
||||
|
||||
for (size_t i = 0, bufSize = input->data.size(); i < bufSize; i++) {
|
||||
|
@ -7,18 +7,18 @@
|
||||
class ModemQAM : public ModemDigital {
|
||||
public:
|
||||
ModemQAM();
|
||||
~ModemQAM();
|
||||
~ModemQAM() override;
|
||||
|
||||
std::string getName();
|
||||
std::string getName() override;
|
||||
|
||||
static ModemBase *factory();
|
||||
|
||||
ModemArgInfoList getSettings();
|
||||
void writeSetting(std::string setting, std::string value);
|
||||
std::string readSetting(std::string setting);
|
||||
ModemArgInfoList getSettings() override;
|
||||
void writeSetting(std::string setting, std::string value) override;
|
||||
std::string readSetting(std::string setting) override;
|
||||
|
||||
void updateDemodulatorCons(int cons);
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut);
|
||||
void updateDemodulatorCons(int cons_in);
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
|
||||
|
||||
private:
|
||||
int cons;
|
||||
|
@ -20,7 +20,7 @@ std::string ModemQPSK::getName() {
|
||||
}
|
||||
|
||||
void ModemQPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
|
||||
ModemKitDigital *dkit = (ModemKitDigital *)kit;
|
||||
auto *dkit = (ModemKitDigital *)kit;
|
||||
digitalStart(dkit, demodQPSK, input);
|
||||
|
||||
for (size_t i = 0, bufSize = input->data.size(); i < bufSize; i++) {
|
||||
|
@ -7,13 +7,13 @@
|
||||
class ModemQPSK : public ModemDigital {
|
||||
public:
|
||||
ModemQPSK();
|
||||
~ModemQPSK();
|
||||
~ModemQPSK() override;
|
||||
|
||||
std::string getName();
|
||||
std::string getName() override;
|
||||
|
||||
static ModemBase *factory();
|
||||
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut);
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
|
||||
|
||||
private:
|
||||
modem demodQPSK;
|
||||
|
@ -55,9 +55,9 @@ std::string ModemSQAM::readSetting(std::string setting) {
|
||||
return "";
|
||||
}
|
||||
|
||||
void ModemSQAM::updateDemodulatorCons(int cons) {
|
||||
this->cons = cons;
|
||||
switch (cons) {
|
||||
void ModemSQAM::updateDemodulatorCons(int cons_in) {
|
||||
cons = cons_in;
|
||||
switch (cons_in) {
|
||||
case 32:
|
||||
demodSQAM = demodSQAM32;
|
||||
break;
|
||||
@ -68,7 +68,7 @@ void ModemSQAM::updateDemodulatorCons(int cons) {
|
||||
}
|
||||
|
||||
void ModemSQAM::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
|
||||
ModemKitDigital *dkit = (ModemKitDigital *)kit;
|
||||
auto *dkit = (ModemKitDigital *)kit;
|
||||
|
||||
digitalStart(dkit, demodSQAM, input);
|
||||
|
||||
|
@ -7,18 +7,18 @@
|
||||
class ModemSQAM : public ModemDigital {
|
||||
public:
|
||||
ModemSQAM();
|
||||
~ModemSQAM();
|
||||
~ModemSQAM() override;
|
||||
|
||||
std::string getName();
|
||||
std::string getName() override;
|
||||
|
||||
static ModemBase *factory();
|
||||
|
||||
ModemArgInfoList getSettings();
|
||||
void writeSetting(std::string setting, std::string value);
|
||||
std::string readSetting(std::string setting);
|
||||
ModemArgInfoList getSettings() override;
|
||||
void writeSetting(std::string setting, std::string value) override;
|
||||
std::string readSetting(std::string setting) override;
|
||||
|
||||
void updateDemodulatorCons(int cons);
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut);
|
||||
void updateDemodulatorCons(int cons_in);
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
|
||||
|
||||
private:
|
||||
int cons;
|
||||
|
@ -20,7 +20,7 @@ ModemST::~ModemST() {
|
||||
}
|
||||
|
||||
void ModemST::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
|
||||
ModemKitDigital *dkit = (ModemKitDigital *)kit;
|
||||
auto *dkit = (ModemKitDigital *)kit;
|
||||
digitalStart(dkit, demodST, input);
|
||||
|
||||
for (size_t i = 0, bufSize = input->data.size(); i < bufSize; i++) {
|
||||
|
@ -7,13 +7,13 @@
|
||||
class ModemST : public ModemDigital {
|
||||
public:
|
||||
ModemST();
|
||||
~ModemST();
|
||||
~ModemST() override;
|
||||
|
||||
std::string getName();
|
||||
std::string getName() override;
|
||||
|
||||
static ModemBase *factory();
|
||||
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut);
|
||||
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
|
||||
|
||||
private:
|
||||
modem demodST;
|
||||
|
Loading…
Reference in New Issue
Block a user