1 // Copyright (c) Charles J. Cliffe 2 // SPDX-License-Identifier: GPL-2.0+ 3 4 #pragma once 5 #include "ModemDigital.h" 6 7 class ModemASK : public ModemDigital { 8 public: 9 ModemASK(); 10 ~ModemASK() override; 11 12 std::string getName() override; 13 14 static ModemBase *factory(); 15 16 ModemArgInfoList getSettings() override; 17 void writeSetting(std::string setting, std::string value) override; 18 std::string readSetting(std::string setting) override; 19 20 void updateDemodulatorCons(int cons_in); 21 void demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *audioOut) override; 22 23 private: 24 int cons; 25 modem demodASK; 26 modem demodASK2; 27 modem demodASK4; 28 modem demodASK8; 29 modem demodASK16; 30 modem demodASK32; 31 modem demodASK64; 32 modem demodASK128; 33 modem demodASK256; 34 }; 35