2015-11-22 19:56:25 -05:00
|
|
|
#pragma once
|
|
|
|
#include "ModemDigital.h"
|
2015-11-28 23:03:07 -05:00
|
|
|
#include <sstream>
|
2015-11-22 19:56:25 -05:00
|
|
|
|
|
|
|
class ModemKitFSK : public ModemKitDigital {
|
|
|
|
public:
|
|
|
|
unsigned int m, k;
|
2015-12-01 00:59:11 -05:00
|
|
|
float bw;
|
2015-11-22 19:56:25 -05:00
|
|
|
|
|
|
|
fskdem demodFSK;
|
|
|
|
std::vector<liquid_float_complex> inputBuffer;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class ModemFSK : public ModemDigital {
|
|
|
|
public:
|
|
|
|
ModemFSK();
|
|
|
|
~ModemFSK();
|
2015-11-23 20:03:47 -05:00
|
|
|
|
2015-11-22 19:56:25 -05:00
|
|
|
std::string getName();
|
2015-11-23 20:03:47 -05:00
|
|
|
|
2015-11-22 19:56:25 -05:00
|
|
|
Modem *factory();
|
2015-11-23 20:03:47 -05:00
|
|
|
|
2015-11-24 00:20:17 -05:00
|
|
|
int checkSampleRate(long long sampleRate, int audioSampleRate);
|
2015-11-30 21:58:54 -05:00
|
|
|
int getDefaultSampleRate();
|
2015-11-24 00:20:17 -05:00
|
|
|
|
2015-11-23 20:03:47 -05:00
|
|
|
ModemArgInfoList getSettings();
|
|
|
|
void writeSetting(std::string setting, std::string value);
|
|
|
|
std::string readSetting(std::string setting);
|
|
|
|
|
2015-11-22 19:56:25 -05:00
|
|
|
ModemKit *buildKit(long long sampleRate, int audioSampleRate);
|
|
|
|
void disposeKit(ModemKit *kit);
|
2015-11-23 20:03:47 -05:00
|
|
|
|
2015-11-22 19:56:25 -05:00
|
|
|
void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut);
|
|
|
|
|
|
|
|
private:
|
2015-12-01 00:59:11 -05:00
|
|
|
int sps, bps;
|
|
|
|
float bw;
|
2015-11-22 19:56:25 -05:00
|
|
|
};
|
|
|
|
|