// Copyright (c) Charles J. Cliffe // SPDX-License-Identifier: GPL-2.0+ #pragma once #include "ModemDigital.h" #include class ModemKitFSK : public ModemKitDigital { public: unsigned int m, k; float bw; fskdem demodFSK; std::vector inputBuffer; }; class ModemFSK : public ModemDigital { public: ModemFSK(); ~ModemFSK(); std::string getName(); static ModemBase *factory(); int checkSampleRate(long long sampleRate, int audioSampleRate); int getDefaultSampleRate(); ModemArgInfoList getSettings(); void writeSetting(std::string setting, std::string value); std::string readSetting(std::string setting); ModemKit *buildKit(long long sampleRate, int audioSampleRate); void disposeKit(ModemKit *kit); void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut); private: int sps, bps; float bw; };