1 // ----------------------------------------------------------------------------
2 // Copyright (C) 2014
3 //              David Freese, W1HKJ
4 //
5 // This file is part of flrig.
6 //
7 // flrig is free software; you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation; either version 3 of the License, or
10 // (at your option) any later version.
11 //
12 // flrig is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 // GNU General Public License for more details.
16 //
17 // You should have received a copy of the GNU General Public License
18 // aunsigned long int with this program.  If not, see <http://www.gnu.org/licenses/>.
19 // ----------------------------------------------------------------------------
20 
21 #ifndef _TS590S_H
22 #define _TS590S_H
23 
24 #include "KENWOOD.h"
25 
26 class RIG_TS590S : public KENWOOD {
27 private:
28 	bool notch_on;
29 	int  preamp_level;
30 	int  att_level;
31 	int  nb_level;
32 	int  noise_reduction_level;
33 	bool data_mode;
34 	int  active_mode;
35 	int  active_bandwidth;
36 	bool rxtxa;
37 public:
38 enum TS590MODES { LSB, USB, CW, FM, AM, FSK, CWR, FSKR, LSBD, USBD, FMD };
39 	RIG_TS590S();
~RIG_TS590S()40 	~RIG_TS590S(){}
41 
42 	void initialize();
43 	void shutdown();
44 
45 //	unsigned long int get_vfoA();
46 //	void set_vfoA(unsigned long int);
47 //	unsigned long int get_vfoB();
48 //	void set_vfoB(unsigned long int);
49 
50 //	void selectA();
51 //	void selectB();
52 
53 //	bool can_split() { return true;}
54 //	void set_split(bool val);
55 //	int  get_split();
56 //	bool twovfos() {return true;}
57 
58 	void set_PTT_control(int val);
59 	int  get_PTT();
60 
61 	int  get_modetype(int n);
62 	void set_modeA(int val);
63 	int  get_modeA();
64 	void set_modeB(int val);
65 	int  get_modeB();
66 
67 	int  adjust_bandwidth(int val);
68 	int  def_bandwidth(int val);
69 	int  set_widths(int val);
70 	void set_active_bandwidth();
71 	int  get_active_bandwidth();
72 	void set_bwA(int val);
73 	int  get_bwA();
74 	void set_bwB(int val);
75 	int  get_bwB();
76 
77 	int  get_smeter();
78 //	int  get_swr();
79 //	int  get_alc();
80 	int  get_power_out();
81 	int  get_power_control();
82 //	void set_volume_control(int val);
83 //	int  get_volume_control();
84 	void set_power_control(double val);
85 
86 //	void tune_rig();
87 
88 	void set_attenuator(int val);
89 	int  get_attenuator();
90 	void set_preamp(int val);
91 	int  get_preamp();
92 
93 	void set_if_shift(int val);
94 	bool get_if_shift(int &val);
95 	void get_if_min_max_step(int &min, int &max, int &step);
96 
97 	void set_noise(bool b);
98 	int  get_noise();
99 
100 //	void set_mic_gain(int val);
101 //	int  get_mic_gain();
102 //	void get_mic_min_max_step(int &min, int &max, int &step);
103 
104 //	void set_squelch(int val);
105 //	int  get_squelch();
106 //	void get_squelch_min_max_step(int &min, int &max, int &step);
107 
108 	void set_rf_gain(int val);
109 	int  get_rf_gain();
110 	void get_rf_min_max_step(int &min, int &max, int &step);
111 
112 	void set_noise_reduction_val(int val);
113 	int  get_noise_reduction_val();
114 	void set_noise_reduction(int val);
115 	int  get_noise_reduction();
get_nr_min_max_step(int & min,int & max,int & step)116 	void get_nr_min_max_step(int &min, int &max, int &step) {
117 		min = 1; max = 10; step = 1; }
118 
119 	void set_notch(bool on, int val);
120 	bool get_notch(int &val);
121 	void get_notch_min_max_step(int &min, int &max, int &step);
122 
123 	void set_auto_notch(int v);
124 	int  get_auto_notch();
125 
126 //	bool sendTScommand(string, int, bool);
127 
128 	const char **bwtable(int);
129 	const char **lotable(int);
130 	const char **hitable(int);
131 
132 	const char * get_bwname_(int bw, int md);
133 
134 };
135 
136 
137 #endif
138