Cleanup: digital modems

This commit is contained in:
Charles J. Cliffe 2021-04-04 22:16:57 -04:00
parent 74f63d0e84
commit 9e22a1314c
24 changed files with 111 additions and 115 deletions

View File

@ -70,9 +70,9 @@ std::string ModemAPSK::readSetting(std::string setting) {
return ""; return "";
} }
void ModemAPSK::updateDemodulatorCons(int cons) { void ModemAPSK::updateDemodulatorCons(int cons_in) {
this->cons = cons; cons = cons_in;
switch (cons) { switch (cons_in) {
case 4: case 4:
demodAPSK = demodAPSK4; demodAPSK = demodAPSK4;
break; break;
@ -98,7 +98,7 @@ void ModemAPSK::updateDemodulatorCons(int cons) {
} }
void ModemAPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) { void ModemAPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
ModemKitDigital *dkit = (ModemKitDigital *)kit; auto *dkit = (ModemKitDigital *)kit;
digitalStart(dkit, demodAPSK, input); digitalStart(dkit, demodAPSK, input);

View File

@ -7,18 +7,18 @@
class ModemAPSK : public ModemDigital { class ModemAPSK : public ModemDigital {
public: public:
ModemAPSK(); ModemAPSK();
~ModemAPSK(); ~ModemAPSK() override;
std::string getName(); std::string getName() override;
static ModemBase *factory(); static ModemBase *factory();
ModemArgInfoList getSettings(); ModemArgInfoList getSettings() override;
void writeSetting(std::string setting, std::string value); void writeSetting(std::string setting, std::string value) override;
std::string readSetting(std::string setting); std::string readSetting(std::string setting) override;
void updateDemodulatorCons(int cons); void updateDemodulatorCons(int cons_in);
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut); void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
private: private:
int cons; int cons;

View File

@ -72,9 +72,9 @@ std::string ModemASK::readSetting(std::string setting) {
return ""; return "";
} }
void ModemASK::updateDemodulatorCons(int cons) { void ModemASK::updateDemodulatorCons(int cons_in) {
this->cons = cons; cons = cons_in;
switch (cons) { switch (cons_in) {
case 2: case 2:
demodASK = demodASK2; demodASK = demodASK2;
break; break;
@ -103,7 +103,7 @@ void ModemASK::updateDemodulatorCons(int cons) {
} }
void ModemASK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) { void ModemASK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
ModemKitDigital *dkit = (ModemKitDigital *)kit; auto *dkit = (ModemKitDigital *)kit;
digitalStart(dkit, demodASK, input); digitalStart(dkit, demodASK, input);

View File

@ -7,18 +7,18 @@
class ModemASK : public ModemDigital { class ModemASK : public ModemDigital {
public: public:
ModemASK(); ModemASK();
~ModemASK(); ~ModemASK() override;
std::string getName(); std::string getName() override;
static ModemBase *factory(); static ModemBase *factory();
ModemArgInfoList getSettings(); ModemArgInfoList getSettings() override;
void writeSetting(std::string setting, std::string value); void writeSetting(std::string setting, std::string value) override;
std::string readSetting(std::string setting); std::string readSetting(std::string setting) override;
void updateDemodulatorCons(int cons); void updateDemodulatorCons(int cons_in);
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut); void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
private: private:
int cons; int cons;

View File

@ -20,7 +20,7 @@ std::string ModemBPSK::getName() {
} }
void ModemBPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) { void ModemBPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
ModemKitDigital *dkit = (ModemKitDigital *)kit; auto *dkit = (ModemKitDigital *)kit;
digitalStart(dkit, demodBPSK, input); digitalStart(dkit, demodBPSK, input);
for (size_t i = 0, bufSize=input->data.size(); i < bufSize; i++) { for (size_t i = 0, bufSize=input->data.size(); i < bufSize; i++) {

View File

@ -7,13 +7,13 @@
class ModemBPSK : public ModemDigital { class ModemBPSK : public ModemDigital {
public: public:
ModemBPSK(); ModemBPSK();
~ModemBPSK(); ~ModemBPSK() override;
std::string getName(); std::string getName() override;
static ModemBase *factory(); static ModemBase *factory();
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut); void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
private: private:
modem demodBPSK; modem demodBPSK;

View File

@ -73,9 +73,9 @@ std::string ModemDPSK::readSetting(std::string setting) {
return ""; return "";
} }
void ModemDPSK::updateDemodulatorCons(int cons) { void ModemDPSK::updateDemodulatorCons(int cons_in) {
this->cons = cons; cons = cons_in;
switch (cons) { switch (cons_in) {
case 2: case 2:
demodDPSK = demodDPSK2; demodDPSK = demodDPSK2;
break; break;
@ -104,7 +104,7 @@ void ModemDPSK::updateDemodulatorCons(int cons) {
} }
void ModemDPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) { void ModemDPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
ModemKitDigital *dkit = (ModemKitDigital *)kit; auto *dkit = (ModemKitDigital *)kit;
digitalStart(dkit, demodDPSK, input); digitalStart(dkit, demodDPSK, input);

View File

@ -7,18 +7,18 @@
class ModemDPSK : public ModemDigital { class ModemDPSK : public ModemDigital {
public: public:
ModemDPSK(); ModemDPSK();
~ModemDPSK(); ~ModemDPSK() override;
std::string getName(); std::string getName() override;
static ModemBase *factory(); static ModemBase *factory();
ModemArgInfoList getSettings(); ModemArgInfoList getSettings() override;
void writeSetting(std::string setting, std::string value); void writeSetting(std::string setting, std::string value) override;
std::string readSetting(std::string setting); std::string readSetting(std::string setting) override;
void updateDemodulatorCons(int cons); void updateDemodulatorCons(int cons_in);
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut); void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
private: private:
int cons; int cons;

View File

@ -99,7 +99,7 @@ std::string ModemFSK::readSetting(std::string setting) {
} }
ModemKit *ModemFSK::buildKit(long long sampleRate, int audioSampleRate) { ModemKit *ModemFSK::buildKit(long long sampleRate, int audioSampleRate) {
ModemKitFSK *dkit = new ModemKitFSK; auto *dkit = new ModemKitFSK;
dkit->m = bps; dkit->m = bps;
dkit->k = (unsigned int)(sampleRate / sps); dkit->k = (unsigned int)(sampleRate / sps);
dkit->bw = bw; dkit->bw = bw;
@ -113,7 +113,7 @@ ModemKit *ModemFSK::buildKit(long long sampleRate, int audioSampleRate) {
} }
void ModemFSK::disposeKit(ModemKit *kit) { void ModemFSK::disposeKit(ModemKit *kit) {
ModemKitFSK *dkit = (ModemKitFSK *)kit; auto *dkit = (ModemKitFSK *)kit;
fskdem_destroy(dkit->demodFSK); fskdem_destroy(dkit->demodFSK);
@ -124,12 +124,10 @@ std::string ModemFSK::getName() {
return "FSK"; return "FSK";
} }
ModemFSK::~ModemFSK() { ModemFSK::~ModemFSK() = default;
}
void ModemFSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) { void ModemFSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
ModemKitFSK *dkit = (ModemKitFSK *)kit; auto *dkit = (ModemKitFSK *)kit;
digitalStart(dkit, nullptr, input); digitalStart(dkit, nullptr, input);

View File

@ -18,23 +18,23 @@ public:
class ModemFSK : public ModemDigital { class ModemFSK : public ModemDigital {
public: public:
ModemFSK(); ModemFSK();
~ModemFSK(); ~ModemFSK() override;
std::string getName(); std::string getName() override;
static ModemBase *factory(); static ModemBase *factory();
int checkSampleRate(long long sampleRate, int audioSampleRate); int checkSampleRate(long long sampleRate, int audioSampleRate) override;
int getDefaultSampleRate(); int getDefaultSampleRate() override;
ModemArgInfoList getSettings(); ModemArgInfoList getSettings() override;
void writeSetting(std::string setting, std::string value); void writeSetting(std::string setting, std::string value) override;
std::string readSetting(std::string setting); std::string readSetting(std::string setting) override;
ModemKit *buildKit(long long sampleRate, int audioSampleRate); ModemKit *buildKit(long long sampleRate, int audioSampleRate) override;
void disposeKit(ModemKit *kit); void disposeKit(ModemKit *kit) override;
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut); void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
private: private:
int sps, bps; int sps, bps;

View File

@ -11,9 +11,7 @@ ModemGMSK::ModemGMSK() : ModemDigital() {
outStream << std::hex; outStream << std::hex;
} }
ModemGMSK::~ModemGMSK() { ModemGMSK::~ModemGMSK() = default;
}
std::string ModemGMSK::getName() { std::string ModemGMSK::getName() {
return "GMSK"; return "GMSK";
@ -94,7 +92,7 @@ std::string ModemGMSK::readSetting(std::string setting) {
} }
ModemKit *ModemGMSK::buildKit(long long sampleRate, int audioSampleRate) { ModemKit *ModemGMSK::buildKit(long long sampleRate, int audioSampleRate) {
ModemKitGMSK *dkit = new ModemKitGMSK; auto *dkit = new ModemKitGMSK;
dkit->sps = _sps; dkit->sps = _sps;
dkit->fdelay = _fdelay; dkit->fdelay = _fdelay;
dkit->ebf = _ebf; dkit->ebf = _ebf;
@ -108,7 +106,7 @@ ModemKit *ModemGMSK::buildKit(long long sampleRate, int audioSampleRate) {
} }
void ModemGMSK::disposeKit(ModemKit *kit) { void ModemGMSK::disposeKit(ModemKit *kit) {
ModemKitGMSK *dkit = (ModemKitGMSK *)kit; auto *dkit = (ModemKitGMSK *)kit;
gmskdem_destroy(dkit->demodGMSK); gmskdem_destroy(dkit->demodGMSK);
@ -116,7 +114,7 @@ void ModemGMSK::disposeKit(ModemKit *kit) {
} }
void ModemGMSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) { void ModemGMSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
ModemKitGMSK *dkit = (ModemKitGMSK *)kit; auto *dkit = (ModemKitGMSK *)kit;
unsigned int sym_out; unsigned int sym_out;
digitalStart(dkit, nullptr, input); digitalStart(dkit, nullptr, input);

View File

@ -18,23 +18,23 @@ public:
class ModemGMSK : public ModemDigital { class ModemGMSK : public ModemDigital {
public: public:
ModemGMSK(); ModemGMSK();
~ModemGMSK(); ~ModemGMSK() override;
std::string getName(); std::string getName() override;
static ModemBase *factory(); static ModemBase *factory();
int checkSampleRate(long long sampleRate, int audioSampleRate); int checkSampleRate(long long sampleRate, int audioSampleRate) override;
int getDefaultSampleRate(); int getDefaultSampleRate() override;
ModemArgInfoList getSettings(); ModemArgInfoList getSettings() override;
void writeSetting(std::string setting, std::string value); void writeSetting(std::string setting, std::string value) override;
std::string readSetting(std::string setting); std::string readSetting(std::string setting) override;
ModemKit *buildKit(long long sampleRate, int audioSampleRate); ModemKit *buildKit(long long sampleRate, int audioSampleRate) override;
void disposeKit(ModemKit *kit); void disposeKit(ModemKit *kit) override;
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut); void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
private: private:
int _sps; // samples per symbol int _sps; // samples per symbol

View File

@ -27,7 +27,7 @@ int ModemOOK::checkSampleRate(long long sampleRate, int /* audioSampleRate */) {
} }
void ModemOOK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) { void ModemOOK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
ModemKitDigital *dkit = (ModemKitDigital *)kit; auto *dkit = (ModemKitDigital *)kit;
digitalStart(dkit, demodOOK, input); digitalStart(dkit, demodOOK, input);
for (size_t i = 0, bufSize=input->data.size(); i < bufSize; i++) { for (size_t i = 0, bufSize=input->data.size(); i < bufSize; i++) {

View File

@ -7,15 +7,15 @@
class ModemOOK : public ModemDigital { class ModemOOK : public ModemDigital {
public: public:
ModemOOK(); ModemOOK();
~ModemOOK(); ~ModemOOK() override;
std::string getName(); std::string getName() override;
static ModemBase *factory(); 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: private:
modem demodOOK; modem demodOOK;

View File

@ -74,9 +74,9 @@ std::string ModemPSK::readSetting(std::string setting) {
return ""; return "";
} }
void ModemPSK::updateDemodulatorCons(int cons) { void ModemPSK::updateDemodulatorCons(int cons_in) {
this->cons = cons; cons = cons_in;
switch (cons) { switch (cons_in) {
case 2: case 2:
demodPSK = demodPSK2; demodPSK = demodPSK2;
break; break;
@ -105,7 +105,7 @@ void ModemPSK::updateDemodulatorCons(int cons) {
} }
void ModemPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) { void ModemPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
ModemKitDigital *dkit = (ModemKitDigital *)kit; auto *dkit = (ModemKitDigital *)kit;
digitalStart(dkit, demodPSK, input); digitalStart(dkit, demodPSK, input);

View File

@ -7,18 +7,18 @@
class ModemPSK : public ModemDigital { class ModemPSK : public ModemDigital {
public: public:
ModemPSK(); ModemPSK();
~ModemPSK(); ~ModemPSK() override;
std::string getName(); std::string getName() override;
static ModemBase *factory(); static ModemBase *factory();
ModemArgInfoList getSettings(); ModemArgInfoList getSettings() override;
void writeSetting(std::string setting, std::string value); void writeSetting(std::string setting, std::string value) override;
std::string readSetting(std::string setting); std::string readSetting(std::string setting) override;
void updateDemodulatorCons(int cons); void updateDemodulatorCons(int cons_in);
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut); void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
private: private:
int cons; int cons;

View File

@ -70,9 +70,9 @@ std::string ModemQAM::readSetting(std::string setting) {
return ""; return "";
} }
void ModemQAM::updateDemodulatorCons(int cons) { void ModemQAM::updateDemodulatorCons(int cons_in) {
this->cons = cons; cons = cons_in;
switch (cons) { switch (cons_in) {
case 4: case 4:
demodQAM = demodQAM4; demodQAM = demodQAM4;
break; break;
@ -98,7 +98,7 @@ void ModemQAM::updateDemodulatorCons(int cons) {
} }
void ModemQAM::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) { void ModemQAM::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
ModemKitDigital *dkit = (ModemKitDigital *)kit; auto *dkit = (ModemKitDigital *)kit;
digitalStart(dkit, demodQAM, input); digitalStart(dkit, demodQAM, input);
for (size_t i = 0, bufSize = input->data.size(); i < bufSize; i++) { for (size_t i = 0, bufSize = input->data.size(); i < bufSize; i++) {

View File

@ -7,18 +7,18 @@
class ModemQAM : public ModemDigital { class ModemQAM : public ModemDigital {
public: public:
ModemQAM(); ModemQAM();
~ModemQAM(); ~ModemQAM() override;
std::string getName(); std::string getName() override;
static ModemBase *factory(); static ModemBase *factory();
ModemArgInfoList getSettings(); ModemArgInfoList getSettings() override;
void writeSetting(std::string setting, std::string value); void writeSetting(std::string setting, std::string value) override;
std::string readSetting(std::string setting); std::string readSetting(std::string setting) override;
void updateDemodulatorCons(int cons); void updateDemodulatorCons(int cons_in);
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut); void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
private: private:
int cons; int cons;

View File

@ -20,7 +20,7 @@ std::string ModemQPSK::getName() {
} }
void ModemQPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) { void ModemQPSK::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
ModemKitDigital *dkit = (ModemKitDigital *)kit; auto *dkit = (ModemKitDigital *)kit;
digitalStart(dkit, demodQPSK, input); digitalStart(dkit, demodQPSK, input);
for (size_t i = 0, bufSize = input->data.size(); i < bufSize; i++) { for (size_t i = 0, bufSize = input->data.size(); i < bufSize; i++) {

View File

@ -7,13 +7,13 @@
class ModemQPSK : public ModemDigital { class ModemQPSK : public ModemDigital {
public: public:
ModemQPSK(); ModemQPSK();
~ModemQPSK(); ~ModemQPSK() override;
std::string getName(); std::string getName() override;
static ModemBase *factory(); static ModemBase *factory();
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut); void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
private: private:
modem demodQPSK; modem demodQPSK;

View File

@ -55,9 +55,9 @@ std::string ModemSQAM::readSetting(std::string setting) {
return ""; return "";
} }
void ModemSQAM::updateDemodulatorCons(int cons) { void ModemSQAM::updateDemodulatorCons(int cons_in) {
this->cons = cons; cons = cons_in;
switch (cons) { switch (cons_in) {
case 32: case 32:
demodSQAM = demodSQAM32; demodSQAM = demodSQAM32;
break; break;
@ -68,7 +68,7 @@ void ModemSQAM::updateDemodulatorCons(int cons) {
} }
void ModemSQAM::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) { void ModemSQAM::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
ModemKitDigital *dkit = (ModemKitDigital *)kit; auto *dkit = (ModemKitDigital *)kit;
digitalStart(dkit, demodSQAM, input); digitalStart(dkit, demodSQAM, input);

View File

@ -7,18 +7,18 @@
class ModemSQAM : public ModemDigital { class ModemSQAM : public ModemDigital {
public: public:
ModemSQAM(); ModemSQAM();
~ModemSQAM(); ~ModemSQAM() override;
std::string getName(); std::string getName() override;
static ModemBase *factory(); static ModemBase *factory();
ModemArgInfoList getSettings(); ModemArgInfoList getSettings() override;
void writeSetting(std::string setting, std::string value); void writeSetting(std::string setting, std::string value) override;
std::string readSetting(std::string setting); std::string readSetting(std::string setting) override;
void updateDemodulatorCons(int cons); void updateDemodulatorCons(int cons_in);
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut); void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
private: private:
int cons; int cons;

View File

@ -20,7 +20,7 @@ ModemST::~ModemST() {
} }
void ModemST::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) { void ModemST::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput * /* audioOut */) {
ModemKitDigital *dkit = (ModemKitDigital *)kit; auto *dkit = (ModemKitDigital *)kit;
digitalStart(dkit, demodST, input); digitalStart(dkit, demodST, input);
for (size_t i = 0, bufSize = input->data.size(); i < bufSize; i++) { for (size_t i = 0, bufSize = input->data.size(); i < bufSize; i++) {

View File

@ -7,13 +7,13 @@
class ModemST : public ModemDigital { class ModemST : public ModemDigital {
public: public:
ModemST(); ModemST();
~ModemST(); ~ModemST() override;
std::string getName(); std::string getName() override;
static ModemBase *factory(); static ModemBase *factory();
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut); void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
private: private:
modem demodST; modem demodST;