Cleanup: modem digital/analog base

This commit is contained in:
Charles J. Cliffe 2021-04-04 22:16:30 -04:00
parent 592ffa2050
commit 02fdcb2aa3
6 changed files with 27 additions and 38 deletions

View File

@ -2,14 +2,13 @@
// SPDX-License-Identifier: GPL-2.0+
#include "Modem.h"
#include "CubicSDR.h"
ModemFactoryList Modem::modemFactories;
DefaultRatesList Modem::modemDefaultRates;
//! Create an empty range (0.0, 0.0)
ModemRange::ModemRange(void) {
ModemRange::ModemRange() {
_min = 0;
_max = 0;
}
@ -21,26 +20,22 @@ ModemRange::ModemRange(const double minimum, const double maximum) {
}
//! Get the range minimum
double ModemRange::minimum(void) const {
double ModemRange::minimum() const {
return _min;
}
//! Get the range maximum
double ModemRange::maximum(void) const {
double ModemRange::maximum() const {
return _max;
}
ModemArgInfo::ModemArgInfo(void) {
}
ModemArgInfo::ModemArgInfo() = default;
Modem::Modem() {
useSignalOutput(false);
}
Modem::~Modem() {
}
Modem::~Modem() = default;
void Modem::addModemFactory(ModemFactoryFn factoryFunc, std::string modemName, int defaultRate) {
modemFactories[modemName] = factoryFunc;
@ -94,8 +89,8 @@ void Modem::writeSettings(ModemSettings settings) {
ModemSettings Modem::readSettings() {
ModemArgInfoList args = getSettings();
ModemSettings rs;
for (ModemArgInfoList::const_iterator i = args.begin(); i != args.end(); i++) {
rs[i->key] = readSetting(i->key);
for (const auto & arg : args) {
rs[arg.key] = readSetting(arg.key);
}
return rs;
}

View File

@ -35,9 +35,7 @@ public:
}
virtual ~ModemIQData() {
}
virtual ~ModemIQData() = default;
};
typedef std::shared_ptr<ModemIQData> ModemIQDataPtr;
@ -48,16 +46,16 @@ class ModemRange
public:
//! Create an empty range (0.0, 0.0)
ModemRange(void);
ModemRange();
//! Create a min/max range
ModemRange(const double minimum, const double maximum);
ModemRange(double minimum, double maximum);
//! Get the range minimum
double minimum(void) const;
double minimum() const;
//! Get the range maximum
double maximum(void) const;
double maximum() const;
private:
double _min, _max;
@ -68,7 +66,7 @@ class ModemArgInfo
{
public:
//! Default constructor
ModemArgInfo(void);
ModemArgInfo();
//! The key used to identify the argument (required)
std::string key;

View File

@ -19,7 +19,7 @@ int ModemAnalog::checkSampleRate(long long sampleRate, int /* audioSampleRate */
}
ModemKit *ModemAnalog::buildKit(long long sampleRate, int audioSampleRate) {
ModemKitAnalog *akit = new ModemKitAnalog;
auto *akit = new ModemKitAnalog;
// stop-band attenuation [dB]
float As = 60.0f;
@ -33,7 +33,7 @@ ModemKit *ModemAnalog::buildKit(long long sampleRate, int audioSampleRate) {
}
void ModemAnalog::disposeKit(ModemKit *kit) {
ModemKitAnalog *akit = (ModemKitAnalog *)kit;
auto *akit = (ModemKitAnalog *)kit;
msresamp_rrrf_destroy(akit->audioResampler);
delete akit;

View File

@ -18,10 +18,10 @@ public:
class ModemAnalog : public Modem {
public:
ModemAnalog();
std::string getType();
virtual int checkSampleRate(long long sampleRate, int audioSampleRate);
virtual ModemKit *buildKit(long long sampleRate, int audioSampleRate);
virtual void disposeKit(ModemKit *kit);
std::string getType() override;
int checkSampleRate(long long sampleRate, int audioSampleRate) override;
ModemKit *buildKit(long long sampleRate, int audioSampleRate) override;
void disposeKit(ModemKit *kit) override;
virtual void initOutputBuffers(ModemKitAnalog *akit, ModemIQData *input);
virtual void buildAudioOutput(ModemKitAnalog *akit, AudioThreadInput *audioOut, bool autoGain);
virtual std::vector<float> *getDemodOutputData();

View File

@ -4,9 +4,7 @@
#include "ModemDigital.h"
ModemDigitalOutput::ModemDigitalOutput() {
}
ModemDigitalOutput::ModemDigitalOutput() = default;
ModemDigital::ModemDigital() : Modem() {
#if ENABLE_DIGITAL_LAB
@ -14,9 +12,7 @@ ModemDigital::ModemDigital() : Modem() {
#endif
}
ModemDigitalOutput::~ModemDigitalOutput() {
}
ModemDigitalOutput::~ModemDigitalOutput() = default;
std::string ModemDigital::getType() {
return "digital";
@ -30,7 +26,7 @@ int ModemDigital::checkSampleRate(long long sampleRate, int /* audioSampleRate *
}
ModemKit *ModemDigital::buildKit(long long sampleRate, int audioSampleRate) {
ModemKitDigital *dkit = new ModemKitDigital;
auto *dkit = new ModemKitDigital;
dkit->sampleRate = sampleRate;
dkit->audioSampleRate = audioSampleRate;
@ -39,7 +35,7 @@ ModemKit *ModemDigital::buildKit(long long sampleRate, int audioSampleRate) {
}
void ModemDigital::disposeKit(ModemKit *kit) {
ModemKitDigital *dkit = (ModemKitDigital *)kit;
auto *dkit = (ModemKitDigital *)kit;
delete dkit;
}

View File

@ -35,12 +35,12 @@ class ModemDigital : public Modem {
public:
ModemDigital();
std::string getType();
std::string getType() override;
virtual int checkSampleRate(long long sampleRate, int audioSampleRate);
int checkSampleRate(long long sampleRate, int audioSampleRate) override;
virtual ModemKit *buildKit(long long sampleRate, int audioSampleRate);
virtual void disposeKit(ModemKit *kit);
ModemKit *buildKit(long long sampleRate, int audioSampleRate) override;
void disposeKit(ModemKit *kit) override;
virtual void digitalStart(ModemKitDigital *kit, modem mod, ModemIQData *input);
virtual void digitalFinish(ModemKitDigital *kit, modem mod);