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 _IC7100_H
22 #define _IC7100_H
23 
24 #include "IC746.h"
25 
26 class RIG_IC7100 : public RIG_ICOM {
27 public:
28 	RIG_IC7100();
~RIG_IC7100()29 	~RIG_IC7100(){}
30 
31 	bool CW_sense;
32 
33 	void initialize();
34 
35 	void selectA();
36 	void selectB();
37 
38 	bool check();
39 
40 	unsigned long int get_vfoA ();
41 	void set_vfoA (unsigned long int freq);
42 
43 	unsigned long int get_vfoB(void);
44 	void set_vfoB(unsigned long int f);
45 
46 	void set_modeA(int val);
47 	int  get_modeA();
48 
49 	void set_modeB(int val);
50 	int  get_modeB();
51 
52 	void set_bwA(int val);
53 	int  get_bwA();
54 
55 	void set_bwB(int val);
56 	int  get_bwB();
57 
58 	int  adjust_bandwidth(int m);
59 	int  def_bandwidth(int m);
60 
61 	void set_attenuator( int val );
62 	int  get_attenuator();
63 
64 	void set_preamp(int val);
65 	int  next_preamp();
66 	int  get_preamp();
67 
68 	void set_mic_gain(int v);
69 	int  get_mic_gain();
70 	void get_mic_gain_min_max_step(int &min, int &max, int &step);
71 
72 	void set_noise(bool val);
73 	int get_noise();
74 
75 	void set_noise_reduction(int val);
76 	int get_noise_reduction();
77 
78 	void set_noise_reduction_val(int val);
79 	int get_noise_reduction_val();
get_nr_min_max_step(int & min,int & max,int & step)80 	void get_nr_min_max_step(int &min, int &max, int &step) {
81 		min = 0; max = 15; step = 1; }
82 
83 	void set_compression(int, int);
get_comp_min_max_step(int & min,int & max,int & step)84 	void get_comp_min_max_step(int &min, int &max, int &step) {
85 		min = 0; max = 10; step = 1; }
86 	void set_vox_onoff();
87 	void set_vox_gain();
88 	void set_vox_anti();
89 	void set_vox_hang();
get_vox_hang_min_max_step(int & min,int & max,int & step)90 	void get_vox_hang_min_max_step(int &min, int &max, int &step) {
91 		min = 0; max = 200; step = 10; }
92 
get_cw_wpm_min_max(int & min,int & max)93 	void get_cw_wpm_min_max(int &min, int &max) {
94 		min = 6; max = 48; }
95 
get_cw_qsk_min_max_step(double & min,double & max,double & step)96 	void get_cw_qsk_min_max_step(double &min, double &max, double &step) {
97 		min = 2.0; max = 13.0; step = 0.1; }
98 
get_cw_spot_tone_min_max_step(int & min,int & max,int & step)99 	void get_cw_spot_tone_min_max_step(int &min, int &max, int &step) {
100 		min = 300; max = 900; step = 5; }
101 
102 	void set_cw_wpm();
103 	void set_cw_qsk();
104 	void set_cw_spot_tone();
105 	void set_cw_vol();
106 	void set_break_in();
107 	int  get_break_in();
108 
109 	const char **bwtable(int m);
110 
canswap()111 	bool  canswap() { return true; }
112 
113 	bool can_split();
114 	void set_split(bool val);
115 	int get_split();
116 
117 	void set_PTT_control(int val);
118 	int  get_PTT();
119 
120 	void set_power_control(double val);
121 	int  get_power_control();
122 	void get_pc_min_max_step(double &min, double &max, double &step);
123 
124 	void set_volume_control(int val);
125 	int  get_volume_control();
126 	void get_vol_min_max_step(int &min, int &max, int &step);
127 
128 	void set_rf_gain(int val);
129 	int  get_rf_gain();
130 	void get_rf_min_max_step(double &min, double &max, double &step);
131 
132 	void set_squelch(int val);
133 	int  get_squelch();
134 
135 	int  get_smeter();
136 	int  get_alc();
137 	int  get_swr();
138 	int  get_power_out();
139 
140 	int  get_auto_notch();
141 	void set_auto_notch(int val);
142 
143 	bool get_notch(int &val);
144 	void set_notch(bool on, int val);
145 	void get_notch_min_max_step(int &min, int &max, int &step);
146 
147 	void set_if_shift(int val);
148 	bool get_if_shift(int &val);
149 	void get_if_min_max_step(int &min, int &max, int &step);
150 
151 	void set_pbt_inner(int val);
152 	void set_pbt_outer(int val);
153 
154 	int  get_pbt_inner();
155 	int  get_pbt_outer();
156 
157 	void set_nb_level(int val);
158 	int  get_nb_level();
159 
160 	void set_band_selection(int v);
161 	void get_band_selection(int v);
162 
163 	void   setVfoAdj(double v);
164 	double getVfoAdj();
165 
166 	int   get_FILT(int mode);
167 	void  set_FILT(int filter);
168 	const char *FILT(int val);
169 	const char *nextFILT();
170 	void  set_FILTERS(std::string s);
171 	std::string get_FILTERS();
172 
173 	void set_BANDWIDTHS(std::string s);
174 	std::string get_BANDWIDTHS();
175 
176 	void set_xcvr_auto_on();
177 	void set_xcvr_auto_off();
178 
179 };
180 
181 #endif
182