mirror of
https://github.com/cjcliffe/CubicSDR.git
synced 2025-02-03 09:44:26 -05:00
Cleanup: modem digital/analog base
This commit is contained in:
parent
592ffa2050
commit
02fdcb2aa3
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user