2017-01-02 21:07:43 -05:00
|
|
|
// Copyright (c) Charles J. Cliffe
|
|
|
|
// SPDX-License-Identifier: GPL-2.0+
|
|
|
|
|
2015-11-16 23:49:54 -05:00
|
|
|
#pragma once
|
|
|
|
#include "Modem.h"
|
|
|
|
|
|
|
|
class ModemIQ : public Modem {
|
|
|
|
public:
|
|
|
|
ModemIQ();
|
2015-11-30 21:58:54 -05:00
|
|
|
|
2021-04-04 22:16:44 -04:00
|
|
|
std::string getType() override;
|
|
|
|
std::string getName() override;
|
2015-11-30 21:58:54 -05:00
|
|
|
|
2016-07-24 15:25:17 -04:00
|
|
|
static ModemBase *factory();
|
2015-11-30 21:58:54 -05:00
|
|
|
|
2021-04-04 22:16:44 -04:00
|
|
|
int checkSampleRate(long long sampleRate, int audioSampleRate) override;
|
|
|
|
int getDefaultSampleRate() override;
|
2015-11-30 21:58:54 -05:00
|
|
|
|
2021-04-04 22:16:44 -04:00
|
|
|
ModemKit *buildKit(long long sampleRate, int audioSampleRate) override;
|
2015-11-30 21:58:54 -05:00
|
|
|
|
2021-04-04 22:16:44 -04:00
|
|
|
void disposeKit(ModemKit *kit) override;
|
2015-11-30 21:58:54 -05:00
|
|
|
|
2021-04-04 22:16:44 -04:00
|
|
|
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override;
|
2015-11-16 23:49:54 -05:00
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
};
|