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